开发者文档 限流与超时
限流与超时
网关不按密钥限速;让请求等待或失败的只有预算、上游容量、请求大小和超时。
不按密钥限速
网关不给密钥、成员或组织设每分钟请求数、token 数或并发数上限。会让请求等待或失败的只有下面几项:
| 机制 | 表现 | 恢复 |
|---|---|---|
| 预算用完 | 402 | 额度到账后几秒内恢复 |
| 上游容量已满 | 先等最多 10 秒,仍没有余量返回 429 | 按 Retry-After 等待 |
| 上游故障 | 自动换线路;同一线路连续失败 5 次后暂停使用 30 秒 | 到时自动试探 |
| 请求体过大 | 超过 32 MiB 返回 413 | 缩小请求体 |
| 上游超时 | 504 或响应中断 | 退避后重试 |
预算
调用开始时,网关检查密钥所属的预算:个人密钥看本人当月的预算,项目下的密钥看项目预算。预算用完后,计费接口返回 402;查询和取消视频任务、/v1/models、/v1/messages/count_tokens 不受影响。组织不限个人额度时,个人密钥不会因预算被拒。
已经开始的调用不会被打断,所以已用可能略超额度。费用怎么计入预算见计费口径,追加额度见额度申请与飞书审批。
上游容量
一个模型可能由几条上游线路提供。每条线路可以配置每分钟请求数和每分钟 token 数两项配额,所有网关实例共用一份计数:
- 配额按每分钟上限匀速回填,最多攒满一分钟的量。
- 请求数在派发时扣减。token 数在调用结束后按实际用量扣减,包括输入(含缓存读写)、输出和推理;派发时只要求这一项还有余量,长上下文调用一次会扣掉较多。
- 网关按优先级选线路,跳过没有余量、正在冷却或熔断中的线路。
- 所有线路都没有余量时,网关先替你等待,总共不超过 10 秒;需要等更久时直接返回
429,Retry-After给出建议等待的秒数,至少 1 秒。 - 上游返回
429时,这条线路按上游给的Retry-After-Ms或Retry-After冷却,没给时 5 秒,最长 1 分钟;请求改走下一条线路,没有其他线路时把上游的429返回给你。 - 同一线路连续失败 5 次后熔断 30 秒,之后放一个请求试探,成功即恢复。
这些是上游线路的容量,不是给你的密钥设的限额。
换线路
网关只在还没向你返回任何内容时换线路:请求还没发完就连不上上游,或者上游返回 401、402、403、404、408、429、5xx。其他错误(例如 400、422)直接返回给你。响应开始返回后,包括流式输出开始后,不再换线路。所有线路都失败时返回最后一次的错误,见错误码。
请求大小与超时
| 项目 | 上限 | 超出时 |
|---|---|---|
| 请求体 | 32 MiB | 413 |
| 等上游开始响应 | 15 分钟 | 504 |
| 响应中途上游没有数据 | 5 分钟 | 非流式返回 502,流式响应中断 |
| 查询或取消视频任务 | 30 秒 | 504 |
重试建议
429:按Retry-After等待后再发;多个客户端同时重试时,给等待时间加一点随机量。502、503、504:退避后重试,不要立即重发。- 网关不对推理请求去重。客户端超时或主动断开后重发,是一次新的调用,上一次可能已经计费;重发前可以先在控制台「我的用量」找到上一次调用,确认它的状态。
- 流式输出中断后不能续传,只能重新请求。
实际可调用的模型、授权与价格以控制台为准。
页面字体:MiSans(小米,依《MiSans 字体知识产权许可协议》使用);Google Sans Flex(SIL Open Font License 1.1)。
页面字体:MiSans(小米,依《MiSans 字体知识产权许可协议》使用);Google Sans Flex(SIL Open Font License 1.1)。