init_chat_model 是 LangChain 1.x 中推出的用于初始化聊天模型的统一接口。只要是LangChain支持的模型都可以处理,它会根据模型名称自动选择对应的模型类初始化实例。
基本语法:
from langchain.chat_models import init_chat_model
model = init_chat_model(
"provider:model_name", # 提供商:模型名称
api_key="your-api-key", # API 密钥(可选,可从环境变量读取)
temperature=0.7, # 温度参数(可选)
max_tokens=1000, # 最大 token 数(可选)
**kwargs # 其他模型特定参数
)
问题: init_chat_model 和直接使用 ChatTongyi、ChatOpenAI、ChatDeepSeek有什么区别?
回答: init_chat_model 是 LangChain 1.0 的统一接口,优势包括:
统一接口:无需记住每个提供商的不同初始化方式(以一致的方式初始化)
易于切换:简化了智能体系统中模型切换策略(只需修改模型字符串)
简洁明了:更简洁的语法,减少样板代码
自动适配:内部根据模型标识自动选择对应的驱动类(ChatOpenAI、ChatDeepSeek)
图示:
![图片[1]-3、模型初始化角度1:init_chat_model()-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-597-1024x333.png)
3.1 使用举例
举例1:调用DeepSeek官网的大模型
import os
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
# 从.env文件中加载环境变量
load_dotenv(override=True)
# 从环境变量读取配置
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
DEEPSEEK_BASE_URL = os.getenv("DEEPSEEK_BASE_URL")
model = init_chat_model(model="deepseek:deepseek-v4-flash",
#model_provider="deepseek",
api_key=DEEPSEEK_API_KEY,
base_url=DEEPSEEK_BASE_URL)
# 向模型发送单条数据
response = model.invoke("你好,用一句话回答")
# 打印响应
print(response)
当我们传递的模型名称为deepseek-v4-flash 时,init_chat_model会自动调用ChatDeepSeek初始化模
型实例,和直接通过ChatDeepSeek初始化的效果完全一致。
举例2:调用阿里百炼大模型
环境变量
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
DASHSCOPE_API_KEY=<YOUR_API_KEY>
代码:
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os
load_dotenv(override=True)
DASHSCOPE_API_KEY=os.getenv("DASHSCOPE_API_KEY")
DASHSCOPE_BASE_URL=os.getenv("DASHSCOPE_BASE_URL")
model = init_chat_model(model="qwen-plus",
model_provider="openai",
api_key=DASHSCOPE_API_KEY,
base_url=DASHSCOPE_BASE_URL)
print(model.invoke("你好,用一句话回答"))
举例3:调用CloseAI中转平台大模型
环境变量
CLOSEAI_API_KEY=<YOUR_API_KEY>
CLOSEAI_BASE_URL=https://api.openai-proxy.org/v1
代码:
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os
load_dotenv(override=True)
CLOSEAI_API_KEY=os.getenv("CLOSEAI_API_KEY")
CLOSEAI_BASE_URL=os.getenv("CLOSEAI_BASE_URL")
model = init_chat_model(model="deepseek-v4-flash",
model_provider="openai",
api_key=CLOSEAI_API_KEY,
base_url=CLOSEAI_BASE_URL)
print(model.invoke("你好,用一句话回答"))
![图片[2]-3、模型初始化角度1:init_chat_model()-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-598.png)
![图片[3]-3、模型初始化角度1:init_chat_model()-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-599-1024x251.png)
3.2 小结:模型的创建
DeepSeek官网的DeepSeek模型:可以调用ChatDeepSeek()、ChatOpenAI()、init_chat_model()三种方式
阿里云百炼平台的DeepSeek模型:可以调用ChatTongyi()、ChatOpenAI()、init_chat_model()三种方式
OpenRouter平台的DeepSeek模型:可以调用ChatOpenRouter()、ChatOpenAI()、init_chat_model()三种方式
CloseAPI平台的DeepSeek模型:可以调用ChatOpenAI()、init_chat_model() 两种方式
![图片[4]-3、模型初始化角度1:init_chat_model()-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-600.png)
















请登录后查看评论内容