|
14 | 14 | from langchain_google_genai.embeddings import GoogleGenerativeAIEmbeddings |
15 | 15 | from langchain_fireworks import FireworksEmbeddings |
16 | 16 | from langchain_openai import AzureOpenAIEmbeddings, OpenAIEmbeddings |
| 17 | +from langchain_nvidia_ai_endpoints import NVIDIAEmbeddings |
17 | 18 | from ..helpers import models_tokens |
18 | 19 | from ..models import ( |
19 | 20 | Anthropic, |
|
26 | 27 | OpenAI, |
27 | 28 | OneApi, |
28 | 29 | Fireworks, |
29 | | - VertexAI |
| 30 | + VertexAI, |
| 31 | + Nvidia |
30 | 32 | ) |
31 | 33 | from ..models.ernie import Ernie |
32 | 34 | from ..utils.logging import set_verbosity_debug, set_verbosity_warning, set_verbosity_info |
@@ -180,6 +182,13 @@ def _create_llm(self, llm_config: dict, chat=False) -> object: |
180 | 182 | except KeyError as exc: |
181 | 183 | raise KeyError("Model not supported") from exc |
182 | 184 | return AzureOpenAI(llm_params) |
| 185 | + elif "nvidia" in llm_params["model"]: |
| 186 | + try: |
| 187 | + self.model_token = models_tokens["nvidia"][llm_params["model"].split("/")[-1]] |
| 188 | + llm_params["model"] = "/".join(llm_params["model"].split("/")[1:]) |
| 189 | + except KeyError as exc: |
| 190 | + raise KeyError("Model not supported") from exc |
| 191 | + return Nvidia(llm_params) |
183 | 192 | elif "gemini" in llm_params["model"]: |
184 | 193 | llm_params["model"] = llm_params["model"].split("/")[-1] |
185 | 194 | try: |
@@ -305,6 +314,8 @@ def _create_default_embedder(self, llm_config=None) -> object: |
305 | 314 | return AzureOpenAIEmbeddings() |
306 | 315 | elif isinstance(self.llm_model, Fireworks): |
307 | 316 | return FireworksEmbeddings(model=self.llm_model.model_name) |
| 317 | + elif isinstance(self.llm_model, Nvidia): |
| 318 | + return NVIDIAEmbeddings(model=self.llm_model.model_name) |
308 | 319 | elif isinstance(self.llm_model, Ollama): |
309 | 320 | # unwrap the kwargs from the model whihc is a dict |
310 | 321 | params = self.llm_model._lc_kwargs |
@@ -341,6 +352,14 @@ def _create_embedder(self, embedder_config: dict) -> object: |
341 | 352 | return OpenAIEmbeddings(api_key=embedder_params["api_key"]) |
342 | 353 | elif "azure" in embedder_params["model"]: |
343 | 354 | return AzureOpenAIEmbeddings() |
| 355 | + if "nvidia" in embedder_params["model"]: |
| 356 | + embedder_params["model"] = "/".join(embedder_params["model"].split("/")[1:]) |
| 357 | + try: |
| 358 | + models_tokens["nvidia"][embedder_params["model"]] |
| 359 | + except KeyError as exc: |
| 360 | + raise KeyError("Model not supported") from exc |
| 361 | + return NVIDIAEmbeddings(model=embedder_params["model"], |
| 362 | + nvidia_api_key=embedder_params["api_key"]) |
344 | 363 | elif "ollama" in embedder_params["model"]: |
345 | 364 | embedder_params["model"] = "/".join(embedder_params["model"].split("/")[1:]) |
346 | 365 | try: |
|
0 commit comments