Sarp Bilgiç commited on
Commit
578593a
·
1 Parent(s): adbfe32

Dockerfile model load and import fix

Browse files
Dockerfile CHANGED
@@ -11,8 +11,15 @@ COPY requirements-prod.txt .
11
  RUN pip install --no-cache-dir -r requirements-prod.txt
12
 
13
  RUN python -c "\
14
- from fastembed import TextEmbedding; \
15
  TextEmbedding(model_name='intfloat/multilingual-e5-large', cache_dir='./model_cache'); \
 
 
 
 
 
 
 
16
  "
17
 
18
  COPY . .
 
11
  RUN pip install --no-cache-dir -r requirements-prod.txt
12
 
13
  RUN python -c "\
14
+ from fastembed import TextEmbedding, SparseTextEmbedding; \
15
  TextEmbedding(model_name='intfloat/multilingual-e5-large', cache_dir='./model_cache'); \
16
+ SparseTextEmbedding(model_name='prithivida/Splade_PP_en_v1', cache_dir='./model_cache'); \
17
+ "
18
+
19
+ RUN python -c "\
20
+ try: from fastembed.rerank.cross_encoder import TextCrossEncoder; \
21
+ except ImportError: from fastembed import TextCrossEncoder; \
22
+ TextCrossEncoder(model_name='BAAI/bge-reranker-v2-m3', cache_dir='./model_cache'); \
23
  "
24
 
25
  COPY . .
src/clients/__init__.py CHANGED
@@ -3,7 +3,6 @@ from src.clients.embedding_client import EmbeddingClient
3
  from src.clients.sparse_embedding_client import SparseEmbeddingClient
4
  from src.clients.qdrant import QdrantClientManager
5
  from src.clients.redis import RedisClient
6
- from src.clients.reranker_client import RerankerClient
7
 
8
  __all__ = [
9
  "LLMClient",
@@ -11,5 +10,4 @@ __all__ = [
11
  "SparseEmbeddingClient",
12
  "QdrantClientManager",
13
  "RedisClient",
14
- "RerankerClient",
15
  ]
 
3
  from src.clients.sparse_embedding_client import SparseEmbeddingClient
4
  from src.clients.qdrant import QdrantClientManager
5
  from src.clients.redis import RedisClient
 
6
 
7
  __all__ = [
8
  "LLMClient",
 
10
  "SparseEmbeddingClient",
11
  "QdrantClientManager",
12
  "RedisClient",
 
13
  ]
src/clients/reranker_client.py CHANGED
@@ -1,9 +1,14 @@
1
- from fastembed import TextCrossEncoder
2
  from typing import Optional
3
  import logging
4
 
5
  logger = logging.getLogger(__name__)
6
 
 
 
 
 
 
 
7
 
8
  class RerankerClient:
9
  DEFAULT_MODEL = "BAAI/bge-reranker-v2-m3"
 
 
1
  from typing import Optional
2
  import logging
3
 
4
  logger = logging.getLogger(__name__)
5
 
6
+ # fastembed changed import paths across versions
7
+ try:
8
+ from fastembed.rerank.cross_encoder import TextCrossEncoder
9
+ except ImportError:
10
+ from fastembed import TextCrossEncoder
11
+
12
 
13
  class RerankerClient:
14
  DEFAULT_MODEL = "BAAI/bge-reranker-v2-m3"