LangChain自訂API設置

將 LangChain ChatOpenAI 連接到 TokenHub,並在建立鍊或代理之前驗證最小模型呼叫。

什麼是浪鏈?

LangChain 是一個應用程式框架,用於建立由法學碩士支援的聊天、檢索、工作流程和代理體驗。

本 LangChain 指南配置了維護的 langchain-openai 與 TokenHub 相容的 API 庫的整合。首先測試基本呼叫路徑,然後驗證流程、結構化輸出或工具是否符合您的應用程式所需的功能。最小的 ChatOpenAI 呼叫可驗證基本連接,但不會驗證生產應用程式使用的每個功能。獨立測試流程、結構化輸出、工具綁定、重試和逾時,然後僅在選定的 TokenHub 模型通過工作流程所需的功能後新增檢索、鍊或代理。

LangChain 的 OpenAI 官方 Python 集成位于单独的 langchain-openai 包中。通过将自定义 base_url 传递到 ChatOpenAI 来连接 TokenHub。這是一個代碼整合;沒有應用程式設定畫面。

第一步:安裝官方整合包

pip install -U langchain-openai

對於uv管理的項目,使用uv add langchain-openai。單獨安裝基礎 langchain 軟體套件不提供 ChatOpenAI

步骤2:为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("Reply with one sentence to confirm the connection.")
print(response.content)

基礎 URL 解析優先考慮建構子的 base_url / openai_api_base,然後是 OPENAI_API_BASE,最後是基礎 SDK 的 OPENAI_BASE_URL。明确传递它可以防止项目环境中的旧 OpenAI URL 覆盖 TokenHub。

第 3 步:一次驗證一項功能

  1. 首先運行最少的 invoke 呼叫來確認正常聊天完成。
  2. 僅當基本呼叫有效時才添加 stream。当OPENAI_BASE_URL指向第三方端点时,LangChain不会自动启用stream_usage;仅当 TokenHub 型号和终端支持流式使用时才设置 stream_usage=True
  3. 對於代理,將一個最小工具與 bind_tools 綁定,並檢查傳回物件上的 tool_calls。不要將僅描述呼叫的文字視為工具呼叫。
  4. 僅在這些層工作後才測試結構化輸出、圖像和推理。

ChatOpenAI 明確針對 OpenAI API 規格中的欄位。特定於提供者的擴充(例如 reasoning_contentreasoningreasoning_details)可能無法提取或保留。成功的文字回應並不能證明這些擴展有效。

在失敗的LangChain層進行故障排除

  • 導入失敗:確認已安裝langchain-openai
  • 404:檢查有效的base_url,包括/v1,並檢查環境變數覆蓋。
  • 型號錯誤:使用model中完整的TokenHub型號ID。
  • 流文字可以工作,但缺少用法:檢查 stream_usage 以及端點是否支援 stream_options.include_usage
  • Agent工具失敗:用bind_tools隔離;成功的基本invoke不是工具測試。
  • 不存在非標準推理欄位:使用特定於提供者的 LangChain 整合或直接處理原始回應。

官方參考

如何選擇推薦模型?

工作負載模型選擇適合原因
複雜任務旗艦推理模型適合規劃、多步驟執行與複雜上下文。
日常使用均衡模型平衡效果、速度與成本。
批次工作快速低成本模型降低摘要與簡單任務成本。
前往模型廣場比較價格和能力

LangChain ChatOpenAI常見問題

如何將ChatOpenAI指向TokenHub?

將 base_url 設定為以 /v1 結尾的 TokenHub API 根,將 TokenHub 金鑰作為 api_key 傳遞,並將 model 設定為確切的 TokenHub ID。

我可以使用 OPENAI_API_BASE 來取代 base_url 嗎?

LangChain 可以讀取記錄的 OpenAI 基本 URL 環境變量,但明確的 base_url 對於單一整合來說是最清晰的。

成功的呼叫是否證明代理可以工作?

不。它證明了基本的聊天連接。在使用這些功能之前驗證工具呼叫、串流和結構化輸出。

我需要 langchain-openai 軟體包嗎?

是的。 ChatOpenAI在langchain-openai整合套件中維護;安裝與 LangChain 專案的其餘部分相容的版本。

如何對 LangChain 404 進行故障排除?

確保 base_url 以 /v1 結尾,刪除重複的請求路徑,並在檢查 TokenHub 請求日誌之前驗證確切的模型 ID。

參考資料

本頁設定依據 TokenHub 教學與官方資料,最後驗證日期為 2026-09-08。