限流与配额 / HTTP 429
AI API 返回 429:速率限制与配额排查
直接答案
读取错误体和响应头,区分瞬时速率限制与账户配额问题;采用带抖动的指数退避并限制并发。
症状与常见原因
- 每分钟请求数或令牌数超限
- 账户余额或项目配额不足
- 高并发触发短时限流
如何确认问题
- 记录 HTTP 状态、错误类型与错误码、request ID、响应头、SDK 异常、模型、端点、项目和发生时间。
- 对比最小请求与失败请求,每次只改变一个变量,确认故障发生在客户端、网络、网关还是服务商层。
- 日志中不得保存完整 API Key、Authorization 请求头、用户敏感输入或私密文件内容。
排障步骤
- 读取 Retry-After 与服务商错误类型
- 降低并发并实现有上限的指数退避
- 检查项目级用量与账单状态
- 避免无界重试,持续失败时转入人工排查
常见错误做法
- 对不可重放请求或明确的配置错误进行无上限重试。
- 同时更改密钥、模型、代理和请求参数,导致无法判断真正修复项。
- 关闭 TLS 校验、公开原始日志,或把临时缓解误判为已经恢复。
修复后的验证方法
- 用脱敏的最小请求确认状态码、响应结构和延迟恢复正常。
- 恢复少量真实流量,观察错误率、重试次数和业务结果,不立即放大并发。
- 确认没有重复副作用、告警恢复,并保留 request ID 与时间窗口供复盘。
常见问题
429 可以立即无限重试吗?
不可以。无界重试会放大拥塞,应遵循响应头并设置重试次数上限。