dhammawatthumpra commited on
Commit
308d07e
·
1 Parent(s): 4ffb8ff

fix: pass task='retrieval.query' to SentenceTransformers encode when using Jina or fine-tuned embedding models to prevent Task missing error

Browse files
webapp/tipitaka-api/app/services/rag_service.py CHANGED
@@ -144,8 +144,12 @@ class RAGService:
144
  from sentence_transformers import SentenceTransformer
145
  self._st_model = SentenceTransformer(settings.ST_EMBED_MODEL, trust_remote_code=True)
146
 
 
 
 
 
147
  embeddings = self._st_model.encode(
148
- missing_texts, normalize_embeddings=True, show_progress_bar=False
149
  ).tolist()
150
  for idx, emb in zip(missing_indices, embeddings):
151
  self._store_cache(texts[idx], emb)
 
144
  from sentence_transformers import SentenceTransformer
145
  self._st_model = SentenceTransformer(settings.ST_EMBED_MODEL, trust_remote_code=True)
146
 
147
+ encode_kwargs = {}
148
+ if "jina" in settings.ST_EMBED_MODEL.lower() or "finetune" in settings.ST_EMBED_MODEL.lower():
149
+ encode_kwargs["task"] = "retrieval.query"
150
+
151
  embeddings = self._st_model.encode(
152
+ missing_texts, normalize_embeddings=True, show_progress_bar=False, **encode_kwargs
153
  ).tolist()
154
  for idx, emb in zip(missing_indices, embeddings):
155
  self._store_cache(texts[idx], emb)