限流、超时与重试

生产客户端必须区分容量限制、账户策略、计费停止和请求错误。它们可能使用相同的 HTTP 状态,但处理方式不同。

限制维度

Token360 可以从多个维度实施限制:

  • RPM:每分钟请求数。
  • TPM:每分钟输入和输出 Token 吞吐量。
  • 并发:当前正在处理的请求数。
  • API Key 消费上限:Key 的终身、每日、每周或每月消费上限。
  • 每日消费保护:账户级 UTC 自然日保护。
  • 信用额度或钱包余额:新任务可用资金。
  • 供应商容量:临时的上游饱和或限流。

实际数值取决于商业协议和控制台配置。不要套用其他账户或模型的限制。

处理 429

不能只看 HTTP 状态,还要检查错误体:

rate_limit_exceeded 或临时容量限制使用指数退避与随机抖动重试;存在 Retry-After 时遵循它。
insufficient_quota 或没有可用余额充值、提高已批准信用额度,或等待预算周期重置。重复重试没有作用。
API Key 消费上限已用尽在控制台检查该 Key 的上限与重置周期,不要静默切换到无限制 Key。
每日消费保护已触发账户所有者需将上限提高到当日已用量以上,或明确关闭保护。

重试策略

同步推理可以从以下安全策略开始:

  1. 重试瞬时的 429500502503504
  2. 使用指数退避与抖动,例如 1 秒、2 秒、4 秒再加随机值。
  3. 设置较小的最大尝试次数和总耗时预算。
  4. 参数、鉴权、权限、余额或不支持操作错误立即停止。
  5. 记录每次尝试的 request ID。

请根据应用的延迟要求和重复执行风险调整策略。

超时

分别设置连接超时和请求总超时。交互式 Chat、大型多模态输入和视频生成有不同的延迟特征。

  • 流式请求的应用超时需要覆盖首个事件等待和事件之间的处理时间。
  • 视频等异步操作应只限制提交请求,然后轮询资源,不要一直保持同一个连接。
  • 客户端超时不能证明上游任务没有启动。

幂等与重复任务

创建或提交操作发生不确定超时时,不要直接盲目重试。先使用关联信息检查请求历史或资源列表。Webhook 接收端必须幂等,因为平台可能重试投递。

Batch JSONL 中每一行都应使用唯一 custom_id,以便不依赖输出顺序完成核对。

流式中断

如果 SSE 连接在正常终止事件前关闭:

  • 将完成结果标记为不完整;
  • 丢弃或明确标记部分输出;
  • 仅在能够接受重复模型执行和费用时重试;
  • 保留原始请求与关联 ID 以便排查。

何时联系支持

瞬时失败超过重试预算或影响多个请求时,请联系支持。提供 UTC 时间范围、公开模型名、端点、HTTP 状态、错误码、request ID 和 trace ID。除非支持明确要求使用安全传输,否则移除提示词、文件、Authorization 请求头和 API Key 密钥。

此页面对您有帮助吗?