Blog· 观点

全部文章

OpenAI API 与 OpenAI 兼容网关:什么时候该换、代码要改哪里(2026)

2026-08-19 · 阅读 4 分钟hung-chien · AI 增长与品牌经理

本页目录 · 8
  1. 01简短回答
  2. 02OpenAI 平台已经提供的管控
  3. 03直接接入的局限
  4. 04代码要改哪里
  5. 05同一个工作负载在六个模型上的花费
  6. 06迁移清单
  7. 07延伸阅读
  8. 08常见问题

OpenAI 兼容 API 是接受与 OpenAI API 相同请求和响应格式的端点,官方 OpenAI SDK 更换 base URL 和密钥后就能调用它。本文整理 OpenAI 平台本身已经能管住什么、网关从哪一刻开始划算、实际要改的代码,以及同一个工作负载在六个模型上的花费。

简短回答

只有一个团队、只用 OpenAI 模型,而且 OpenAI 的项目上限已经满足你的预算规则,就直接用 OpenAI API。

出现下列任一情况,就该加一层 OpenAI 兼容网关:

  • 第二家供应商进来了,例如写代码用 Claude、大批量分类用 Gemini Flash,而财务希望只有一张账单、一套上限。
  • 多个团队共用一笔 AI 预算,每个团队都需要跨供应商的上限和模型清单。
  • 想用自己的提示词对比模型,又不想接入三套 SDK。

OpenAI 平台已经提供的管控

单一供应商时,过去需要网关才能实现的管控,OpenAI 大多已经自己做了:

  • 项目可以把测试和生产环境分开,各自有密钥、速率上限和消费上限(生产环境最佳实践)。
  • 两种消费管控:消费提醒只发通知,流量照常;硬性消费上限会让受影响的请求返回 429(速率限制说明)。
  • 项目级的“Model usage”设置,限制项目可以调用哪些模型(管理项目)。
  • 使用量等级(usage tier)会在累计付款达到一定金额前限制每月消费,从 Tier 1 每月 100 美元到 Tier 5 每月 200,000 美元。

如果流量全部是 OpenAI,先把这些功能用好。

直接接入的局限

上面这些上限只覆盖 OpenAI 的模型。团队一接入 Claude,Anthropic 控制台就有另一套工作区、消费上限和密钥(Anthropic 工作区)。再加上 Gemini,就是第三个控制台。实际情况会变成:

  • 有人离职时,要在三个地方签发和吊销密钥。
  • 三套互相看不到的预算,“客服机器人每月跨所有供应商最多花 3,000 美元”这条规则没有地方能执行。
  • 月底收到三张格式不同的账单。
  • 代码分散在 OpenAI、Anthropic、Google 三套 SDK 里。

网关在它们前面放一套密钥、上限和日志。

代码要改哪里

用 ATP Token 时 OpenAI SDK 照常使用,只改三个值(OpenAI SDK 说明、从 OpenAI 迁移):

from openai import OpenAI

# 原来:client = OpenAI(api_key="sk-...")
client = OpenAI(base_url="https://api.atptoken.ai/v1", api_key="atp-...")

for model in ["gpt-5.4", "claude-sonnet-4-6", "gemini-3-5-flash"]:
    r = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": "请给这张工单分类:“退款十天还没到账”"}],
        max_tokens=200,
    )
    print(model, r.choices[0].message.content, r.usage.total_tokens)

不变的部分:Chat Completions 的请求内容、响应内容、stream=True 的流式输出(OpenAI SSE),以及工具定义。

会变的部分:

  • 模型 id 以 GET /v1/models 返回的为准(模型查询)。OpenAI 模型沿用 gpt-5.4 这类熟悉的名称;其他模型用 claude-sonnet-4-6、deepseek-v4-flash 这类 id。
  • 不在项目允许清单上的模型,会在发往任何供应商之前返回 403。
  • 项目点数用完时,请求返回 402(错误)。
  • ATP 的 OpenAI 格式端点是 /v1/chat/completions、/v1/models 和 /v1/files。代码如果调用其他 OpenAI 端点,迁移前先查 API 参考。

使用 Anthropic 或 Google GenAI SDK 的团队不必改成 OpenAI 格式:同一个项目密钥也能在 https://api.atptoken.ai 配合这两套 SDK 使用(Anthropic SDK、Google GenAI SDK)。

同一个工作负载在六个模型上的花费

假设一个分类服务每月处理 100 万个请求,每个请求输入 1,000 个 token、输出 300 个 token,也就是每月 10 亿个输入 token、3 亿个输出 token。按各模型页的标价:

模型 输入/输出(每 100 万 token) 每月输入 每月输出 每月合计
gpt-5.5 $5 / $30 $5,000 $9,000 $14,000
claude-sonnet-4-6 $3 / $15 $3,000 $4,500 $7,500
gpt-5.4 $2.5 / $15 $2,500 $4,500 $7,000
gemini-3-5-flash $1.5 / $9 $1,500 $2,700 $4,200
claude-haiku-4-5 $1 / $5 $1,000 $1,500 $2,500
deepseek-v4-flash $0.2 / $0.4 $200 $120 $320

价格只是决策的一半。换模型之前,先拿几百张真实工单,跑一遍达到质量标准的两三个最便宜的模型。可以从 DeepSeek 与 Claude、Gemini 与 GPT 的并排对比页开始。

迁移清单

  1. 列出代码里每个创建 OpenAI client 的地方,以及各自调用的端点。
  2. 每个服务在 ATP 创建一个项目,只启用该服务需要的模型(工作区与项目)。
  3. 给每个项目拨点数,拨款额度就是上限(预算上限)。
  4. 每个项目签发一个密钥,存进密钥管理工具(管理密钥)。
  5. 先在测试环境修改 base URL、密钥和模型 id,在请求日志里比对输出和 token 数(用量与日志)。
  6. 生产环境一次迁移一个服务,最后吊销不再使用的 OpenAI 密钥。

从快速开始上手

延伸阅读

OpenAI 兼容 APIOpenAI APIATP

常见问题

什么是 OpenAI 兼容 API?

指接受与 OpenAI 相同请求和响应格式的 API,通常是 Chat Completions 端点。官方 OpenAI SDK 更换 base URL 和 API 密钥后就能直接调用。

可以用 OpenAI SDK 调用 Claude 或 Gemini 吗?

可以,通过 OpenAI 兼容网关。在 ATP Token 上把 base_url 设为 https://api.atptoken.ai/v1,使用项目密钥,model 填 claude-sonnet-4-6 或 gemini-3-5-flash 这类 id。

OpenAI 能为每个项目设置消费上限吗?

能。OpenAI 项目可以设置消费提醒(只通知,流量照常)和硬性消费上限(受影响的请求返回 429),也能限制项目可以使用哪些模型。

OpenAI API 有哪些替代方案?

从模型能力看,常见替代是 Anthropic 的 Claude、Google 的 Gemini,以及 DeepSeek、Qwen 等开放权重模型。想同时使用多家又不改代码,就通过 OpenAI 兼容网关调用。

改用 OpenAI 兼容网关需要重写代码吗?

如果用的是 Chat Completions,通常不需要。更换 base URL、密钥和模型 id 即可。代码如果还用到其他 OpenAI 端点,先对照网关的 API 参考。
开始使用

一把密钥,让每一次模型调用都有记录

项目层级 API 密钥、模型允许清单、逐请求记录与用量点数——USD 5 起充值。