ChatNVIDIA 功能和配置的详细文档,请参阅 API 参考。
概览
langchain-nvidia-ai-endpoints 包包含 LangChain 集成,用于使用 NVIDIA NIM 推理微服务上的模型构建应用程序。NIM 支持来自社区和 NVIDIA 的跨领域模型,如聊天、嵌入和重新排序模型。这些模型经过 NVIDIA 优化,可在 NVIDIA 加速基础设施上提供最佳性能,并作为 NIM 部署,NIM 是一种易于使用的预构建容器,可使用 NVIDIA 加速基础设施上的单个命令部署到任何位置。 NVIDIA 托管的 NIM 部署可在 NVIDIA API 目录上进行测试。测试后,NIM 可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录导出,并在本地或云端运行,从而使企业拥有并完全控制其 IP 和 AI 应用程序。 NIM 作为容器镜像打包,按模型分发,并通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。NIM 的核心是为在 AI 模型上运行推理提供简单、一致且熟悉的 API。 本示例介绍了如何使用 LangChain 通过 ChatNVIDIA 类与 NVIDIA 支持的模型进行交互。 有关通过此 API 访问聊天模型的更多信息,请查阅 ChatNVIDIA 文档。集成详情
| 类别 | 包 | 本地 | 可序列化 | JS 支持 | 下载量 | 版本 |
|---|---|---|---|---|---|---|
| ChatNVIDIA | langchain-nvidia-ai-endpoints | ✅ | 测试版 | ❌ |
模型功能
设置
入门- 在托管 NVIDIA AI Foundation 模型的 NVIDIA 创建一个免费帐户。
- 点击您选择的模型。
-
在
Input下选择Python选项卡,然后点击Get API Key。然后点击Generate Key。 -
复制并保存生成的密钥为
NVIDIA_API_KEY。从那里,您应该可以访问端点。
凭据
安装
LangChain NVIDIA AI 端点集成位于langchain-nvidia-ai-endpoints 包中
实例化
现在我们可以访问 NVIDIA API 目录中的模型调用
使用 NVIDIA NIM
准备部署时,您可以使用 NVIDIA NIM(包含在 NVIDIA AI Enterprise 软件许可证中)自托管模型,并在任何地方运行它们,从而让您拥有自定义的所有权并完全控制您的知识产权 (IP) 和 AI 应用程序。 了解更多关于 NIM 的信息流式、批处理和异步
这些模型原生支持流式传输,并且与所有 LangChain LLM 一样,它们公开了一个批处理方法来处理并发请求,以及用于调用、流式传输和批处理的异步方法。以下是一些示例。支持的模型
查询available_models 仍将为您提供 API 凭据提供的所有其他模型。 playground_ 前缀是可选的。模型类型
以上所有模型都受支持,并且可以通过ChatNVIDIA 访问。 某些模型类型支持独特的提示技术和聊天消息。我们将在下面回顾几个重要的模型。 要了解有关特定模型的更多信息,请导航到 AI 基础模型的 API 部分,链接在此处。通用聊天
诸如meta/llama3-8b-instruct 和 mistralai/mixtral-8x22b-instruct-v0.1 之类的模型是通用模型,您可以将它们用于任何 LangChain 聊天消息。示例如下。
代码生成
这些模型接受与常规聊天模型相同的参数和输入结构,但它们在代码生成和结构化代码任务上表现更好。一个例子是meta/codellama-70b。
多模态
NVIDIA 还支持多模态输入,这意味着您可以提供图像和文本供模型进行推理。支持多模态输入的示例模型是nvidia/neva-22b。 以下是一个使用示例:通过 URL 传递图像
通过 base64 编码字符串传递图像
目前,客户端会进行一些额外处理以支持更大的图像,例如上面的图像。但对于较小的图像(为了更好地说明底层过程),我们可以直接传入图像,如下所示直接在字符串中
NVIDIA API 独特地接受在<img/> HTML 标签中内联的 base64 图像。虽然这与其他 LLM 不兼容,但您可以相应地直接提示模型。
在 RunnableWithMessageHistory 中的示例用法
与任何其他集成一样,ChatNVIDIA 很好地支持聊天实用程序,例如 RunnableWithMessageHistory,它类似于使用ConversationChain。下面,我们展示了应用于 mistralai/mixtral-8x22b-instruct-v0.1 模型的 LangChain RunnableWithMessageHistory 示例。
工具调用
从 v0.2 开始,ChatNVIDIA 支持 bind_tools。 ChatNVIDIA 提供了与 build.nvidia.com 上的各种模型以及本地 NIM 的集成。并非所有这些模型都经过工具调用训练。请务必为您的实验和应用程序选择支持工具调用的模型。 您可以使用以下命令获取已知支持工具调用的模型列表:API 参考
有关所有ChatNVIDIA 功能和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/nvidia_ai_endpoints/chat_models/langchain_nvidia_ai_endpoints.chat_models.ChatNVIDIA.html
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。