大模型接口
LangChain 提供统一的模型调用接口,支持 20+ 厂商的大模型。

3.1 LLM vs ChatModel
LangChain 区分两种模型类型:
| 类型 | 说明 | 适用场景 |
|---|---|---|
| LLM | 传统文本→文本输出 | 简单文本生成 |
| ChatModel | 基于消息的对话模型 | 聊天机器人、多轮对话 |
推荐:优先使用 ChatModel,它是 LangChain 1.0 的主流接口。
3.2 ChatOpenAI 快速入门
from langchain_openai import ChatOpenAI
# 初始化模型
model = ChatOpenAI(model="gpt-4o-mini")
# 调用
response = model.invoke("你好,请介绍一下自己")
print(response.content)
常用参数配置:
model = ChatOpenAI(
model="gpt-4o", # 模型名称
temperature=0.7, # 随机性:0-2,越高越随机
max_tokens=1000, # 最大输出 token 数
timeout=30, # 超时时间(秒)
base_url="https://api.openai.com/v1", # 自定义 API 地址
api_key="sk-xxx" # API 密钥
)
3.3 init_chat_model 统一初始化
LangChain 1.0 提供 init_chat_model() 函数,一个接口适配 20+ 厂商模型。
from langchain.chat_models import init_chat_model
# 初始化 DeepSeek 模型
model = init_chat_model(
model="deepseek-chat",
model_provider="deepseek",
api_key="sk-xxx"
)
# 一行代码切换厂商,业务代码无需改动
# model = init_chat_model("gpt-4o", model_provider="openai")
# model = init_chat_model("claude-3-5-sonnet", model_provider="anthropic")
response = model.invoke("你好")
print(response.content)
主流厂商对应表:
| model_provider | 模型示例 | 包 |
|---|---|---|
| openai | gpt-4o, gpt-4o-mini | langchain-openai |
| anthropic | claude-3-5-sonnet | langchain-anthropic |
| deepseek | deepseek-chat | langchain-deepseek |
| gemini-2.0-flash | langchain-google | |
| ollama | llama3, qwen | langchain-ollama |
3.4 调用方式
# 同步调用
result = model.invoke("你的问题")
# 流式调用(实时看到输出)
for chunk in model.stream("你的问题"):
print(chunk.content, end="", flush=True)
# 批量调用(多条独立请求)
results = model.batch(["问题1", "问题2", "问题3"])