19
19
"azure_openai" : "Azure OpenAI" ,
20
20
"anthropic" : "Anthropic" ,
21
21
"deepseek" : "DeepSeek" ,
22
- "google" : "Google"
22
+ "google" : "Google" ,
23
+ "alibaba" : "Alibaba"
23
24
}
24
25
25
26
def get_llm_model (provider : str , ** kwargs ):
@@ -136,9 +137,21 @@ def get_llm_model(provider: str, **kwargs):
136
137
azure_endpoint = base_url ,
137
138
api_key = api_key ,
138
139
)
140
+ elif provider == "alibaba" :
141
+ if not kwargs .get ("base_url" , "" ):
142
+ base_url = os .getenv ("ALIBABA_ENDPOINT" , "https://dashscope.aliyuncs.com/compatible-mode/v1" )
143
+ else :
144
+ base_url = kwargs .get ("base_url" )
145
+
146
+ return ChatOpenAI (
147
+ model = kwargs .get ("model_name" , "qwen-plus" ),
148
+ temperature = kwargs .get ("temperature" , 0.0 ),
149
+ base_url = base_url ,
150
+ api_key = api_key ,
151
+ )
139
152
else :
140
153
raise ValueError (f"Unsupported provider: { provider } " )
141
-
154
+
142
155
# Predefined model names for common providers
143
156
model_names = {
144
157
"anthropic" : ["claude-3-5-sonnet-20240620" , "claude-3-opus-20240229" ],
@@ -147,7 +160,8 @@ def get_llm_model(provider: str, **kwargs):
147
160
"google" : ["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-01-21" ],
148
161
"ollama" : ["qwen2.5:7b" , "llama2:7b" , "deepseek-r1:14b" , "deepseek-r1:32b" ],
149
162
"azure_openai" : ["gpt-4o" , "gpt-4" , "gpt-3.5-turbo" ],
150
- "mistral" : ["pixtral-large-latest" , "mistral-large-latest" , "mistral-small-latest" , "ministral-8b-latest" ]
163
+ "mistral" : ["pixtral-large-latest" , "mistral-large-latest" , "mistral-small-latest" , "ministral-8b-latest" ],
164
+ "alibaba" : ["qwen-plus" , "qwen-max" , "qwen-turbo" , "qwen-long" ]
151
165
}
152
166
153
167
# Callback to update the model name dropdown based on the selected provider
0 commit comments