大模型 API 高可用:一把 Key 配多个分组,按优先级自动切换
一把 API Key 可以按优先级设置最多 5 个分组:每次请求用排在最前、提供该模型的分组,按实际使用的分组计价;开启跨分组重试后,当前分组重试仍失败就换到下一个分组。本文讲切换规则、顺序怎么排、控制台怎么设置、在日志里怎么确认,以及什么时候该改用多把 Key。
同一个模型通常在好几个分组里都有,每个分组走一条独立的线路。做高可用,就是让一把 Key 同时挂上几个分组:在控制台把 Key 的分组方式设为「多个分组 · 自动切换」,按优先级排好最多 5 个分组,再打开「跨分组重试」。之后每次请求先用排在最前、提供该模型的分组;这个分组出错、重试也失败时,平台把同一个请求换到下一个分组继续尝试。每次请求按实际服务它的分组计价,具体是哪个分组,在操作日志里能查到。
切换规则
一次请求依次经过三步:
- 选分组:按 Key 设置的顺序,找第一个提供这个模型的分组。排在前面的分组没有这个模型,就直接跳过。
- 计价:按实际服务这次请求的分组计费,价格 = 模型标准价 × 该分组的倍率。
- 出错重试:遇到可以重试的错误,平台先在同一个分组里重试 1 次。开启跨分组重试时,重试仍然失败就换到下一个分组,同样最多试 2 次,直到分组用完;没有开启时,错误直接返回给你。
不同情况下的结果:
| 情况 | 未开启跨分组重试 | 开启跨分组重试 |
|---|---|---|
| 前面的分组没有这个模型 | 用后面第一个提供该模型的分组 | 同左 |
| 线路返回 429、多数 5xx,或者连接失败 | 同一分组重试 1 次,仍失败就返回错误 | 同一分组重试 1 次,仍失败换下一个分组 |
| 400 这类请求本身的错误,或线路返回 504 网关超时 | 不重试,直接返回 | 同左 |
| 账户或 Key 层面的拒绝:余额不足、Key 过期、IP 或模型不在白名单 | 直接返回,换分组也解决不了 | 同左 |
| 所有分组都没有这个模型 | 返回 503,错误码 model_not_found | 同左 |
同一分组内的重试走的还是这个分组的线路,能消化偶发的抖动;线路持续出问题时,要靠跨分组重试换到别的分组。
顺序怎么排
排在第一的分组会承担几乎全部流量,按你最看重的条件选它;后面的分组是备用,切过去的请求按后面分组的价格计费。先看清同一个模型在各个分组的价格:
| 分组 | 输入 ¥/百万 | 输出 ¥/百万 | 缓存读取 ¥/百万 |
|---|---|---|---|
| 标准 | ¥4 | ¥20 | ¥0.4 |
| 官方原价·企业 | ¥21.9 | ¥109.5 | ¥2.19 |
| Claude 官方 | ¥15 | ¥75 | ¥1.5 |
| Claude 原价 | ¥24 | ¥120 | ¥2.4 |
| Claude 优质 | ¥8 | ¥40 | ¥0.8 |
| Claude 经济最低价 | ¥3.2 | ¥16 | ¥0.32 |
Claude Sonnet 5.5 · 价格为人民币,取各模型最低价分组;价格更新于 2026年11月13日 17:58。
三种常见排法:
| 目标 | 怎么排 | 注意 |
|---|---|---|
| 稳定和来源优先 | 带「官方转发」或「云厂商」标签的分组排前面,价格低、模型多的分组放最后兜底 | 平时按前面分组的价格计费,切到兜底分组的请求按兜底分组的价格计费 |
| 成本优先 | 带「最低价」标签的分组排前面,官方分组排后面作备用 | 前面的分组出错时才切到后面更贵的分组,这部分请求按备用分组计价 |
| 一把 Key 调用多家模型 | 把各家模型对应的官方分组都加进去 | 每个请求落在第一个提供该模型的分组,不同厂商的模型自然分到各自的分组 |
各分组的标签和说明见选择分组;某个模型在哪些分组有,打开它在模型与价格里的详情页就能看到。
在控制台设置
- 打开控制台「令牌」页,点「添加令牌」,或者编辑一把已有的 Key。
- 在「令牌分组」里,把分组方式选成「多个分组 · 自动切换」。
- 在「自动分组顺序」里添加分组,用上移、下移调整顺序,越靠前优先级越高,最多 5 个。分组旁边的 ×1、×0.8 是价格倍率,倍率越低越便宜。
- 打开「跨分组重试」。
- 给这把 Key 设额度上限;需要的话再设模型限制和 IP 白名单。
- 保存。设置立即生效,调用代码不用改。
不添加分组时,这把 Key 跟随本站的默认顺序。默认顺序目前只有一个分组,起不到切换的作用,所以请自己添加分组并排好顺序。
保存后,令牌列表里这把 Key 显示为「自动」,后面跟着编号的分组;鼠标移到上面,能看到跨分组重试是否开启。
确认请求走了哪个分组
- 「操作日志」:每条消费记录的「分组」一栏是实际服务这次请求的分组,不会显示成「自动」。按令牌名称和分组筛选,就能看到每个分组承担了多少请求、花了多少钱。
- 「数据看板」:「令牌与分组」一栏按令牌、分组和模型汇总消费,主分组和备用分组各占多少一目了然。
- 模型列表接口:用这把 Key 调用
GET /v1/models,返回的是它所有分组提供的模型的合集;开了模型限制时,只包含允许的模型。
上线前检查
- 用这把 Key 调用模型列表接口,确认要用的模型都在。
- 打开服务状态,看热门模型在各分组线路近 24 小时的成功率和延迟,作为排顺序的参考;其他模型在模型详情页的「可用性」标签里看。
- 发一批真实请求,到操作日志里确认分组和扣费符合预期。
客户端还要做什么
平台的切换解决的是线路故障,客户端仍然要有自己的超时和重试:
- 超时别设得太短。平台在分组之间切换需要时间,客户端先超时放弃,平台的切换就白做了。
- 对 429 和 5xx 做退避重试,做法见错误码与重试。
- 流式请求开始输出之后中途断开,需要客户端自己判断和重发,见错误码与重试里「流式请求出错」一节。
什么时候改用多把 Key
多分组 Key 由平台按固定规则切换。下面这些情况,用两把不同分组的 Key、在代码里自己切换更合适,也可以两种方式叠加:
| 需求 | 为什么要用多把 Key |
|---|---|
| 主备线路分别封顶、分别对账 | 额度上限按 Key 计算,一把 Key 里的几个分组共用一个上限 |
| 切换时顺便换模型,比如降级到更便宜的模型 | 平台切换只换分组,不换模型 |
| 504 网关超时或客户端超时也要切换 | 平台不会因为这些错误换分组 |
| 主备线路需要不同的模型限制或 IP 白名单 | 这些设置属于 Key,一把 Key 只有一套 |
两把 Key 做故障切换的示例代码见如何选分组。团队里怎么按项目和环境分 Key,见团队和多个项目共用一个账号。
常见问题
一把 Key 最多能设置几个分组?
最多 5 个,按优先级排列,越靠前越优先。在控制台「令牌」页新建或编辑 Key,把分组方式选成「多个分组 · 自动切换」就能设置。
切换到后面的分组时,价格怎么算?
每次请求按实际服务它的分组计价,也就是模型标准价乘以该分组的倍率。后面的分组如果更贵,切过去的请求就按更贵的价格扣费,所以建议给这把 Key 设额度上限。
不开跨分组重试,设置多个分组还有用吗?
有用,但只在一种情况下换分组:前面的分组没有这个模型时,请求直接用后面提供该模型的分组。前面的分组有这个模型、只是请求出错时,不会换分组,错误会返回给你。
怎么知道某次请求用的是哪个分组?
看控制台「操作日志」里这条消费记录的「分组」一栏,显示的就是实际服务这次请求的分组。也可以按分组筛选,看每个分组承担了多少请求。
能在请求里临时指定分组吗?
不能。分组只由 Key 的设置决定。需要不同的分组组合,就建不同的 Key。