Skip to content

聊天模型 是一种语言模型,它以一系列消息作为输入,并返回消息作为输出 (与纯文本相对)

安装与使用

关于安装 LangChain 包的通用说明,请参阅此章节

OpenAI

安装:

bash
npm i @langchain/openai
bash
yarn add @langchain/openai
bash
pnpm add @langchain/openai

添加环境变量:

bash
OPENAI_API_KEY=your-api-key

实例化模型:

typescript
import { ChatOpenAI } from "@langchain/openai";

const model = new ChatOpenAI({ model: "gpt-4o-mini" });
javascript
await model.invoke("Hello, world!")
Anthropic

安装:

bash
npm i @langchain/anthropic
bash
yarn add @langchain/anthropic
bash
pnpm add @langchain/anthropic

添加环境变量:

bash
ANTHROPIC_API_KEY=your-api-key

实例化模型:

typescript
import { ChatAnthropic } from "@langchain/anthropic";

const model = new ChatAnthropic({
model: "claude-3-sonnet-20240620",
temperature: 0
});
javascript
await model.invoke("Hello, world!")
Google Gemini

安装:

bash
npm i @langchain/google-genai
bash
yarn add @langchain/google-genai
bash
pnpm add @langchain/google-genai

添加环境变量:

bash
GOOGLE_API_KEY=your-api-key

实例化模型:

typescript
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";

const model = new ChatGoogleGenerativeAI({
modelName: "gemini-2.5-flash-lite",
temperature: 0
});
javascript
await model.invoke("Hello, world!")
Google VertexAI

安装:

bash
npm i @langchain/google-vertexai
bash
yarn add @langchain/google-vertexai
bash
pnpm add @langchain/google-vertexai

添加环境变量:

bash
GOOGLE_APPLICATION_CREDENTIALS=credentials.json

实例化模型:

typescript
import { ChatVertexAI } from "@langchain/google-vertexai";

const model = new ChatVertexAI({
model: "gemini-2.5-flash",
temperature: 0
});
javascript
await model.invoke("Hello, world!")
MistralAI

安装:

bash
npm i @langchain/mistralai
bash
yarn add @langchain/mistralai
bash
pnpm add @langchain/mistralai

添加环境变量:

bash
MISTRAL_API_KEY=your-api-key

实例化模型:

typescript
import { ChatMistralAI } from "@langchain/mistralai";

const model = new ChatMistralAI({
model: "mistral-large-latest",
temperature: 0
});
javascript
await model.invoke("Hello, world!")
FireworksAI

安装:

bash
npm i @langchain/community
bash
yarn add @langchain/community
bash
pnpm add @langchain/community

添加环境变量:

bash
FIREWORKS_API_KEY=your-api-key

实例化模型:

typescript
import { ChatFireworks } from "@langchain/community/chat_models/fireworks";

const model = new ChatFireworks({
model: "accounts/fireworks/models/llama-v3p1-70b-instruct",
temperature: 0
});
javascript
await model.invoke("Hello, world!")
Groq

安装:

bash
npm i @langchain/groq
bash
yarn add @langchain/groq
bash
pnpm add @langchain/groq

添加环境变量:

bash
GROQ_API_KEY=your-api-key

实例化模型:

typescript
import { ChatGroq } from "@langchain/groq";

const model = new ChatGroq({
model: "llama-3.3-70b-versatile",
temperature: 0
});
javascript
await model.invoke("Hello, world!")

特色模型

虽然这些 LangChain 类支持所指示的高级功能,但你可能需要查阅特定提供商的文档,以了解哪些托管模型或后端支持该功能。

模型流式传输工具调用withStructuredOutput()多模态
ChatOpenAI
ChatAnthropic
ChatGoogleGenerativeAI
ChatVertexAI
BedrockChat🟡 (仅限 Bedrock Anthropic)🟡 (仅限 Bedrock Anthropic)🟡 (仅限 Bedrock Anthropic)
ChatBedrockConverse
ChatCloudflareWorkersAI
ChatCohere
ChatFireworks
ChatGroq
ChatMistralAI
ChatOllama
ChatTogetherAI
ChatXAI

聊天补全 API

某些模型提供商提供与 OpenAI(旧版)聊天补全 API 兼容的端点。在这种情况下,你可以使用带有自定义 base_urlChatOpenAI 来连接到这些端点。请注意,基于聊天补全 API 构建的功能可能不被 ChatOpenAI 完全支持;在这种情况下,请考虑使用特定于提供商的类(如果可用)。

示例:OpenRouter

要使用 OpenRouter,你需要注册一个账户并获取一个 API 密钥

typescript
import { ChatOpenAI } from "@langchain/openai";

const model = new ChatOpenAI({
    model: "...", // 指定 OpenRouter 上可用的模型
    configuration: {
    apiKey: "OPENROUTER_API_KEY",
    baseURL: "https://openrouter.ai/api/v1",
    }
});

更多详情请参阅 OpenRouter 文档

所有聊天模型

如果你想贡献一个集成,请参阅贡献集成

LangChain 中文文档