模型的创建与调用
在 GPT-3 时代,大模型以补全模型为主,只能以类似 “成语接龙” 的方式对文本进行补全(代码补全),并且实际运行效果也非常不稳定 。此时 LangChain 借助一些高层封装的 API,能够让模型完成对话、调用外部工具、甚至是结构化输出等功能,为开发者提供了极大的便利。
伴随着 GPT-3.5 模型的发布, 对话模型正式登上历史的舞台,并逐渐成为主流 。而得益于对话模型更强的指令跟随能力,很多 GPT-3 需要借助 LangChain 才能完成的工作,已经成为 GPT-3.5 原生自带的一些功能。
# 1 线上大模型服务平台
| 平台 | 网址 | 备注 |
|---|---|---|
| OpenRouter | https://openrouter.ai | 全球主流,含国外模型 |
| CloseAI | https://platform.closeai-asia.com/ | 亚洲最大,含国外模型 |
| 阿里云百炼 | https://bailian.console.aliyun.com | 企业端友好 |
| 硅基流动 | https://www.siliconflow.cn/ | 性价比高,号称 9B 以下模型永久免费,开源模型价格低,适合个人 |
| 百度千帆 | https://console.bce.baidu.com/qianfan/overvie | 主打百度生态 |
| 火山引擎 | https://console.volcengine.com/ark/ | 主打字节多模态生态 |
# 2 API 规范
目前主流的 API 规范有两种:OpenAI(最主流)、Anthropic
# 2.1 OpenAI
Developer quickstart | OpenAI API (opens new window) 目前主流的大模型几乎都已经完全兼容 OpenAI 的接口规范。
# 2.2 Anthropic
# 3 大模型调用方式
# 3.1 在线模型 - 官方 API
# 3.1.1 DeepSeek
参考文档:首次调用 API | DeepSeek API Docs (opens new window)
from dotenv import load_dotenv
from langchain_deepseek import ChatDeepSeek
load_dotenv(override=True)
# ChatDeepSeek约定使用环境变量DEEPSEEK_API_BASE、DEEPSEEK_API_KEY
llm_ds = ChatDeepSeek(
model="deepseek-flash"
)
resp = llm_ds.invoke("请用一句话介绍你自己")
print(resp)
# 3.1.2 兼容写法(推荐)
主流大模型都支持 OpenAI API 规范,因此更常见的写法是使用 ChatOpenAI 集成
import os
from langchain_openai import ChatOpenAI
load_dotenv(override=True)
DEEPSEEK_API_BASE = os.getenv("DEEPSEEK_API_BASE")
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
model = ChatOpenAI(
model="deepseek-flash",
base_url=DEEPSEEK_API_BASE,
api_key=DEEPSEEK_API_KEY
)
resp = model.invoke("1+1=?")
print(resp)
# 3.2 在线模型 - init_chat_model
init_chat_model | langchain | LangChain Reference (opens new window)
# 3.2.1 DeepSeek
import os
from langchain.chat_models import init_chat_model
load_dotenv(override=True)
DEEPSEEK_API_BASE = os.getenv("DEEPSEEK_API_BASE")
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
model = init_chat_model(
# model_provider和model_name合并为model参数,平台和模型名称之间用冒号分隔:
model="deepseek:deepseek-flash",
base_url=DEEPSEEK_API_BASE,
api_key=DEEPSEEK_API_KEY,
)
resp = model.invoke("请用一句话介绍你自己")
print(resp)
# 3.2.2 兼容写法
model_provider 修改为 openai 即可
import os
from langchain.chat_models import init_chat_model
load_dotenv(override=True)
DEEPSEEK_API_BASE = os.getenv("DEEPSEEK_API_BASE")
DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY")
model = init_chat_model(
# platform和model_name合并为model参数,平台和模型名称之间用冒号分隔:
model="openai:deepseek-flash",
base_url=DEEPSEEK_API_BASE,
api_key=DEEPSEEK_API_KEY,
)
resp = model.invoke("请用一句话介绍你自己")
print(resp)
上次更新: 2026/11/08, 15:07:59