Make it optional to set the encoder, cross-encoder configs via admin UI

Upgrade sentence-transformer, add einops dependency for some sentence
transformer models like nomic
This commit is contained in:
Debanjum Singh Solanky 2024-07-05 16:07:42 +05:30
parent 6d59ad7fc9
commit a353d883a0
2 changed files with 5 additions and 4 deletions

View file

@ -52,7 +52,8 @@ dependencies = [
"pyyaml ~= 6.0", "pyyaml ~= 6.0",
"rich >= 13.3.1", "rich >= 13.3.1",
"schedule == 1.1.0", "schedule == 1.1.0",
"sentence-transformers == 2.5.1", "sentence-transformers == 3.0.1",
"einops == 0.8.0",
"transformers >= 4.28.0", "transformers >= 4.28.0",
"torch == 2.2.2", "torch == 2.2.2",
"uvicorn == 0.17.6", "uvicorn == 0.17.6",

View file

@ -215,11 +215,11 @@ class SearchModelConfig(BaseModel):
# Bi-encoder model of sentence-transformer type to load from HuggingFace # Bi-encoder model of sentence-transformer type to load from HuggingFace
bi_encoder = models.CharField(max_length=200, default="thenlper/gte-small") bi_encoder = models.CharField(max_length=200, default="thenlper/gte-small")
# Config passed to the sentence-transformer model constructor. E.g. device="cuda:0", trust_remote_server=True etc. # Config passed to the sentence-transformer model constructor. E.g. device="cuda:0", trust_remote_server=True etc.
bi_encoder_model_config = models.JSONField(default=dict) bi_encoder_model_config = models.JSONField(default=dict, blank=True)
# Query encode configs like prompt, precision, normalize_embeddings, etc. for sentence-transformer models # Query encode configs like prompt, precision, normalize_embeddings, etc. for sentence-transformer models
bi_encoder_query_encode_config = models.JSONField(default=dict) bi_encoder_query_encode_config = models.JSONField(default=dict, blank=True)
# Docs encode configs like prompt, precision, normalize_embeddings, etc. for sentence-transformer models # Docs encode configs like prompt, precision, normalize_embeddings, etc. for sentence-transformer models
bi_encoder_docs_encode_config = models.JSONField(default=dict) bi_encoder_docs_encode_config = models.JSONField(default=dict, blank=True)
# Cross-encoder model of sentence-transformer type to load from HuggingFace # Cross-encoder model of sentence-transformer type to load from HuggingFace
cross_encoder = models.CharField(max_length=200, default="mixedbread-ai/mxbai-rerank-xsmall-v1") cross_encoder = models.CharField(max_length=200, default="mixedbread-ai/mxbai-rerank-xsmall-v1")
# Inference server API endpoint to use for embeddings inference. Bi-encoder model should be hosted on this server # Inference server API endpoint to use for embeddings inference. Bi-encoder model should be hosted on this server