首页 / 学习 / LangChain 中的 ChatAnthropic:导入、base_url、流式输出、工具与错误
Claude + LangChain。一串由小型文档卡片构成的手绘链环,将提示词页面连接到模型窗口和最终结果。

LangChain 中的 ChatAnthropic:导入、base_url、流式传输、工具和错误

ChatAnthropic 来自 langchain-anthropic 包,是 LangChain 的 Claude 聊天模型。它封装了官方 Anthropic Python SDK,因此只需设置一个参数即可将其指向网关: base_url,将其设为主机根地址。链、智能体和工具中的其他部分均保持不变。

安装与导入

终端
pip install -U langchain-anthropic
app.py
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(
    model="claude-sonnet-5",
    base_url="https://aiprimetech.io",           # host root: the SDK adds /v1/messages
    api_key="your_gateway_key",   # or set ANTHROPIC_API_KEY
)

print(llm.invoke("Say hello in one word.").text)
否 /v1 在 base_url 此处。底层 Anthropic SDK 会自行追加 /v1/messages ;添加 /v1 会产生 /v1/v1/messages 以及一个 404 page not found.

通过环境变量配置

base_url 是以下参数的别名: anthropic_api_url,以及 api_key 是以下参数的别名: anthropic_api_key。如果未传入这些参数,ChatAnthropic 会先读取 ANTHROPIC_API_URL ,然后读取 ANTHROPIC_BASE_URL,并从以下变量读取密钥: ANTHROPIC_API_KEY。显式参数始终优先。

终端
export ANTHROPIC_API_KEY=your_gateway_key
export ANTHROPIC_API_URL=https://aiprimetech.io
app.py
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(model="claude-sonnet-5")   # picks up the gateway from the environment

流式传输

app.py
for chunk in llm.stream("Explain backpressure in two sentences."):
    print(chunk.text, end="", flush=True)

.text 仅收集每个分块中的文本块,因此即使模型同时输出思考块或工具使用块,结果仍然保持干净。对于较长的回答,请使用流式输出:耗时较长的非流式请求通常是导致超时的原因。

工具与结构化输出

tools.py
from langchain_core.tools import tool

@tool
def get_time(city: str) -> str:
    """Return the current local time in a city."""
    return "12:00"

msg = llm.bind_tools([get_time]).invoke("What time is it in Tokyo?")
print(msg.tool_calls)
structured.py
from pydantic import BaseModel

class Weather(BaseModel):
    city: str
    temperature_c: float

print(llm.with_structured_output(Weather).invoke("It is 21 degrees in Lisbon today."))

重试、超时与 max_tokens

max_retries 默认值为 2,与 Anthropic SDK 相同;该 SDK 会对连接错误、429 和 5xx 响应进行重试。 timeout (是以下参数的别名: default_request_timeout)的单位为秒。如果你未设置 max_tokens ,则取自模型的配置档案。

app.py
llm = ChatAnthropic(
    model="claude-sonnet-5",
    base_url="https://aiprimetech.io",
    max_retries=4,
    timeout=120,
    max_tokens=8000,
)

对于批量请求,请限制并行度,以免超出密钥的并发限制: llm.batch(inputs, config={"max_concurrency": 3}).

ChatOpenAI 替代方案

如果你的代码统一使用 ChatOpenAI,网关的 OpenAI 兼容端点也支持 Claude。此方式要求在末尾添加 /v1 ,这与 ChatAnthropic 相反。

app.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="claude-sonnet-5", base_url="https://aiprimetech.io/v1", api_key="your_gateway_key")

使用 Claude 时,优先选择 ChatAnthropic:它保留了提示词缓存和思考块等原生功能。

故障排查

你会看到什么 原因 解决方法
404 page not found/v1 在 ChatAnthropic 的以下参数中: base_url使用主机根地址, https://aiprimetech.io
Model "..." is not supported密钥所属组不支持的 ID,或带有旧日期的名称使用下表中的当前 ID
AuthenticationErrorANTHROPIC_API_KEY 在运行中的进程里为空,或使用了其他端点的密钥传入 api_key= ,通过显式传入进行测试
RateLimitError: Concurrency limit exceeded并行调用过多(batch、异步 gather)max_concurrency 在批处理配置中
APITimeoutError耗时较长的非流式生成使用流式传输,或增大 timeout
模型 ID 适用场景
claude-sonnet-5编程和智能体任务的默认选择:速度快、能力强、价格适中。
claude-opus-5-5更复杂的推理、大规模重构、长时间运行的智能体任务。
claude-fable-5-1能力最强,价格也最高;留给最困难的任务使用。
claude-haiku-4-5价格低、速度快:标题、摘要、分类和小步骤。

常见问题

如何导入 ChatAnthropic?
先运行 pip install -U langchain-anthropic,然后使用 from langchain_anthropic import ChatAnthropic。
ChatAnthropic 的 base_url 需要包含 /v1 吗?
不需要。传入主机根地址,例如 https://aiprimetech.io;,Anthropic SDK 会追加 /v1/messages。ChatOpenAI 则相反,需要包含 /v1。
ChatAnthropic 会读取哪些环境变量?
使用 ANTHROPIC_API_KEY 获取密钥;未传入 base_url 时,依次使用 ANTHROPIC_API_URL、ANTHROPIC_BASE_URL 获取端点。
base_url 与 anthropic_api_url 相同吗?
是的。base_url 是 anthropic_api_url 的别名,api_key 是 anthropic_api_key 的别名。
几分钟内开始使用 Claude

