提供商与模型体系 (Providers and models)
深入理解 LangChain 如何通过统一提供商体系为任意厂商模型提供一致的调用 API
LangChain 为开发者调用来自任何提供商的模型提供了统一的标准 API。只需安装对应的提供商扩展包、指定模型名称,即可立即投入构建——无论使用的是 OpenAI、Anthropic、Google 还是其他受支持的厂商,上层应用代码逻辑完全保持一致。
统一 API 规范 (One API for any model)
所有 LangChain 聊天模型实现,无论背后由哪家提供商支撑,均遵循相同的标准接口规范。这意味着你能够:
- 无痛平替提供商:无需重写任何业务应用逻辑即可随时切换底层大模型
- 横向对比评测:用完全相同的代码直接对不同厂商模型的能力进行基准对比
- 通用高级特性:跨所有提供商无缝使用工具调用 (Tool calling)、结构化输出 (Structured output)以及流式传输 (Streaming)
import { initChatModel } from "langchain/chat_models/universal";
const openaiModel = await initChatModel("openai:gpt-5.5");
const anthropicModel = await initChatModel("anthropic:claude-opus-4-8");
const googleModel = await initChatModel("google:gemini-3.1-pro-preview");
for (const model of [openaiModel, anthropicModel, googleModel]) {
const response = await model.invoke("Explain quantum computing in one sentence.");
console.log(response.text);
}什么是提供商? (What is a provider?)
提供商(Provider)是指托管 AI 模型并通过网络 API 对外提供服务能力的机构或平台,例如 OpenAI、Anthropic、Google 与 AWS Bedrock。
在 LangChain 架构中,每个提供商都拥有一个专用的集成包(Integration package)(例如 @langchain/openai、@langchain/anthropic),负责为该厂商的模型实现 LangChain 标准抽象。这意味着:
- 每个提供商拥有专有依赖包,享有独立的语义化版本控制与依赖树管理
- 在需要时可使用提供商特有专有特性(例如 OpenAI 的 Responses API,Anthropic 的 Extended Thinking 思考扩展模式)
- 自动通过标准系统环境变量读取并加载 API 密钥凭证
npm install @langchain/openai # OpenAI 模型集成
npm install @langchain/anthropic # Anthropic 模型集成
npm install @langchain/google # Google 模型集成查找与指定模型名称 (Find model names)
每个提供商支持在初始化聊天模型时传入特定的模型名称。指定模型有两种标准方式:
import { initChatModel } from "langchain/chat_models/universal";
const model = await initChatModel("openai:gpt-5.5");import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({ model: "gpt-5.5" });当使用 initChatModel 并采用 provider:model 格式时,LangChain 会自动解析提供商标识并动态按需加载对应的集成包。若模型名称本身无歧义,亦可省略前缀(如 "gpt-5.5" 会自动识别为 OpenAI)。
各提供商支持的模型列表可参阅其官方文档:
| 提供商 | 模型列表获取途径 |
|---|---|
| OpenAI | OpenAI Models 官方页 |
| Anthropic | Anthropic Models 官方页 |
| Google AI Models 官方页 | |
| AWS Bedrock | Bedrock 支持模型列表 |
零延时支持全新模型 (Use new models immediately)
由于 LangChain 提供商扩展包将模型名称直接透传至底层厂商的 REST/gRPC API,当厂商发布最新模型时,你可以立刻零延时直接使用,完全无需等待 LangChain 库发布新版本。直接传入新模型标识符即可:
const model = await initChatModel("google:gemini-mythos");只要已安装的扩展包版本所对接的底层 API 规范支持该模型,即可即刻平稳运行。在绝大多数情况下,厂商的模型发布均保持向后兼容。
模型路由器与网关代理 (Routers and proxies)
模型路由器(Routers,或称代理网关)允许开发者通过统一的 API 与单套身份凭据访问来自数十个厂商的模型。它们能够极大精简账单结算、在不修改上层集成的情况下灵活换用模型,并提供自动故障转移(Failover)与负载均衡(Load balancing)能力。
| 平台 | 集成方式 | 说明 |
|---|---|---|
| OpenRouter | ChatOpenRouter | 统一聚合 OpenAI、Anthropic、Google、Meta 等海量模型 |
| FuturMix | ChatOpenAI | 兼容 OpenAI 协议的统一 AI 网关,聚合 22+ 顶级模型 |
在以下场景下推荐使用网关路由器:
- 期望以单个 API Key 和统一账户接入跨厂商全量模型
- 动态按需切换模型而无需分散维护多套厂商密钥
- 配置降级备用模型(当主力模型发生限流或故障时自动无感重试备选模型)
import { initChatModel } from "langchain/chat_models/universal";
const model = await initChatModel("openrouter:anthropic/claude-sonnet-4-6");
const response = await model.invoke("Hello!");兼容 OpenAI 规范的第三方端点 (OpenAI-compatible endpoints)
许多开源框架与云服务提供商提供与 OpenAI Chat Completions API 完全兼容的接口端点。你可以直接使用 ChatOpenAI 并配置自定义 baseURL 进行直连:
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
configuration: { baseURL: "https://your-provider.com/v1" },
apiKey: "your-api-key",
model: "provider-model-name",
});协议标准限制提醒
ChatOpenAI 严格遵循官方 OpenAI API 契约规范。第三方端点额外返回的非标准专有字段可能无法被提取或保留。当需要深度使用第三方专属特性时,建议使用其专有集成包或网关适配器。
后续进阶 (Next steps)
掌握调用、流式传输、批量请求与工具绑定核心用法。
构建将大语言模型作为核心推理引擎的自主智能体。
