one-key-all-models · ZH · 2026-09-26

一个 key 调所有模型

一个 API key 即可调用多个主流 LLM 的实践指南,涵盖 OpenAI 兼容接口的使用方法,以及如何通过修改 model 字段在 Claude、GPT、DeepSeek、Qwen、GLM、Kimi 等模型间自由切换。

为什么需要「一个 key 调所有模型」

开发者常面临这样的麻烦:想对比不同模型的效果,就得去各个平台注册账号、申请 key、学习不同的 API 规范,还要分别管理余额和账单。如果有一个聚合平台,能用同一个 key 、同一套接口调用多个模型,就能省去大量重复工作。

这类平台通常兼容 OpenAI 的接口格式,你只需要把请求中的 baseurl 和 apikey 换成聚合站提供的,就能像调用 GPT 一样调用其他模型。

核心机制:OpenAI 兼容接口

OpenAI 的 Chat Completions 接口已经成为事实上的行业标准。大多数模型服务商都提供了兼容层,允许你用相同的请求结构访问自己的模型。

一个典型的请求如下:

{
  "model": "gpt-4o",
  "messages": [
    {"role": "user", "content": "你好"}
  ]
}

聚合站做的事,就是接收这个格式的请求,根据 model 字段路由到对应的后端服务,再把结果按同样的格式返回。对你而言,代码几乎不需要改动,只需替换 baseurl 和 apikey。

如何切换模型:修改 model 字段

这是整个流程中最关键的一步。切换模型时,只需要把请求体中的 model 值改成目标模型标识符。例如:

  • 调用 Claude 时,model 设为 claude-3-5-sonnet 之类的标识;
  • 调用 GPT 时,设为 gpt-4o 或 gpt-4o-mini;
  • 调用 DeepSeek 时,设为 deepseek-chat;
  • 调用 Qwen 时,设为 qwen-max 或 qwen-plus;
  • 调用 GLM 时,设为 glm-4;
  • 调用 Kimi 时,设为 moonshot-v1-8k。

具体可用的模型标识符请以聚合站的模型列表为准。通常它们会提供一个 /v1/models 接口供你查询,或者直接在文档中列出。

代码示例:用 Python 调用不同模型

假设你使用 OpenAI 的 Python SDK,只需初始化一次客户端,之后通过修改 model 参数来切换模型:

from openai import OpenAI

client = OpenAI(
    base_url="https://api.example.com/v1",  # 聚合站的接口地址
    api_key="sk-你的聚合站key"
)

# 调用 Claude
resp1 = client.chat.completions.create(
    model="claude-3-5-sonnet",
    messages=[{"role": "user", "content": "你好"}]
)
print(resp1.choices[0].message.content)

# 调用 DeepSeek
resp2 = client.chat.completions.create(
    model="deepseek-chat",
    messages=[{"role": "user", "content": "你好"}]
)
print(resp2.choices[0].message.content)

其他语言(Node.js、Go、Java 等)的官方 SDK 或社区 SDK 也支持自定义 base_url,用法类似。

注意事项

  • 模型标识符可能变化:不同聚合站对模型的命名可能略有差异,使用前请查阅其最新文档。
  • 功能支持差异:并非所有模型都支持相同的参数(如 temperature、top_p、函数调用、流式输出等)。如果某模型不支持某个参数,可能会报错或忽略。
  • 计费方式:聚合站通常按官方价格乘以一个系数扣费。例如,用户按官方价 ×1.3 扣费,而贡献 key 的用户可按官方价 ×1.1 或 ×1.2 获得 USDC 返还。具体系数以平台说明为准。
  • 网络与延迟:请求经过聚合站中转,可能会增加少量延迟,但通常不影响使用。
  • 错误处理:如果模型标识错误或服务不可用,接口会返回错误信息,建议做好重试和降级逻辑。

总结

通过聚合站的 OpenAI 兼容接口,你可以用一个 key、一套代码调用多个主流 LLM。核心操作就是修改 model 字段。这种方式降低了多模型开发和测试的复杂度,适合需要灵活切换或对比模型的场景。