别再到处找文档了!大模型 API 统一接入实战:6 家厂商一套代码搞定(附完整代码)
前言:为什么你该自己接 API,而不是一直用网页版
做业务系统、做客服机器人、做内容生成工具,迟早要碰大模型 API。但一上手就懵:
- OpenAI、通义千问、DeepSeek、智谱 GLM、Kimi、MiniMax……每家文档都不一样;
- 有的用
/v1/chat/completions,有的用/v4,有的字段还对不上;
- 价格、限流、上下文长度各家不同,选型一拍脑袋就超预算。
其实 90% 的国产大模型都兼容 OpenAI 协议。本文用一套 Python 代码,把 6 家主流厂商统一接入,并附上选型对比表和避坑指南。看完你就能直接抄进项目。
一、核心认知:OpenAI 兼容协议是"普通话"
OpenAI 把 chat.completions 这套接口做成了事实标准。国内厂商为了降低迁移成本,基本都提供了 OpenAI 兼容 endpoint:你只要改 base_url 和 api_key,同一套 SDK 就能调通。
这意味着:
- 不用为每家模型单独写一套 HTTP 请求;
- 以后换模型,只改一个配置,业务代码零改动;
- 做"多模型路由"也只需在配置层切换。
二、环境准备
pip install openai
只需要这一个 SDK,6 家通吃。
三、统一调用实战
3.1 最简调用(以通义千问为例)
from openai import OpenAI
# 只改 base_url 和 api_key,其余代码完全通用
client = OpenAI(
api_key="你的_API_KEY",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
resp = client.chat.completions.create(
model="qwen-plus",
messages=[{"role": "user", "content": "用一句话解释什么是大模型 API"}]
)
print(resp.choices[0].message.content)
3.2 流式输出(打字机效果,体验更好)
stream = client.chat.completions.create(
model="qwen-plus",
messages=[{"role": "user", "content": "给我写一段产品介绍"}],
stream=True
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
3.3 多轮对话(带记忆)
messages = [
{"role": "system", "content": "你是一个严谨的售前客服助手"},
{"role": "user", "content": "你们支持私有化部署吗?"},
]
resp = client.chat.completions.create(model="qwen-plus", messages=messages)
reply = resp.choices[0].message.content
print(reply)
# 关键:把助手回复追加回 messages,模型才有"记忆"
messages.append({"role": "assistant", "content": reply})
messages.append({"role": "user", "content": "那价格大概多少?"})
3.4 各家 base_url & model 速查表
| 厂商 | base_url | 代表 model | 说明 |
|---|---|---|---|
| 阿里云·通义千问 | https://dashscope.aliyuncs.com/compatible-mode/v1 | qwen-plus / qwen-max |
生态全,企业级稳 |
| DeepSeek | https://api.deepseek.com/v1 | deepseek-chat / deepseek-reasoner |
性价比极高,推理强 |
| 智谱 GLM | https://open.bigmodel.cn/api/paas/v4 | glm-4-plus / glm-4-flash |
中文友好,flash 几乎免费 |
| Kimi(月之暗面) | https://api.moonshot.cn/v1 | moonshot-v1-8k |
超长上下文,读长文档强 |
| MiniMax | MiniMax | abab6.5s-chat |
音视频多模态有优势 |
| OpenAI | https://api.openai.com/v1 | gpt-4o / gpt-4o-mini |
能力天花板,需合规接入 |
接口地址和模型名会随官方调整,接入前请以各厂商最新文档为准。
四、6 家主流模型选型对比
价格随官方活动浮动,下表为撰文时参考区间(单位:元 / 百万 tokens),实际以官网实时报价为准。
| 模型 | 上下文 | 最擅长 | 输入参考价 | 输出参考价 | 适合谁 |
|---|---|---|---|---|---|
| DeepSeek-V3 | 64K | 通用、代码、推理 | ¥1 | ¥4 | 成本敏感、量大 |
| 通义 qwen-plus | 32K | 中文、企业集成 | ¥0.8 | ¥2 | 阿里云生态、稳妥派 |
| 智谱 glm-4-flash | 128K | 轻量任务 | ≈免费 | ≈免费 | 试水、低频调用 |
| Kimi | 最高 128K+ | 超长文档/论文 | ¥1 | ¥1 | 长文本分析 |
| MiniMax | 32K | 多模态/语音 | ¥1 | ¥1 | 音视频场景 |
| GPT-4o | 128K | 综合最强 | 需合规 | 需合规 | 不差钱/强需求 |
一句话选型建议:量大省钱 → DeepSeek;要稳妥+中文+生态 → 通义千问;长文档 → Kimi;试试水 → 智谱 flash。
五、企业接入避坑指南(踩过的雷都在这)
- 密钥安全:
api_key必须放服务端环境变量,前端硬编码 = 排队被盗刷。用os.getenv("API_KEY")读取。 - 限流(429):高并发要加重试 + 退避(exponential backoff),别硬刚。
- 成本控制:设置
max_tokens上限;用便宜模型做"预处理/路由",贵模型只做核心推理。 - 超时与降级:某家挂了自动切备选模型(多模型路由),别让业务单点故障。
- 内容安全:面向 C 端必须接内容审核,避免违规输出。
- 数据合规:用户数据别明文往外传,敏感场景考虑混合部署。
六、进阶:多模型路由示例
python
MODELS = {
"cheap": {"base_url": "https://api.deepseek.com/v1", "model": "deepseek-chat"},
"long": {"base_url": "https://api.moonshot.cn/v1", "model": "moonshot-v1-8k"},
"stable": {"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1", "model": "qwen-plus"},
}
def chat(route: str, messages: list):
cfg = MODELS[route]
client = OpenAI(api_key=os.getenv("API_KEY"), base_url=cfg["base_url"])
return client.chat.completions.create(model=cfg["model"], messages=messages)
一个配置字典,按场景切模型,成本和维护量直接砍半。
上面这套方案工程上不复杂,真正的难点在选型、成本和稳定性:用贵了、限流扛不住、换模型改不动代码,是大多数团队踩过的坑。
我把文中所有代码整理成了可直接运行的完整工程,外加一份《6 家大模型 API 实时选型对比表》和限流/成本配置模板。需要的话可以看我 CSDN 主页简介获取,或者在评论区留言「API」,我看到都会回。
如果你在接入时遇到具体问题(路由怎么设计、成本怎么压、长上下文怎么处理),也欢迎评论区交流——实战问题一起聊。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)