跳到正文
土土金API

大模型 API 高可用:一把 Key 配多个分组,按优先级自动切换

一把 API Key 可以按优先级设置最多 5 个分组:每次请求用排在最前、提供该模型的分组,按实际使用的分组计价;开启跨分组重试后,当前分组重试仍失败就换到下一个分组。本文讲切换规则、顺序怎么排、控制台怎么设置、在日志里怎么确认,以及什么时候该改用多把 Key。

同一个模型通常在好几个分组里都有,每个分组走一条独立的线路。做高可用,就是让一把 Key 同时挂上几个分组:在控制台把 Key 的分组方式设为「多个分组 · 自动切换」,按优先级排好最多 5 个分组,再打开「跨分组重试」。之后每次请求先用排在最前、提供该模型的分组;这个分组出错、重试也失败时,平台把同一个请求换到下一个分组继续尝试。每次请求按实际服务它的分组计价,具体是哪个分组,在操作日志里能查到。

切换规则

一次请求依次经过三步:

  1. 选分组:按 Key 设置的顺序,找第一个提供这个模型的分组。排在前面的分组没有这个模型,就直接跳过。
  2. 计价:按实际服务这次请求的分组计费,价格 = 模型标准价 × 该分组的倍率。
  3. 出错重试:遇到可以重试的错误,平台先在同一个分组里重试 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 调用多家模型把各家模型对应的官方分组都加进去每个请求落在第一个提供该模型的分组,不同厂商的模型自然分到各自的分组

各分组的标签和说明见选择分组;某个模型在哪些分组有,打开它在模型与价格里的详情页就能看到。

在控制台设置

  1. 打开控制台「令牌」页,点「添加令牌」,或者编辑一把已有的 Key。
  2. 在「令牌分组」里,把分组方式选成「多个分组 · 自动切换」。
  3. 在「自动分组顺序」里添加分组,用上移、下移调整顺序,越靠前优先级越高,最多 5 个。分组旁边的 ×1、×0.8 是价格倍率,倍率越低越便宜。
  4. 打开「跨分组重试」。
  5. 给这把 Key 设额度上限;需要的话再设模型限制和 IP 白名单。
  6. 保存。设置立即生效,调用代码不用改。

不添加分组时,这把 Key 跟随本站的默认顺序。默认顺序目前只有一个分组,起不到切换的作用,所以请自己添加分组并排好顺序。

保存后,令牌列表里这把 Key 显示为「自动」,后面跟着编号的分组;鼠标移到上面,能看到跨分组重试是否开启。

确认请求走了哪个分组

  • 「操作日志」:每条消费记录的「分组」一栏是实际服务这次请求的分组,不会显示成「自动」。按令牌名称和分组筛选,就能看到每个分组承担了多少请求、花了多少钱。
  • 「数据看板」:「令牌与分组」一栏按令牌、分组和模型汇总消费,主分组和备用分组各占多少一目了然。
  • 模型列表接口:用这把 Key 调用 GET /v1/models,返回的是它所有分组提供的模型的合集;开了模型限制时,只包含允许的模型。

上线前检查

  1. 用这把 Key 调用模型列表接口,确认要用的模型都在。
  2. 打开服务状态,看热门模型在各分组线路近 24 小时的成功率和延迟,作为排顺序的参考;其他模型在模型详情页的「可用性」标签里看。
  3. 发一批真实请求,到操作日志里确认分组和扣费符合预期。

客户端还要做什么

平台的切换解决的是线路故障,客户端仍然要有自己的超时和重试:

  • 超时别设得太短。平台在分组之间切换需要时间,客户端先超时放弃,平台的切换就白做了。
  • 对 429 和 5xx 做退避重试,做法见错误码与重试。
  • 流式请求开始输出之后中途断开,需要客户端自己判断和重发,见错误码与重试里「流式请求出错」一节。

什么时候改用多把 Key

多分组 Key 由平台按固定规则切换。下面这些情况,用两把不同分组的 Key、在代码里自己切换更合适,也可以两种方式叠加:

需求为什么要用多把 Key
主备线路分别封顶、分别对账额度上限按 Key 计算,一把 Key 里的几个分组共用一个上限
切换时顺便换模型,比如降级到更便宜的模型平台切换只换分组,不换模型
504 网关超时或客户端超时也要切换平台不会因为这些错误换分组
主备线路需要不同的模型限制或 IP 白名单这些设置属于 Key,一把 Key 只有一套

两把 Key 做故障切换的示例代码见如何选分组。团队里怎么按项目和环境分 Key,见团队和多个项目共用一个账号。

常见问题

一把 Key 最多能设置几个分组?

最多 5 个,按优先级排列,越靠前越优先。在控制台「令牌」页新建或编辑 Key,把分组方式选成「多个分组 · 自动切换」就能设置。

切换到后面的分组时,价格怎么算?

每次请求按实际服务它的分组计价,也就是模型标准价乘以该分组的倍率。后面的分组如果更贵,切过去的请求就按更贵的价格扣费,所以建议给这把 Key 设额度上限。

不开跨分组重试,设置多个分组还有用吗?

有用,但只在一种情况下换分组:前面的分组没有这个模型时,请求直接用后面提供该模型的分组。前面的分组有这个模型、只是请求出错时,不会换分组,错误会返回给你。

怎么知道某次请求用的是哪个分组?

看控制台「操作日志」里这条消费记录的「分组」一栏,显示的就是实际服务这次请求的分组。也可以按分组筛选,看每个分组承担了多少请求。

能在请求里临时指定分组吗?

不能。分组只由 Key 的设置决定。需要不同的分组组合,就建不同的 Key。