|
5 | 5 | from typing import Dict, Optional
|
6 | 6 |
|
7 | 7 | from langchain_anthropic import ChatAnthropic
|
| 8 | +from langchain_mistralai import ChatMistralAI |
8 | 9 | from langchain_google_genai import ChatGoogleGenerativeAI
|
9 | 10 | from langchain_ollama import ChatOllama
|
10 | 11 | from langchain_openai import AzureChatOpenAI, ChatOpenAI
|
@@ -46,6 +47,22 @@ def get_llm_model(provider: str, **kwargs):
|
46 | 47 | base_url=base_url,
|
47 | 48 | api_key=api_key,
|
48 | 49 | )
|
| 50 | + elif provider == 'mistral': |
| 51 | + if not kwargs.get("base_url", ""): |
| 52 | + base_url = os.getenv("MISTRAL_ENDPOINT", "https://api.mistral.ai/v1") |
| 53 | + else: |
| 54 | + base_url = kwargs.get("base_url") |
| 55 | + if not kwargs.get("api_key", ""): |
| 56 | + api_key = os.getenv("MISTRAL_API_KEY", "") |
| 57 | + else: |
| 58 | + api_key = kwargs.get("api_key") |
| 59 | + |
| 60 | + return ChatMistralAI( |
| 61 | + model=kwargs.get("model_name", "mistral-large-latest"), |
| 62 | + temperature=kwargs.get("temperature", 0.0), |
| 63 | + base_url=base_url, |
| 64 | + api_key=api_key, |
| 65 | + ) |
49 | 66 | elif provider == "openai":
|
50 | 67 | if not kwargs.get("base_url", ""):
|
51 | 68 | base_url = os.getenv("OPENAI_ENDPOINT", "https://api.openai.com/v1")
|
@@ -127,7 +144,8 @@ def get_llm_model(provider: str, **kwargs):
|
127 | 144 | "deepseek": ["deepseek-chat", "deepseek-reasoner"],
|
128 | 145 | "gemini": ["gemini-2.0-flash-exp", "gemini-2.0-flash-thinking-exp", "gemini-1.5-flash-latest", "gemini-1.5-flash-8b-latest", "gemini-2.0-flash-thinking-exp-1219" ],
|
129 | 146 | "ollama": ["qwen2.5:7b", "llama2:7b", "deepseek-r1:14b", "deepseek-r1:32b"],
|
130 |
| - "azure_openai": ["gpt-4o", "gpt-4", "gpt-3.5-turbo"] |
| 147 | + "azure_openai": ["gpt-4o", "gpt-4", "gpt-3.5-turbo"], |
| 148 | + "mistral": ["pixtral-large-latest", "mistral-large-latest", "mistral-small-latest", "ministral-8b-latest"] |
131 | 149 | }
|
132 | 150 |
|
133 | 151 | # Callback to update the model name dropdown based on the selected provider
|
|
0 commit comments