Skip to main content
Open on GitHub

NVIDIA

langchain-nvidia-ai-endpoints 包包含使用 NVIDIA NIM 推理微服务上的模型构建应用程序的 LangChain 集成。NIM 支持来自社区以及 NVIDIA 的聊天、嵌入和重排序模型等领域的模型。这些模型由 NVIDIA 优化,可在 NVIDIA 加速基础设施上提供最佳性能,并部署为 NIM。NIM 是易于使用的预构建容器,只需一条命令即可在 NVIDIA 加速基础设施上的任何位置进行部署。

NVIDIA 托管的 NIM 部署可在 NVIDIA API 目录上进行测试。测试后,可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录导出 NIM,并在本地或云端运行,从而使企业能够拥有并完全控制其 IP 和 AI 应用程序。

NIM 按模型打包为容器镜像,并通过 NVIDIA NGC Catalog 以 NGC 容器镜像的形式分发。NIM 的核心是提供简单、一致且熟悉的 API 来运行 AI 模型的推理。

以下是一个示例,说明如何使用围绕文本生成和嵌入模型的常见功能。

安装

pip install -U --quiet langchain-nvidia-ai-endpoints

设置

开始之前:

  1. NVIDIA 上创建一个免费帐户,NVIDIA 托管着 NVIDIA AI Foundation 模型。

  2. 点击您选择的模型。

  3. 在“输入”下选择“Python”选项卡,然后点击“获取 API 密钥”。接着点击“生成密钥”。

  4. 复制生成的密钥并将其保存为 NVIDIA_API_KEY。之后,您应该可以访问端点。

import getpass
import os

if not os.environ.get("NVIDIA_API_KEY", "").startswith("nvapi-"):
nvidia_api_key = getpass.getpass("请输入您的 NVIDIA API 密钥: ")
assert nvidia_api_key.startswith("nvapi-"), f"{nvidia_api_key[:5]}... 不是有效的密钥"
os.environ["NVIDIA_API_KEY"] = nvidia_api_key

使用 NVIDIA API 目录

from langchain_nvidia_ai_endpoints import ChatNVIDIA

llm = ChatNVIDIA(model="mistralai/mixtral-8x22b-instruct-v0.1")
result = llm.invoke("写一首关于 LangChain 的民谣。")
print(result.content)
API Reference:ChatNVIDIA

您可以使用该 API 查询 NVIDIA API 目录上的实时端点,以从 DGX 托管的云计算环境中快速获得结果。所有模型都是源代码可访问的,并可以使用 NVIDIA NIM 在您自己的计算集群上进行部署。NIM 是 NVIDIA AI Enterprise 的一部分,将在下一节“使用 NVIDIA NIM”中展示。

使用 NVIDIA NIM

准备部署时,您可以使用 NVIDIA NIM 自行托管模型。NIM 包含在 NVIDIA AI Enterprise 软件许可证中,可用于在任何地方运行模型,让您能够拥有自己的自定义并完全控制您的知识产权 (IP) 和 AI 应用程序。

了解有关 NIM 的更多信息

from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings, NVIDIARerank

# 连接到在 localhost:8000 上运行的聊天 NIM,并指定模型
llm = ChatNVIDIA(base_url="http://localhost:8000/v1", model="meta/llama3-8b-instruct")

# 连接到在 localhost:8080 上运行的嵌入 NIM
embedder = NVIDIAEmbeddings(base_url="http://localhost:8080/v1")

# 连接到在 localhost:2016 上运行的重排序 NIM
ranker = NVIDIARerank(base_url="http://localhost:2016/v1")

使用 NVIDIA AI Foundation 端点

LangChain 直接支持精选的 NVIDIA AI Foundation 模型,并提供熟悉的 API。

支持的活动模型可以在 API 目录中找到。

以下示例可能对您开始有所帮助: