Appearance
多平台接入实战
LangChain V1.1.0
1、通过 CloseAI 代理调用 OpenAI(本课程推荐)
CloseAI 提供与 OpenAI 完全兼容的 API 接口,只需替换 base_url。
.env 配置:
env
OPENAI_API_KEY=sk-你的CloseAI密钥
OPENAI_BASE_URL=https://api.closeai-asia.com/v1代码示例:
python
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
# 无需手动传参,自动读取环境变量 OPENAI_API_KEY 和 OPENAI_BASE_URL
llm = ChatOpenAI(model="gpt-4o-mini")
response = llm.invoke("你好,介绍一下LangChain")
print(response.content)要点:CloseAI 的接口和 OpenAI 完全一致,代码无需任何适配。
langchain-openai包会自动识别OPENAI_API_KEY和OPENAI_BASE_URL这两个环境变量。
2、直连 DeepSeek
DeepSeek 的 API 兼容 OpenAI 接口格式,可以直接使用 ChatOpenAI。
.env 配置:
env
DEEPSEEK_API_KEY=sk-你的DeepSeek密钥
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1代码示例:
python
import os
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
# DeepSeek 兼容 OpenAI 接口,直接用 ChatOpenAI 即可
llm = ChatOpenAI(
model="deepseek-chat", # DeepSeek-V3.2
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url=os.getenv("DEEPSEEK_BASE_URL"),
)
response = llm.invoke("用一句话解释什么是大语言模型")
print(response.content)提示:DeepSeek 也提供了专用的
langchain-deepseek包(uv add langchain-deepseek),用法类似。但由于 DeepSeek 兼容 OpenAI 格式,直接用ChatOpenAI更简单,不需要多装一个包。
3、硅基流动调用开源模型
硅基流动聚合了 50+ 开源模型(DeepSeek、Qwen、GLM 等),同样兼容 OpenAI 接口格式。
.env 配置:
env
SILICONFLOW_API_KEY=sk-你的硅基流动密钥
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1代码示例:
python
import os
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
# 硅基流动的模型名称格式:厂商/模型名
llm = ChatOpenAI(
model="Qwen/Qwen3-8B",
api_key=os.getenv("SILICONFLOW_API_KEY"),
base_url=os.getenv("SILICONFLOW_BASE_URL"),
)
response = llm.invoke("什么是量子计算?")
print(response.content)4、接入不兼容 OpenAI 格式的平台
4.1 ~ 4.3 的平台都兼容 OpenAI 格式,所以直接用 ChatOpenAI 就能搞定。但 Anthropic(Claude)和 Google(Gemini)有自己的 API 格式,需要用对应的专用类,或者用 2.4 节介绍的 init_chat_model 统一管理:
python
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
import os
load_dotenv()
# 一个函数搞定所有提供商,通过 model_provider 参数区分
llm_openai = init_chat_model("gpt-5.4-nano-2026-03-17", model_provider="openai",api_key=os.getenv("OPENAI_API_KEY"),base_url=os.getenv("OPENAI_BASE_URL"))
llm_claude = init_chat_model("claude-opus-4-7", model_provider="anthropic",api_key=os.getenv("ANTHROPIC_API_KEY"),base_url=os.getenv("ANTHROPIC_BASE_URL"))
llm_gemini = init_chat_model("gemini-3.1-flash-lite-preview", model_provider="google_genai",api_key=os.getenv("GEMINI_API_KEY"),base_url=os.getenv("GEMINI_BASE_URL"))
# 调用方式完全一致
for name, llm in [("OpenAI", llm_openai), ("Claude", llm_claude), ("Gemini", llm_gemini)]:
response = llm.invoke("用一句话介绍你自己")
print(f"{name}: {response.content}")5、各平台接入速查表
| 平台 | 用哪个类 | 模型名称示例 | 环境变量 |
|---|---|---|---|
| OpenAI(CloseAI代理) | ChatOpenAI | gpt-4o-mini | OPENAI_API_KEY + OPENAI_BASE_URL |
| DeepSeek | ChatOpenAI | deepseek-chat | DEEPSEEK_API_KEY + DEEPSEEK_BASE_URL |
| 硅基流动 | ChatOpenAI | Qwen/Qwen3-8B | SILICONFLOW_API_KEY + SILICONFLOW_BASE_URL |
| Anthropic | ChatAnthropic | claude-sonnet-4-20250514 | ANTHROPIC_API_KEY |
ChatGoogleGenerativeAI | gemini-2.5-flash | GOOGLE_API_KEY | |
| Ollama(本地) | ChatOllama | qwen3.5:4b | 无需API Key |
发现规律了吗? 凡是兼容 OpenAI 接口格式的平台(DeepSeek、硅基流动 等),都可以直接用
ChatOpenAI,只需改base_url和api_key。
6、调用本地模型
6.1 Ollama介绍
Ollama是一个开源项目,用于在本地运行大语言模型。
特点:
- 支持多种开源模型(Llama、Qwen、DeepSeek等)
- 一键下载和运行
- 适合原型开发和本地测试
- 提供OpenAI兼容的API
6.2 Ollama安装
Windows系统:
- 访问 https://ollama.com/download
- 下载并安装.exe文件
Linux系统:
bash
curl -fsSL https://ollama.com/install.sh | sh6.3 模型下载和运行
bash
# 下载并运行模型(首次使用会自动下载)
ollama run qwen3.5:4b
# 列出已下载的模型
ollama list
# 查看模型信息
ollama show qwen3.5:4b6.4 使用LangChain调用Ollama
python
# uv add langchain-ollama
from langchain_ollama import ChatOllama
# 基本用法
ollama_llm = ChatOllama(model="qwen3.5:4b", base_url="http://localhost:11434")
response = ollama_llm.invoke("你好,介绍一下你自己")
print(response.content)