ChatNVIDIA 所有功能和配置的详细文档,请参阅 API 参考。
概述
langchain-nvidia-ai-endpoints 包包含 LangChain 与 NVIDIA AI Foundation 模型 支持的聊天模型和嵌入模型的集成,托管于 NVIDIA API Catalog。
推荐的起点是 Nemotron,这是 NVIDIA 专为智能体 AI 打造的开放模型系列。Nemotron 模型采用混合 Mamba-Transformer 专家混合架构,在提供领先精度的同时,吞吐量比同类模型高出最多 3 倍,支持最多 100 万 token 的上下文窗口。模型权重、训练数据和实现方案均在 NVIDIA 开放模型许可证下公开发布。
NVIDIA AI Foundation 模型运行在 NIM 微服务上:通过 NVIDIA NGC Catalog 分发的容器镜像,提供标准 OpenAI 兼容 API,并使用 TensorRT-LLM 进行最大吞吐量优化。可通过托管的 NVIDIA API Catalog 访问,或通过 NVIDIA AI Enterprise 许可证在本地部署。
本页面介绍如何使用 LangChain 通过 ChatNVIDIA 与 NVIDIA 模型交互,包括 Nemotron 和 API Catalog 中的其他模型。
有关通过此 API 访问嵌入模型的更多信息,请参阅 NVIDIAEmbeddings 文档。
集成详情
| 类 | 包 | 可序列化 | JS 支持 | 下载量 | 版本 |
|---|---|---|---|---|---|
| ChatNVIDIA | langchain-nvidia-ai-endpoints | beta | ❌ |
模型特性
安装包
访问 NVIDIA API Catalog
要访问 NVIDIA API Catalog,请执行以下操作:- 在 NVIDIA API Catalog 创建免费账户并登录。
- 点击您的个人资料图标,然后点击 API Keys。出现 API Keys 页面。
- 点击 Generate API Key。出现 Generate API Key 窗口。
- 点击 Generate Key。您应看到 API Key Granted,并显示您的密钥。
- 复制并保存密钥为
NVIDIA_API_KEY。 - 使用以下代码验证您的密钥。
实例化
现在我们可以访问 NVIDIA API Catalog 中的模型。Nemotron 模型是智能体和推理工作负载的推荐起点:调用
使用 NVIDIA NIM 微服务自托管
当您准备好部署 AI 应用程序时,可以使用 NVIDIA NIM 自托管模型。更多信息请参阅 NVIDIA NIM 微服务。 以下代码连接到本地托管的 NIM 微服务。流式传输、批量处理与异步
这些模型原生支持流式传输,与所有 LangChain LLM 一样,它们提供批量处理方法以处理并发请求,以及用于 invoke、stream 和 batch 的异步方法。以下是几个示例。支持的模型
查询available_models 仍会返回您的 API 凭据所能访问的所有其他模型。
playground_ 前缀是可选的。
模型类型
以上所有模型均受支持,可通过ChatNVIDIA 访问。
某些模型类型支持独特的提示技术和聊天消息。下面我们将回顾几个重要的类型。
要了解特定模型的更多信息,请导航至 AI Foundation 模型的 API 部分,如此处所链接。
用于智能体 AI 的 Nemotron 模型
Nemotron 是 NVIDIA 专为智能体工作流打造的开放模型系列。主要特性:- 高效性:混合 Mamba-Transformer MoE 架构,吞吐量比同类密集模型高出最多 3 倍
- 长上下文:原生支持最多 100 万 token 的上下文窗口
- 智能体推理:专为多步骤规划、工具使用和自主软件工程任务训练
- 开放:权重、训练方案和精选数据集在 NVIDIA 开放模型许可证下发布
通用聊天
meta/llama3-8b-instruct 和 mistralai/mixtral-8x22b-instruct-v0.1 等模型是出色的通用模型,可与任何 LangChain 聊天消息一起使用。示例如下。
代码生成
这些模型接受与普通聊天模型相同的参数和输入结构,但在代码生成和结构化代码任务上表现更好。例如meta/codellama-70b。
多模态
NVIDIA 还支持多模态输入,即您可以同时提供图像和文本供模型推理。支持多模态输入的示例模型是nvidia/neva-22b。
使用示例如下:
以 URL 方式传入图像
以 base64 编码字符串方式传入图像
目前,客户端会对上述较大的图像进行额外处理。但对于较小的图像(也为了更好地说明底层过程),我们可以直接传入图像,如下所示:直接在字符串中传入
NVIDIA API 独特地支持将图像作为 base64 图像内联在<img/> HTML 标签中。虽然这与其他 LLM 不兼容,但您可以直接按如下方式提示模型。
在 RunnableWithMessageHistory 中的使用示例
与其他集成一样,ChatNVIDIA 可以很好地支持 RunnableWithMessageHistory 等聊天工具,其功能类似于使用ConversationChain。以下示例将 LangChain RunnableWithMessageHistory 应用于 mistralai/mixtral-8x22b-instruct-v0.1 模型。
工具调用
从 v0.2 开始,ChatNVIDIA 支持 bind_tools。
ChatNVIDIA 集成了 build.nvidia.com 上的多种模型以及本地 NIM。并非所有这些模型都经过工具调用训练。请务必选择支持工具调用的模型进行实验和应用开发。
您可以通过以下方式获取已知支持工具调用的模型列表:
与 NVIDIA Dynamo 配合使用
NVIDIA Dynamo 是一个分布式推理服务框架,专为在多节点环境中以数据中心规模部署模型而构建。它通过将推理的各个阶段分散到不同 GPU 上来简化和自动化分布式服务的复杂性,智能地将请求路由到适当的 GPU 以避免冗余计算,并通过数据缓存到经济高效的存储层来扩展 GPU 内存。ChatNVIDIADynamo 是 ChatNVIDIA 的即插即用替代品,可在每个请求中自动注入 nvext.agent_hints。这些提示告知 Dynamo 部署:
osl(输出序列长度)——预期的 token 数量,以便调度器规划内存分配iat(到达间隔时间)——请求到达的速度,以便路由器预测负载latency_sensitivity——请求的延迟敏感程度,以便交互式调用获得优先路由priority——请求优先级,以便后台工作可以让步于关键路径请求
prefix_id,使路由器能够跟踪 KV 缓存亲和性。
本节假设您已有运行中的 NVIDIA Dynamo 部署。
基本用法
将ChatNVIDIA 替换为 ChatNVIDIADynamo,每个请求将自动包含路由提示。支持所有标准 ChatNVIDIA 参数。
ChatNVIDIADynamo 在 ChatNVIDIA 支持的参数之外还接受四个额外参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
osl | int | 512 | 预期输出序列长度(token 数) |
iat | int | 250 | 预期到达间隔时间(毫秒) |
latency_sensitivity | float | 1.0 | 延迟敏感度越高,优先级路由越高 |
priority | int | 1 | 优先级设置越低,调度优先级越高 |
在构建时设置默认值
在创建模型实例时配置 Dynamo 提示。当某个模型实例始终服务于特定角色时(例如高优先级交互助手与低优先级后台摘要器),这非常有用。按调用覆盖
Dynamo 参数也可以在每次调用时覆盖。当同一模型实例处理具有不同特征的请求时,这非常有用。使用 Dynamo 提示进行流式传输
Dynamo 提示包含在初始流式传输请求中。Dynamo 使用它们在 token 开始流出之前选择最优工作节点。检查负载
为便于调试,可使用内部_get_payload 方法检查 ChatNVIDIADynamo 发送到 NIM 端点的确切负载。
nvext.agent_hints 部分:
API 参考
有关ChatNVIDIA 所有功能和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/nvidia_ai_endpoints/chat_models/langchain_nvidia_ai_endpoints.chat_models.ChatNVIDIA.html
相关主题
langchain-nvidia-ai-endpoints包README- Nemotron 模型系列 — NVIDIA 用于智能体 AI 的开放模型
- NVIDIA API Catalog — 浏览并试用所有可用模型
- NVIDIA NIM 大语言模型(LLMs)概述
- NeMo Retriever 嵌入 NIM 概述
- NeMo Retriever 重排序 NIM 概述
- 用于 RAG 工作流的
NVIDIAEmbeddings模型 - NVIDIA 提供商页面
- NVIDIA Dynamo — 开源推理框架
- Dynamo 快速入门指南 — 启动本地部署
- KV Cache 感知路由 — 智能路由器的工作原理
通过 MCP 将这些文档连接 到 Claude、VSCode 等,以获取实时答案。

