|
27 | 27 | UiPathBaseEmbeddings, |
28 | 28 | ) |
29 | 29 | from uipath_langchain_client.settings import ( |
| 30 | + _API_FLAVOR_TO_VENDOR_TYPE, |
30 | 31 | ApiFlavor, |
31 | 32 | RoutingMode, |
32 | 33 | UiPathBaseSettings, |
@@ -139,8 +140,15 @@ def get_chat_model( |
139 | 140 | **model_kwargs, |
140 | 141 | ) |
141 | 142 |
|
142 | | - discovered_vendor = model_info["vendor"].lower() |
143 | | - match discovered_vendor: |
| 143 | + discovered_vendor_type = model_info.get("vendor", None) |
| 144 | + discovered_api_flavor = model_info.get("apiFlavor", None) |
| 145 | + if discovered_vendor_type is None and discovered_api_flavor is not None: |
| 146 | + discovered_vendor_type = _API_FLAVOR_TO_VENDOR_TYPE.get(discovered_api_flavor, None) |
| 147 | + if discovered_vendor_type is None: |
| 148 | + raise ValueError("No vendor type or api flavor found in model info") |
| 149 | + discovered_vendor_type = discovered_vendor_type.lower() |
| 150 | + |
| 151 | + match discovered_vendor_type: |
144 | 152 | case VendorType.OPENAI: |
145 | 153 | if api_flavor == ApiFlavor.RESPONSES: |
146 | 154 | model_kwargs["use_responses_api"] = True |
@@ -176,7 +184,7 @@ def get_chat_model( |
176 | 184 | return UiPathChatAnthropic( |
177 | 185 | model=model_name, |
178 | 186 | settings=client_settings, |
179 | | - vendor_type=discovered_vendor, |
| 187 | + vendor_type=discovered_vendor_type, |
180 | 188 | byo_connection_id=byo_connection_id, |
181 | 189 | **model_kwargs, |
182 | 190 | ) |
@@ -229,7 +237,7 @@ def get_chat_model( |
229 | 237 |
|
230 | 238 | case _: |
231 | 239 | raise ValueError( |
232 | | - f"Invalid vendor type: {discovered_vendor}, we don't currently have clients that support this vendor" |
| 240 | + f"Invalid vendor type: {discovered_vendor_type}, we don't currently have clients that support this vendor" |
233 | 241 | ) |
234 | 242 |
|
235 | 243 |
|
@@ -290,8 +298,8 @@ def get_embedding_model( |
290 | 298 | **model_kwargs, |
291 | 299 | ) |
292 | 300 |
|
293 | | - discovered_vendor = model_info["vendor"].lower() |
294 | | - match discovered_vendor: |
| 301 | + discovered_vendor_type = model_info["vendor"].lower() |
| 302 | + match discovered_vendor_type: |
295 | 303 | case VendorType.OPENAI: |
296 | 304 | if is_uipath_owned: |
297 | 305 | from uipath_langchain_client.clients.openai.embeddings import ( |
@@ -340,5 +348,5 @@ def get_embedding_model( |
340 | 348 | ) |
341 | 349 | case _: |
342 | 350 | raise ValueError( |
343 | | - f"Invalid vendor type: {discovered_vendor}, we don't currently have clients that support this vendor" |
| 351 | + f"Invalid vendor type: {discovered_vendor_type}, we don't currently have clients that support this vendor" |
344 | 352 | ) |
0 commit comments