@@ -24,7 +24,7 @@ class EmbeddingsProvider(Enum):
2424 HUGGINGFACETEI = "huggingfacetei"
2525 OLLAMA = "ollama"
2626 BEDROCK = "bedrock"
27-
27+ MISTRAL = "mistral"
2828
2929def get_env_variable (
3030 var_name : str , default_value : str = None , required : bool = False
@@ -169,6 +169,7 @@ async def dispatch(self, request, call_next):
169169OLLAMA_BASE_URL = get_env_variable ("OLLAMA_BASE_URL" , "http://ollama:11434" )
170170AWS_ACCESS_KEY_ID = get_env_variable ("AWS_ACCESS_KEY_ID" , "" )
171171AWS_SECRET_ACCESS_KEY = get_env_variable ("AWS_SECRET_ACCESS_KEY" , "" )
172+ MISTRAL_API_KEY = get_env_variable ("MISTRAL_API_KEY" , "" )
172173
173174## Embeddings
174175
@@ -219,6 +220,13 @@ def init_embeddings(provider, model):
219220 model_id = model ,
220221 region_name = AWS_DEFAULT_REGION ,
221222 )
223+ elif provider == EmbeddingsProvider .MISTRAL :
224+ from langchain_mistralai import MistralAIEmbeddings
225+
226+ return MistralAIEmbeddings (
227+ model = model ,
228+ api_key = MISTRAL_API_KEY ,
229+ )
222230 else :
223231 raise ValueError (f"Unsupported embeddings provider: { provider } " )
224232
@@ -246,6 +254,10 @@ def init_embeddings(provider, model):
246254 "EMBEDDINGS_MODEL" , "amazon.titan-embed-text-v1"
247255 )
248256 AWS_DEFAULT_REGION = get_env_variable ("AWS_DEFAULT_REGION" , "us-east-1" )
257+ elif EMBEDDINGS_PROVIDER == EmbeddingsProvider .MISTRAL :
258+ EMBEDDINGS_MODEL = get_env_variable (
259+ "EMBEDDINGS_MODEL" , "mistral-embed"
260+ )
249261else :
250262 raise ValueError (f"Unsupported embeddings provider: { EMBEDDINGS_PROVIDER } " )
251263
0 commit comments