前言:为什么你该自己接 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。

五、企业接入避坑指南(踩过的雷都在这)

  1. 密钥安全api_key 必须放服务端环境变量,前端硬编码 = 排队被盗刷。用 os.getenv("API_KEY") 读取。
  2. 限流(429):高并发要加重试 + 退避(exponential backoff),别硬刚。
  3. 成本控制:设置 max_tokens 上限;用便宜模型做"预处理/路由",贵模型只做核心推理。
  4. 超时与降级:某家挂了自动切备选模型(多模型路由),别让业务单点故障。
  5. 内容安全:面向 C 端必须接内容审核,避免违规输出。
  6. 数据合规:用户数据别明文往外传,敏感场景考虑混合部署。

六、进阶:多模型路由示例

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」,我看到都会回。

如果你在接入时遇到具体问题(路由怎么设计、成本怎么压、长上下文怎么处理),也欢迎评论区交流——实战问题一起聊。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