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