Skip to content

提供商与模型体系 (Providers and models) ​

深入理解 LangChain 如何通过统一提供商体系为任意厂商模型提供一致的调用 API

LangChain 为开发者调用来自任何提供商的模型提供了统一的标准 API。只需安装对应的提供商扩展包、指定模型名称,即可立即投入构建——无论使用的是 OpenAI、Anthropic、Google 还是其他受支持的厂商,上层应用代码逻辑完全保持一致。

统一 API 规范 (One API for any model) ​

所有 LangChain 聊天模型实现,无论背后由哪家提供商支撑,均遵循相同的标准接口规范。这意味着你能够:

typescript
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 密钥凭证
bash
npm install @langchain/openai       # OpenAI 模型集成
npm install @langchain/anthropic    # Anthropic 模型集成
npm install @langchain/google       # Google 模型集成

查找与指定模型名称 (Find model names) ​

每个提供商支持在初始化聊天模型时传入特定的模型名称。指定模型有两种标准方式:

typescript
import { initChatModel } from "langchain/chat_models/universal";

const model = await initChatModel("openai:gpt-5.5");
typescript
import { ChatOpenAI } from "@langchain/openai";

const model = new ChatOpenAI({ model: "gpt-5.5" });

当使用 initChatModel 并采用 provider:model 格式时,LangChain 会自动解析提供商标识并动态按需加载对应的集成包。若模型名称本身无歧义,亦可省略前缀(如 "gpt-5.5" 会自动识别为 OpenAI)。

各提供商支持的模型列表可参阅其官方文档:

提供商模型列表获取途径
OpenAIOpenAI Models 官方页
AnthropicAnthropic Models 官方页
GoogleGoogle AI Models 官方页
AWS BedrockBedrock 支持模型列表

零延时支持全新模型 (Use new models immediately) ​

由于 LangChain 提供商扩展包将模型名称直接透传至底层厂商的 REST/gRPC API,当厂商发布最新模型时,你可以立刻零延时直接使用,完全无需等待 LangChain 库发布新版本。直接传入新模型标识符即可:

typescript
const model = await initChatModel("google:gemini-mythos");

只要已安装的扩展包版本所对接的底层 API 规范支持该模型,即可即刻平稳运行。在绝大多数情况下,厂商的模型发布均保持向后兼容。

模型路由器与网关代理 (Routers and proxies) ​

模型路由器(Routers,或称代理网关)允许开发者通过统一的 API 与单套身份凭据访问来自数十个厂商的模型。它们能够极大精简账单结算、在不修改上层集成的情况下灵活换用模型,并提供自动故障转移(Failover)与负载均衡(Load balancing)能力。

平台集成方式说明
OpenRouterChatOpenRouter统一聚合 OpenAI、Anthropic、Google、Meta 等海量模型
FuturMixChatOpenAI兼容 OpenAI 协议的统一 AI 网关,聚合 22+ 顶级模型

在以下场景下推荐使用网关路由器:

  • 期望以单个 API Key 和统一账户接入跨厂商全量模型
  • 动态按需切换模型而无需分散维护多套厂商密钥
  • 配置降级备用模型(当主力模型发生限流或故障时自动无感重试备选模型)
typescript
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 进行直连:

typescript
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) ​

模型使用指南

掌握调用、流式传输、批量请求与工具绑定核心用法。

智能体架构

构建将大语言模型作为核心推理引擎的自主智能体。