🎯 课程主题
介绍通过OpenRouter和CloseAI两个中转平台调用国内外大模型,包括使用专用类ChatOpenRouter和通过ChatOpenAI兼容方式在CloseAI平台调用模型。
📝 核心知识点
1. 中转平台的概念与优势
- 概念说明:中转平台是第三方镜像网站,专门转发各大模型厂商的API服务,集成多家国内外模型供统一调用,通过收取中介费盈利。
- 关键细节:
- 相比于单一模型官网,平台提供更丰富的模型选择(包括大语言模型、视频、语音等多模态模型)。
- 相比于阿里云百炼等国内平台,OpenRouter和CloseAI可以调用国外的顶尖闭源模型(如GPT、Claude、Gemini)。
2. OpenRouter平台
- 概念说明:全球最主流的模型中转平台(英文界面),提供300+大语言模型,支持微信/支付宝充值。
- 关键细节:
- 使用
ChatOpenRouter专用类进行调用。 - 需要梯子/魔法才能访问。
- 最少充值5美元,有试用额度可测试。
- 约定环境变量名:
OPENROUTER_API_KEY、OPENROUTER_API_BASE。 - 也可使用
ChatOpenAI兼容方式调用OpenRouter。
- 使用
3. CloseAI平台
- 概念说明:号称亚洲最大的模型中转平台(中文界面),无需梯子即可访问,可调用国内外主流大模型。
- 关键细节:
- CloseAI没有专用类(
ChatCloseAI不存在),必须使用ChatOpenAI兼容方式调用。 - Base URL从CloseAI控制台的"快速接入"文档中获取。
- 可设置API Key的月度消费限额。
- 课程后续章节将以CloseAI平台为主进行演示。
- CloseAI没有专用类(
4. 平台模型调用流程统一性
- 概念说明:无论使用哪种平台或哪种调用方式,核心流程不变:加载配置文件 → 初始化模型 → 调用invoke。
- 关键细节:平台类的环境变量自动加载机制与厂商专用类一致——只要.env中变量名与类约定的名称匹配,即可省略显式传参。
🏗️ 架构与工作流
中转平台
├── OpenRouter (ChatOpenRouter专用类 / ChatOpenAI兼容)
│ ├── 国内模型:DeepSeek等
│ └── 国外模型:GPT-4o-mini、Claude、Gemini等
└── CloseAI (仅ChatOpenAI兼容方式,无专用类)
├── 国内模型:DeepSeek等
└── 国外模型:GPT-5.4-mini等
💻 代码实战
# ========== 3.1 使用 OpenRouter 平台 ==========
import os
from dotenv import load_dotenv
from langchain_openrouter import ChatOpenRouter
load_dotenv(override=True)
# 调用国内模型:DeepSeek
model = ChatOpenRouter(
model="deepseek/deepseek-chat",
api_key=os.getenv("OPENROUTER_API_KEY"),
base_url=os.getenv("OPENROUTER_API_BASE")
)
response = model.invoke("请用一句话介绍你自己")
print(response)
# 调用国外模型:GPT-4o-mini
model = ChatOpenRouter(
model="openai/gpt-4o-mini",
api_key=os.getenv("OPENROUTER_API_KEY"),
base_url=os.getenv("OPENROUTER_API_BASE")
)
response = model.invoke("请用一句话介绍你自己")
print(response)
# ========== 3.2 使用 CloseAI 平台(ChatOpenAI 兼容方式) ==========
from langchain_openai import ChatOpenAI
load_dotenv(override=True)
# CloseAI 没有专用类,必须使用 ChatOpenAI 兼容方式
model = ChatOpenAI(
model="deepseek-chat",
api_key=os.getenv("CLOSEAI_API_KEY"),
base_url="https://api.closeai-asia.com/v1" # CloseAI 的 OpenAI 兼容端点
)
response = model.invoke("请用一句话介绍你自己")
print(response)
# 调用国外模型:GPT-5.4-mini(仅需替换 model)
model = ChatOpenAI(
model="gpt-5.4-mini",
api_key=os.getenv("CLOSEAI_API_KEY"),
base_url="https://api.closeai-asia.com/v1"
)
response = model.invoke("请用一句话介绍你自己")
print(response)
.env 文件追加:
# 从 OpenRouter 平台获取的配置信息
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_API_BASE=https://openrouter.ai/api/v1
# 从 CloseAI 平台获取的配置信息
CLOSEAI_API_KEY=your_closeai_api_key_here
CLOSEAI_BASE_URL=https://api.closeai-asia.com/v1
⚠️ 常见问题与避坑指南
- CloseAI无专用类:不能使用类似
ChatCloseAI的类(不存在),必须使用ChatOpenAI兼容方式配合CloseAI的Base URL进行调用。 - Jupyter Notebook注意导入:若重新启动了PyCharm或Jupyter Notebook,之前cell中执行的
import不会保留,需要重新执行导入语句。 - OpenRouter需梯子:无梯子环境建议使用CloseAI替代。
- CloseAI的Base URL:注意使用新的端点地址,旧地址可能已废弃。从CloseAI控制台的"快速接入"文档中获取最新地址。
- API Key限额:CloseAI创建Key时可设置月度消费上限,防止意外超额消费。
- OpenRouter也可用ChatOpenAI兼容方式:不仅
ChatOpenRouter可用,ChatOpenAI配合OpenRouter的Base URL同样可调用,方式更灵活。
💡 个人总结与延伸
中转平台是个人开发者和中小团队调用国外大模型的最佳选择——避免了在多个厂商官网分别注册和充值的麻烦。课程选择CloseAI作为后续章节的主平台兼顾了三个优势:无需梯子、中文界面友好、国内外模型齐全。值得注意的是,平台本质上是API服务的"代理层",调用成本和延迟理论上略高于直接调用厂商官网,但对于学习和原型开发来说影响可忽略。在生产环境中,如果对成本和延迟有严格要求,建议直接对接模型厂商官网。