获取 API 密钥,无需 Anthropic 账户,也无需加入候补名单。

获取你的 API 密钥

AI Prime Tech 是独立的 API 网关,与 Anthropic 无关联,未获得其背书,也不是其经销商。Claude 及相关模型名称是其各自所有者的商标。

更多 Claude API 指南

如何获取 Claude API 密钥Claude API 定价详解使用 Claude API 最便宜的方式通过 Claude API 不限量使用 Cursor不限量访问 Claude CodeClaude API 网关与 Anthropic 直连对比通过兼容 OpenAI 的 API 使用 ClaudeClaude 模型详解:Claude Opus、Sonnet、Haiku 与 Fable 的模型对比——全部 Claude API 模型、Anthropic 模型名称与价格(2026)使用加密货币支付 Claude API 费用无需候补名单即可访问 Claude API如何减少 Claude 词元用量通过 Claude API 不限量使用 Cline通过 Claude API 不限量使用 Roo Code在 JetBrains IDE 中不限量使用 Claude通过 Claude API 无限制使用 Aider在 VS Code 中不限量使用 ClaudeOpenCode 的 Claude 配置:opencode.json 设置、模型与常见错误在 Claude 上运行不受限制的 Hermes 智能体使用 Claude 不限量运行 OpenClaw兼容 Anthropic 的 API 意味着什么Claude Code API 密钥 — ANTHROPIC_API_KEY:如何获取、配置,以及何时应改用 claude setup-tokenClaude Code API 成本 — 定价与降低成本的方法Claude API 错误详解:服务器错误 500、过载 529、速率限制 429、错误请求 400 — 以及各自的修复方法如何购买 Claude API 额度,以及为什么购买 Claude 额度比任何“购买 Claude 账户”的方案都更好Claude 免费 API:有免费的 Claude API 密钥吗?2026 年究竟有哪些内容免费?Claude API 与 Claude Pro/Max 订阅——如何选择使用 Claude 运行 Codex CLI将 Claude 连接到 n8n通过 LiteLLM 路由到 Claude在 Kilo Code 中使用 Claude将 Claude 接入 GitHub Copilot通过网关将 Zed 连接到 Claude将 Cherry Studio 连接到 ClaudeAnthropic Python SDK:安装、设置 base_url、流式传输和错误处理通过 Vercel AI SDK 使用 Claude:createAnthropic baseURL、流式传输和问题修复使用 Claude 运行 Factory DroidClaude Code API 详解将 Claude API 集成到您的应用中如何不受限制地使用 Claude,以及为什么不存在“Claude Code 破解版本”

更多 Claude API 指南

兼容 Anthropic 的 API 意味着什么Anthropic Python SDK:安装、设置 base_url、流式传输和错误处理如何购买 Claude API 额度使用 Claude API 最便宜的方式Claude API 错误详解:服务器错误 500、过载 529、速率限制 429、错误请求 400 — 以及各自的修复方法Claude 免费 API:有免费的 Claude API 密钥吗?2026 年究竟有哪些内容免费?将 Claude API 集成到您的应用中Claude 模型详解:Claude Opus、Sonnet、Haiku 与 Fable 的模型对比——全部 Claude API 模型、Anthropic 模型名称与价格(2026)Claude API 定价详解Claude API 网关与 Anthropic 直连对比Claude API 与 Claude Pro/Max 订阅——如何选择使用加密货币支付 Claude API 费用无需候补名单即可访问 Claude APIClaude Code API 详解Claude Code API 成本 — 定价与降低成本的方法Claude Code API 密钥 — ANTHROPIC_API_KEY:如何获取、配置,以及何时应改用 claude setup-token如何不限量使用 Claude如何获取 Claude API 密钥如何减少 Claude 词元用量通过 OpenAI SDK 使用 Claude:OpenAI 兼容端点、流式传输、工具与限制通过网关在 Hermes Agent 中使用 Claude:自定义提供商配置、成本控制与问题修复使用 Claude 不限量运行 OpenClaw不限量 Claude API 访问意味着什么如何获取不限量的 Claude API 密钥不限量使用 Claude Code——无词元限制不限量访问 Claude Opus 4.8不限量使用 Claude——套餐与定价通过网关在 Aider 中使用 Claude:ANTHROPIC_API_BASE、配置文件、架构师模式与问题修复将 Cherry Studio 连接到 Claude不限量访问 Claude Code通过 Claude API 不限量使用 Cline通过自定义提供商使用 Codex CLI:config.toml、GPT 与 Claude 模型、IDE 扩展与问题修复通过 Claude 无限访问运行 Cursor使用 Claude 运行 Factory Droid通过网关在 GitHub Copilot Chat 中使用 Claude:自定义端点配置、智能体模式与问题修复在 JetBrains IDE 中不限量使用 Claude在 Kilo Code 中使用 Claude通过 LiteLLM 路由到 Claude将 Claude 连接到 n8nOpenCode 的 Claude 配置:opencode.json 设置、模型与常见错误通过 Claude API 不限量使用 Roo Code通过 Vercel AI SDK 使用 Claude:createAnthropic baseURL、流式传输和问题修复在 VS Code 中不限量使用 Claude通过网关将 Zed 连接到 Claude