替换embedding模型

This commit is contained in:
朱潮 2025-11-20 22:45:11 +08:00
parent 1dd15185d6
commit 9b8c07a2e6
4 changed files with 8 additions and 9 deletions

View File

@ -39,7 +39,7 @@ RUN mkdir -p /app/public
RUN mkdir -p /app/models
# 下载sentence-transformers模型到models目录
RUN python -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2'); model.save('/app/models/paraphrase-multilingual-MiniLM-L12-v2')"
RUN python -c "from sentence_transformers import SentenceTransformer; model = SentenceTransformer('TaylorAI/gte-tiny'); model.save('/app/models/gte-tiny')"
# 暴露端口
EXPOSE 8001

View File

@ -40,7 +40,7 @@ RUN mkdir -p /app/public
RUN mkdir -p /app/models
# 从modelscope下载sentence-transformers模型到models目录
#RUN python -c "from modelscope import snapshot_download; model_dir = snapshot_download('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2'); import shutil; shutil.move(model_dir, '/app/models/paraphrase-multilingual-MiniLM-L12-v2')"
#RUN python -c "from modelscope import snapshot_download; model_dir = snapshot_download('TaylorAI/gte-tiny'); import shutil; shutil.move(model_dir, '/app/models/gte-tiny')"
# 复制应用代码
COPY . .

View File

@ -25,9 +25,9 @@ logger = logging.getLogger(__name__)
class GlobalModelManager:
"""全局模型管理器"""
def __init__(self, model_name: str = 'sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2'):
def __init__(self, model_name: str = 'TaylorAI/gte-tiny'):
self.model_name = model_name
self.local_model_path = "./models/paraphrase-multilingual-MiniLM-L12-v2"
self.local_model_path = "./models/gte-tiny"
self._model: Optional[SentenceTransformer] = None
self._lock = asyncio.Lock()
self._load_time = 0
@ -64,8 +64,7 @@ class GlobalModelManager:
None,
lambda: SentenceTransformer(
model_path,
device=self._device,
truncate_dim=128
device=self._device
)
)
@ -126,6 +125,6 @@ def get_model_manager() -> GlobalModelManager:
"""获取模型管理器实例"""
global _model_manager
if _model_manager is None:
model_name = os.getenv("SENTENCE_TRANSFORMER_MODEL", "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
model_name = os.getenv("SENTENCE_TRANSFORMER_MODEL", "TaylorAI/gte-tiny")
_model_manager = GlobalModelManager(model_name)
return _model_manager

View File

@ -198,7 +198,7 @@ def merge_embeddings_by_group(unique_id: str, group_name: str) -> Dict:
dimensions = 0
chunking_strategy = 'unknown'
chunking_params = {}
model_path = 'sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2'
model_path = 'TaylorAI/gte-tiny'
for filename_stem, embedding_path in sorted(embedding_files):
try: