Skip to content

多平台接入实战

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_KEYOPENAI_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代理)ChatOpenAIgpt-4o-miniOPENAI_API_KEY + OPENAI_BASE_URL
DeepSeekChatOpenAIdeepseek-chatDEEPSEEK_API_KEY + DEEPSEEK_BASE_URL
硅基流动ChatOpenAIQwen/Qwen3-8BSILICONFLOW_API_KEY + SILICONFLOW_BASE_URL
AnthropicChatAnthropicclaude-sonnet-4-20250514ANTHROPIC_API_KEY
GoogleChatGoogleGenerativeAIgemini-2.5-flashGOOGLE_API_KEY
Ollama(本地)ChatOllamaqwen3.5:4b无需API Key

发现规律了吗? 凡是兼容 OpenAI 接口格式的平台(DeepSeek、硅基流动 等),都可以直接用 ChatOpenAI,只需改 base_urlapi_key


6、调用本地模型

6.1 Ollama介绍

Ollama是一个开源项目,用于在本地运行大语言模型。

特点

  • 支持多种开源模型(Llama、Qwen、DeepSeek等)
  • 一键下载和运行
  • 适合原型开发和本地测试
  • 提供OpenAI兼容的API

6.2 Ollama安装

Windows系统

Linux系统

bash
curl -fsSL https://ollama.com/install.sh | sh

6.3 模型下载和运行

bash
# 下载并运行模型(首次使用会自动下载)
ollama run qwen3.5:4b

# 列出已下载的模型
ollama list

# 查看模型信息
ollama show qwen3.5:4b

6.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)