平台限制与重试

限制用于保护项目、网关和上游供应商。实际值以控制台当前配置和模型详情为准,不应把文档示例当作永久固定额度。

常见限制

  • RPM:每分钟请求数。
  • TPM:每分钟输入或输出 Token。
  • 并发数:同时处理的请求数量。
  • 上下文与输出长度:由模型和供应商共同约束。
  • 文件数量、单文件大小与媒体类型。
  • 项目与 Key 预算。
  • 上游供应商的临时容量和区域限制。

多个限制会独立判断,任一边界触发都可能阻止请求。

处理 429

429 不总是同一种原因。先读取响应中的错误码和 Retry-After,再区分速率限制或上游容量不足。Retry-After 并非每个错误都有。余额不足或项目/Key 预算耗尽通常返回 402,必须充值或调整对应预算,不能靠立即重试恢复。

const retryAfter = Number(response.headers.get("Retry-After") ?? "0");
if (response.status === 429 && retryAfter > 0) {
  await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
}

重试原则

  • 只重试明确可重试且幂等的请求。
  • 使用指数退避、随机抖动和最大次数。
  • 遵守 Retry-After。
  • 不重试 401、403、无效参数和明确预算耗尽。
  • 流式响应已开始后,不从头静默重放给同一个用户。
  • 客户端重试上限要考虑网关内部可能已经发生的安全重试。

容量规划

上线前用接近真实的输入长度、输出长度和并发压测。根据 P95 而不是平均值预留容量,并为突发流量留出余量。批处理任务应限制并发并支持断点续跑,避免与在线请求争用同一 Key 配额。

Agent 工作负载需要额外限制最大轮次、工具调用次数和总预算。只限制单次请求 Token,无法阻止 Agent 在循环中产生大量请求。

请求过大

遇到上下文或文件限制时,应压缩历史、拆分任务、删除无关附件或选择容量更大的模型。不要通过重复提交同一超限请求来判断服务是否恢复。

具体故障定位参阅错误码和Trace、告警与排障。

平台限制与重试 · 文档 · InOneAPI