LangChain是什么?
LangChain 是一个应用程序框架,用于构建 LLM 支持的聊天、检索、工作流程和座席体验。
本 LangChain 指南配置了维护的 langchain-openai 与 TokenHub-compatible API 基础的集成。首先测试基本调用路径,然后验证流、结构化输出或工具是否满足您的应用程序所需的功能。最小的 ChatOpenAI 调用可验证基本连接,但不会验证生产应用程序使用的每个功能。独立测试流、结构化输出、工具绑定、重试和超时,然后仅在选定的 TokenHub 模型通过工作流程所需的功能后添加检索、链或代理。
LangChain Python 的官方 OpenAI 集成位于独立的 langchain-openai 包。TokenHub 通过 ChatOpenAI 的自定义 base_url 接入;这是代码集成,不存在 App 设置页。
第一步:安装官方集成包
pip install -U langchain-openai使用 uv 的项目可改为 uv add langchain-openai。只安装基础 langchain 并不会自动提供 ChatOpenAI。
第二步:显式实例化 TokenHub ChatOpenAI
export TOKENHUB_API_KEY="sk-..."import os
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="__API_BASE_URL__/v1",
api_key=os.environ["TOKENHUB_API_KEY"],
model="YOUR_TOKENHUB_MODEL_ID",
timeout=60,
max_retries=2,
)
response = model.invoke("请用一句话确认连接成功。")
print(response.content)官方的 Base URL 解析优先级是:构造函数 base_url / openai_api_base,然后 OPENAI_API_BASE,最后是底层 SDK 读取的 OPENAI_BASE_URL。示例显式传参,避免项目环境中旧的 OpenAI URL 覆盖 TokenHub。
第三步:按能力逐层验证
- 运行最小
invoke,先确认普通 Chat Completions。 - 需要流式时再调用
stream。如果使用OPENAI_BASE_URL指向第三方端点,LangChain 默认不会替你开启stream_usage;只有 TokenHub/模型支持流式用量时才设置stream_usage=True。 - 需要 Agent 时,通过
bind_tools绑定一个最小工具并检查返回对象的tool_calls,不要只看模型是否在文本里“描述了调用”。 - 最后再测试 structured output、图片或 reasoning。
ChatOpenAI 官方明确只保证 OpenAI API 规范字段。第三方扩展的 reasoning_content、reasoning 或 reasoning_details 不会被提取或保留,所以普通回答成功不能证明这些扩展能力可用。
按 LangChain 层级排错
- import 失败:确认安装的是
langchain-openai。 - 404:确认实际生效的
base_url包含/v1,并检查是否被环境变量覆盖。 - 模型错误:检查
model是否为完整 TokenHub Model ID。 - 流式能输出但无用量:检查
stream_usage和端点是否支持stream_options.include_usage。 - Agent 工具失败:用
bind_tools单独验证;不要以基础invoke成功代替工具测试。 - 非标准 reasoning 字段缺失:这是
ChatOpenAI的已知范围,应使用对应 Provider 的专用 LangChain 集成或直接处理原始响应。
官方资料
推荐模型怎么选?
LangChain ChatOpenAI FAQ
如何将 ChatOpenAI 指向 TokenHub?
将 base_url 设置为以 /v1 结尾的 TokenHub API 根,将 TokenHub 密钥作为 api_key 传递,并将模型设置为确切的 TokenHub ID。
我可以使用 OPENAI_API_BASE 代替 base_url 吗?
LangChain 可以读取记录的 OpenAI 基础 URL 环境变量,但显式 base_url 对于单个集成来说是最清晰的。
成功的调用是否证明代理可以工作?
不。它证明了基本的聊天连接。在使用这些功能之前验证工具调用、流式传输和结构化输出。
我需要 langchain-openai 软件包吗?
是的。 ChatOpenAI在langchain-openai集成包中维护;将 compatible 版本与 LangChain 项目的其余部分一起安装。
如何对 LangChain 404 进行故障排除?
确保 base_url 以 /v1 结尾,删除重复的请求路径,并在检查 TokenHub 请求日志之前验证确切的模型 ID。
配置资料
本页配置以 TokenHub 教程和官方资料为依据,最后核验于 2026-09-08。