速率限制与稳定性
LLM 账户限流、重复请求保护、响应头与重试建议。
LLM 账户限流
LLM 请求按账户 + 模型 + API Key 选择的渠道分别限流:
- RPM统计滑动 60 秒窗口内的请求数。
- 最大并发统计该范围内仍处于处理中的请求数。
未单独配置时使用系统策略。用户专属策略按指标覆盖系统策略:某一指标留空则沿用系统值,两边都未配置则不限。限额因此可能随账户、模型和渠道变化,不应假定全平台共用一个固定数字。
账户限流返回 429,且不计费、不打上游。error.message 会带上模型、渠道和命中的上限。
| 限制 | error.code | 响应头 |
|---|---|---|
| RPM | account_rpm_limit | RateLimit-Limit、RateLimit-Remaining、RateLimit-Reset(滑动窗口释放容量前的秒数) |
| 并发 | account_concurrency_limit | Retry-After(秒) |
两者的 error.type 都是 "rate_limit_error"。请用 error.code 区分原因;并发超限不会带 RPM 的三个响应头。
重复请求保护
同一把 API Key 在 10 秒内可发送三次完全相同的请求,第 4 次返回 429,且不计费、不打上游。改动提示词或参数即视为不同请求。
这项保护与账户限流相互独立,因此它的 429 不包含上文的 RateLimit-* 或 Retry-After 响应头。
其他接口与重试
上述 LLM 账户限流不适用于媒体任务、OpenAI 兼容图片接口、文件接口、账户接口或目录接口。GET /v1/account/credits 和模型目录不再共用旧的按 Key / 按 IP 请求额度。
GET /v1/account/usage、GET /v1/account/usage/summary 和 GET /v1/account/usage/{request_id} 共用另一条额度:每把 API Key 每分钟 120 次。超出后返回 429,error.code 为 usage_rate_limit,并带 draft-6 的 RateLimit-Limit、RateLimit-Remaining、RateLimit-Reset。媒体和图片创建仍保留各自的重复请求保护。
LLM 424、429 与可恢复的 5xx 可在业务层用指数退避 + 抖动进行次数受控的重试;400、401、402 不要重试,先修正请求或充值。
