上周接了个客服问答的活,客户要求对比几个模型的实际效果。DeepSeek 便宜、量大,适合铺底;通义千问在中文语气上更自然,想着两个都跑一遍。结果光是注册就耗掉一下午:一个平台要企业认证,一个要绑卡充值,额度还各自独立。最烦的是脚本里躺着三套 SDK、三份 key,改个参数得翻半天文档。后来换成聚合网关的写法,只维护一个 key 和一段 base_url,换模型就是改一个字符串。下面把这套配置记下来。
准备工作
一个 OpenAI 兼容协议的网关账号(充站这类站点,注册一次拿到 key 就行),Python 环境装好 openai 包。选网关的核心原因是请求体格式统一,不用管各家 SDK 的参数差异,省掉适配层。
第一步:改 API 地址
原来指向 api.openai.com 的 base_url,换成网关控制台给的那条。key 也一并换掉。注意 base_url 末尾通常要带 /v1,不然路径拼不上,会报 404。
client = OpenAI( api_key=os.getenv("GATEWAY_KEY"), base_url="https://api.chongzhan.example/v1" )
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "帮我优化这段 SQL"}]
)
print(resp.choices[0].message.content)
`
第二步:换模型名
同一个 client,把 model 换掉就是另一家。qwen-plus、qwen-max、deepseek-chat 都只是字符串。跑对比实验直接循环:
有个坑提前说:部分推理模型不支持 temperature,传了会直接报 400。报错先看这个,别急着怀疑 key。
第三步:模型名抽到配置里
跑通之后别把 model 写死在代码里,挪到环境变量或配置文件,压测、灰度、回滚都方便。
几句建议
key 别进 git,一律走环境变量;先用便宜模型把链路跑通,再切贵的做效果验证;聚合网关是统一余额,做对比实验容易一时兴起把额度烧光,先去控制台设个日限额。
充站这类站点注册充值一次,一个 key 就能横跨 DeepSeek、通义、Kimi 这些模型,省下来的是实名认证和分散记账的时间,代码里那点改动基本可以忽略。