概述
本指南介绍如何使用 LangChain 的ChatRunPod 类与托管在 RunPod Serverless 上的聊天模型进行交互。
设置
-
安装包:
- 部署聊天模型端点: 按照 RunPod 提供商指南 中的设置步骤,在 RunPod Serverless 上部署兼容的聊天模型端点并获取其端点 ID。
-
设置环境变量: 确保已设置
RUNPOD_API_KEY和RUNPOD_ENDPOINT_ID(或特定的RUNPOD_CHAT_ENDPOINT_ID)。
实例化
初始化ChatRunPod 类。您可以通过 model_kwargs 传入模型特定参数,并配置轮询行为。
调用
使用标准 LangChain 的.invoke() 和 .ainvoke() 方法调用模型。还支持通过 .stream() 和 .astream() 进行流式输出(通过轮询 RunPod /stream 端点模拟)。
链式调用
聊天模型可与 LangChain 表达式语言(LCEL)链无缝集成。模型功能(取决于端点)
高级功能的可用性严重依赖于您 RunPod 端点处理程序的具体实现。ChatRunPod 集成提供基本框架,但处理程序必须支持底层功能。
| 功能 | 集成支持 | 依赖端点? | 说明 |
|---|---|---|---|
| 工具调用 | ❌ | ✅ | 需要处理程序处理工具定义并返回工具调用(如 OpenAI 格式)。集成需要解析逻辑。 |
| 结构化输出 | ❌ | ✅ | |
| ❌ | ✅ | 需要处理程序接受 json_mode 参数(或类似参数)并保证 JSON 输出。 | |
| ❌ | ✅ | 需要接受图像数据(如 base64)的多模态处理程序。集成不支持多模态消息。 | |
| ❌ | ✅ | 需要接受音频数据的处理程序。集成不支持音频消息。 | |
| ❌ | ✅ | 需要接受视频数据的处理程序。集成不支持视频消息。 | |
| ✅ (模拟) | ✅ | 轮询 /stream。需要处理程序在状态响应的 stream 列表中填充 token 块(如 [{"output": "token"}])。未内置真正的低延迟流式传输。 | |
| ✅ | ✅ | 核心 ainvoke/astream 已实现。依赖端点处理程序性能。 | |
| ❌ | ✅ | 需要处理程序在最终响应中返回 prompt_tokens、completion_tokens。集成目前不解析此项。 | |
| ❌ | ✅ | 需要处理程序返回对数概率。集成目前不解析此项。 |
API 参考
有关ChatRunPod 类、参数和方法的详细文档,请参阅源代码或生成的 API 参考(如可用)。
源代码链接:https://github.com/runpod/langchain-runpod/blob/main/langchain_runpod/chat_models.py
通过 MCP 将这些文档连接到 Claude、VSCode 等以获得实时解答。

