主题
服务商与模型
了解 LangChain 如何使用服务商,为你提供适用于任何服务商任何模型的单一 API
LangChain 为你提供一个单一、统一的 API,用于处理任何服务商的模型。安装服务商包,选择模型名称,然后开始构建——无论你使用 OpenAI、Anthropic、Google 还是任何其他受支持的服务商,同样的代码都能工作。
graph LR
subgraph "Your code"
A["LangChain API<br/>(invoke, stream, bind_tools)"]
end
subgraph "Providers"
B["OpenAI"]
C["Anthropic"]
D["Google"]
E["AWS Bedrock"]
F["...and more"]
end
A --> B
A --> C
A --> D
A --> E
A --> F
classDef code fill:#E5F4FF,stroke:#006DDD,stroke-width:2px,color:#030710
classDef provider fill:#EBD0F0,stroke:#885270,stroke-width:2px,color:#441E33
class A code
class B,C,D,E,F provider
适用于任何模型的单一 API
每个 LangChain 聊天模型,无论来自哪个服务商,都实现相同的接口。这意味着你可以:
python
from langchain.chat_models import init_chat_model
openai_model = init_chat_model("openai:gpt-5.5")
anthropic_model = init_chat_model("anthropic:claude-opus-4-8")
google_model = init_chat_model("google-genai:gemini-3.1-pro-preview")
for model in [openai_model, anthropic_model, google_model]:
response = model.invoke("Explain quantum computing in one sentence.")
print(response.text)什么是服务商?
服务商是托管 AI 模型并通过 API 将其开放的公司或平台。示例包括 OpenAI、Anthropic、Google 和 AWS Bedrock。
在 LangChain 中,每个服务商都有一个专用的集成包(例如 langchain-openai、langchain-anthropic),为该服务商的模型实现标准的 LangChain 接口。这意味着:
- 为每个服务商提供专用包,具备恰当的版本管理和依赖管理
- 在你需要时可以使用服务商特定功能(例如 OpenAI 的 Responses API、Anthropic 的扩展思考)
- 通过环境变量自动处理 API 密钥
shell
uv add langchain-openai # For OpenAI models
uv add langchain-anthropic # For Anthropic models
uv add langchain-google-genai # For Google models完整的服务商包列表,请参阅集成页面。
查找模型名称
每个服务商支持特定的模型名称,你在初始化聊天模型时传入这些名称。指定模型有两种方式:
python
from langchain.chat_models import init_chat_model
model = init_chat_model("openai:gpt-5.5")python
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-5.5")当使用 init_chat_model 并采用 provider:model 格式时,LangChain 会自动解析服务商并加载正确的集成包。如果模型名称没有歧义,你也可以省略服务商前缀(例如,"gpt-5.5" 会解析为 OpenAI)。
要查找某服务商可用的模型名称,请参阅该服务商自己的文档。以下是一些流行的服务商:
| 服务商 | 在哪里查找模型名称 |
|---|---|
| OpenAI | OpenAI 模型页面 |
| Anthropic | Anthropic 模型页面 |
| Google AI 模型页面 | |
| AWS Bedrock | Bedrock 支持的模型 |
| Ollama | Ollama 模型库 |
| Groq | Groq 支持的模型 |
立即使用新模型
由于 LangChain 服务商包会将模型名称直接传递给服务商的 API,你可以在服务商发布新模型的当下就使用它们(无需更新 LangChain)。只需传入新的模型名称:
python
model = init_chat_model("google_genai:gemini-mythos")只要你的服务商包版本支持该模型所需的 API 版本,新的模型名称就能立即生效。在大多数情况下,模型发布是向后兼容的,无需更新包。
模型能力
不同的服务商和模型支持不同的功能。 有关聊天模型集成及其能力的列表,请参阅聊天模型集成页面。
路由与代理
路由(也称为代理或网关)让你通过单个 API 和凭据访问多个服务商的模型。它们可以简化计费,让你无需更改集成即可在模型之间切换,并提供自动回退和负载均衡等功能。
| 服务商 | 集成 | 描述 |
|---|---|---|
| OpenRouter | ChatOpenRouter | 统一访问来自 OpenAI、Anthropic、Google、Meta 等公司的模型 |
| FuturMix | ChatOpenAI | 面向 22+ 模型的统一 AI 网关,提供 OpenAI 兼容 API 和 99.99% SLA |
| LiteLLM | ChatLiteLLM | 面向 100+ 服务商的统一接口,提供路由、回退和支出跟踪 |
当你想要以下目的时,路由很有用:
- 访问众多服务商,只需单个 API 密钥和计费账户
- 动态切换模型,无需管理多个服务商凭据
- 使用回退模型,当主模型失败时会自动改用其他模型重试
python
from langchain.chat_models import init_chat_model
model = init_chat_model("openrouter:anthropic/claude-sonnet-4-6")
response = model.invoke("Hello!")OpenAI 兼容端点
许多服务商提供与 OpenAI 的 Chat Completions API 兼容的端点。你可以使用 ChatOpenAI 配合自定义的 base_url 连接到这些端点:
python
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="https://your-provider.com/v1",
api_key="your-api-key",
model="provider-model-name",
)WARNING
ChatOpenAI 仅针对官方 OpenAI API 规范。来自第三方服务商的非标准响应字段不会被提取或保留。当你需要访问非标准功能时,请使用专用的服务商包或路由。
后续步骤
Models guide
了解如何使用模型:invoke、stream、批量处理、工具调用等。
Chat model integrations
浏览所有聊天模型集成及其能力。
All providers
查看服务商包和集成的完整列表。
Agents
构建将模型用作推理引擎的智能体。