Selected model is at capacity 怎么处理
这是模型容量或临时过载类错误。它不代表 Key 失效,也不能仅凭客户端弹窗断定是本地网络或 Sub2API 故障。
先判断错误来自哪一层
Selected model is at capacity. Please try a different model.
Sub2API 不主动生成这句固定文案。请求经过网关路由后,如果上游返回容量错误,客户端可能直接展示其中的消息;网关仍可能负责账号切换、状态码转换和 Request ID 记录。
“文案来自上游”不等于“平台完全无关”。需要结合 Request ID、账号切换记录、HTTP 状态和同时间其他请求判断。
五分钟内完成的复测
- 记录错误发生的 CST 时间、模型、推理等级和 Request ID。
- 新建空会话,用相同 Key、相同模型发送一个短请求。
- 等待 2 秒、4 秒、8 秒做最多三次重试,避免并发重试风暴。
- 用同一 Key 测试另一个已知可用模型,只用于判断范围,不要改写原业务模型。
- 在平台用量记录中确认失败请求是否到达,以及后续短请求是否成功。
新会话成功而旧会话持续失败时,优先检查旧会话上下文、工具链或客户端状态;所有新请求都失败时,再判断模型容量或唯一可用账号状态。
不同现象对应什么
| 现象 | 更可能的范围 | 下一步 |
|---|---|---|
| 只有一个模型报错 | 该模型或该账号的容量 | 保留模型,有限退避后复测 |
| 多个客户端同时报同一文案 | 共享上游容量或唯一账号 | 查看平台账号状态和同时间失败率 |
| 一个对话正常,一个持续失败 | 会话状态、上下文或粘性路由 | 用新会话做最小复现 |
| 平台没有对应请求记录 | 客户端、DNS、TLS 或前置代理 | 检查 Base URL 和网络链路 |
| 同时出现大量 502 | 上游失败被网关转换或流中断 | 按 Request ID 查看错误链 |
正确的重试策略
- 只重试临时容量错误、429 和部分 5xx。
- 使用指数退避并加入随机抖动,限制总次数和总时间。
- 同一会话不要同时启动多个自动重试。
- 需要最新模型时保留原模型名,不要静默映射为旧模型。
- 如果业务允许,降低并发比降低推理等级更直接;推理等级影响单次计算量,但不能保证绕过容量限制。
连续失败超过一分钟时,停止客户端高频重试并提交 Request ID。平台可以据此对照账号调度和上游响应。
哪些错误不是容量不足
401 通常是鉴权问题,400 通常是模型名、参数或上下文问题,余额和订阅限制也有独立错误。不要把所有 5xx 都归为“模型爆满”。
长上下文或压缩阶段报 502 时,参考 502 与上下文压缩排查;TTFT 明显变高但请求成功时,参考 首 Token 耗时分析。
反馈时带上 Request ID
精确到请求,才能区分客户端、网关调度和上游容量。