从 OpenAI 到“国产百模”:一篇搞定国内外大模型 API 调用
本文介绍了国内外主流大模型API的通用调用方法,帮助开发者实现"一次学会,到处调用"。文章首先分析了统一调用范式的必要性,随后提出3步8要素的通用调用框架。接着详细演示了OpenAI官方API及阿里通义千问、百度文心ERNIE、智谱GLM-4等国内模型的调用方式,包括账号注册、密钥获取和代码示例。最后通过横向对比给出选型建议,并提供生产级优化技巧,如环境变量管理、重试机制和并发
一、为什么要“一次学会,到处调用”
2024 年起,大模型进入“百模大战”——OpenAI 依旧领先,但国内阿里、百度、智谱、字节等厂商的模型在中文场景、价格、合规、时延上反而更香。
把“如何调用”抽象成通用套路,就能像搭积木一样随时换底座、随时扩模型,而不用被某一家 API 绑架。
二、通用调用范式(3 步 8 要素)
| 步骤 | 要素 | 说明 | 备注 |
|---|---|---|---|
| ① 准备 | api_key |
各平台控制台领取 | 必须实名认证 |
base_url |
REST 入口 | 国内一般有 OpenAI 兼容和原生两种 | |
model |
模型名 | 大小写敏感 | |
| ② 请求 | messages |
数组,系统/用户/助手 | 可带 system prompt |
temperature |
0-2,采样随机性 | 生产环境建议 0.3-0.7 | |
max_tokens |
最大返回长度 | 防止爆费 | |
| ③ 解析 | choices[0].message.content |
统一取字段 | 异常时看 error.code |
三、OpenAI 官方 API 实战
1. 账号 & 密钥
- 注册 platform.openai.com → Billing 绑卡 → Create new secret key
- 新用户送 $5 额度,用完按需充值。
2. 最小可运行代码(Python)
pip install -U openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"), # sk-xxx
base_url="https://api.openai.com/v1"
)
response = client.chat.completions.create(
model="gpt-4-turbo", # 或 gpt-3.5-turbo
messages=[
{"role": "system", "content": "你是资深 Python 专家"},
{"role": "user", "content": "写一段快速排序并注释"}
],
temperature=0.4,
max_tokens=600
)
print(response.choices[0].message.content)
运行结果会直接返回带注释的 Python 代码。
流式输出把 stream=True 开启,逐块 for chunk in response: 即可。
四、国内大模型
以下示例全部用官方推荐 SDK,也可直接用 REST(curl/axios)
4.1 阿里通义千问(DashScope)
免费额度:注册就送 100 万 token(8K 模型)
特色:OpenAI 兼容格式 + 原生格式双协议;北京/新加坡双地域
① 控制台要点
- 开通阿里云百炼 → 密钥管理 → 创建 API-KEY
- 注意地域:北京
dashscope.aliyuncs.com,新加坡dashscope-intl.aliyuncs.com
② Python 代码(兼容模式,和 OpenAI 同一套写法)
from openai import OpenAI # 照旧用 openai 包
client = OpenAI(
api_key="sk-your-dashscope-key",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
ans = client.chat.completions.create(
model="qwen-plus", # 也可 qwen-max、qwen-turbo
messages=[{"role": "user", "content": "用上海话打招呼"}]
)
print(ans.choices[0].message.content)
③ 原生模式(官方 SDK)
pip install dashscope
from dashscope import Generation
response = Generation.call(
api_key="sk-your-dashscope-key",
model="qwen-plus",
messages=[{"role": "user", "content": "用上海话打招呼"}],
result_format="message"
)
print(response.output.choices[0].message.content)
4.2 百度文心 ERNIE(千帆大模型平台)
免费额度:ERNIE-4.0-8K 送 50 万 token
特色:全面 OpenAI 兼容,支持“函数调用”插件
控制台 4 步曲
- 注册百度智能云 → 实名认证
- 千帆控制台 → 应用管理 → 创建应用 → 拿到
API Key+Secret Key - 模型服务页搜索 ERNIE → 立即开通
- 权益中心领取免费包
Python 示例(ERNIE-4.0)
from openai import OpenAI
client = OpenAI(
api_key="your-ernie-api-key",
base_url="https://qianfan.baidubce.com/v2" # 注意 v2
)
resp = client.chat.completions.create(
model="ernie-4.0-8k", # 也可 ernie-speed、ernie-lite
messages=[{"role": "user", "content": "写一副春联"}],
temperature=0.7
)
print(resp.choices[0].message.content)
4.3 智谱 GLM-4
免费额度:注册送 500 万 token(GLM-3-Turbo)
特色:长上下文 128 K、支持工具调用 & 知识检索
快速开始
pip install zhipuai
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="your-glm-key")
resp = client.chat.completions.create(
model="glm-4", # 或 glm-3-turbo
messages=[{"role": "user", "content": "一句话介绍清华"}]
)
print(resp.choices[0].message.content)
五、横向对比 & 选型建议
| 厂商 | 模型 | 中文 | 免费额度 | 单价(1k input) | 兼容OpenAI | 备案 |
|---|---|---|---|---|---|---|
| OpenAI | gpt-4 | ★★☆ | $5 | $0.03 | ✅ | ❌ |
| 阿里云 | qwen-plus | ★★★ | 100万 | ¥0.012 | ✅ | ✅ |
| 百度 | ernie-4.0 | ★★★ | 50万 | ¥0.06 | ✅ | ✅ |
| 智谱 | glm-4 | ★★★ | 500万 | ¥0.015 | ✅ | ✅ |
价格随活动浮动,以官网为准。国内模型在中文成语、诗词、方言上表现更优,且无需翻墙。
六、通用 REST 模板(curl)
任何支持 HTTP 的终端都能照搬:
curl -X POST "$BASE_URL/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "your-model-name",
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"}
],
"temperature": 0.5,
"max_tokens": 512
}'
七、生产级小贴士
- 环境变量管理
用.env+python-dotenv或export注入,禁止硬编码密钥。 - 重试 & 限流
用tenacity或backoff做指数退避,防止 429/5xx 重试风暴。 - 并发提速
异步asyncio+aiohttp调用多模型,做“投票融合”提升效果。 - 流式输出
前端EventSource逐字渲染,用户体验更丝滑。 - 审计 & 计费
记录usage.total_tokens并落库,方便月底对账。
八、结语
从 OpenAI 到通义千问、文心、GLM,接口层正在快速收敛——学会一个套路,就能一键切换底座。
把今天 8 要素模板封装成内部 SDK,你的应用将永远拥有“模型自由”。
学习代码
更多推荐


所有评论(0)