Skip to content

限流说明

为什么会被限流

限流保护的是所有人的可用性 —— 防止单个客户端把上游打满,导致其他人全都用不了。

触发时返回 HTTP 429

正确的应对:退避重试

不要立刻重发

撞到 429 立刻重发只会让情况更糟:你的重试本身也算请求,会把限流窗口撑得更久。

正确做法是指数退避:等 1 秒、2 秒、4 秒……逐次拉长。

多数官方 SDK 自带这个逻辑,开启即可:

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxx",
    base_url="https://jc.jichuanai.com/v1",
    max_retries=3,     # 自动退避重试
    timeout=120.0,
)
javascript
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'sk-xxx',
  baseURL: 'https://jc.jichuanai.com/v1',
  maxRetries: 3,
  timeout: 120_000,
})

自己发 HTTP 的话,收到 429 就按上面的间隔等一会儿再重试。

怎么少撞限流

  • 并发别开太高 —— 批量任务建议从低并发起步,观察没有 429 再往上加
  • 工具调用轮数调低 —— Trae 默认 500 轮偏高,建议 50~100。 轮数越高,一次任务打出去的请求越多
  • 别把重试写成死循环 —— 没有退避的重试循环是最容易触发限流的写法

持续被限流

如果在正常用量下持续撞 429,在控制台联系客服,说明你的并发数大致请求频率

遇到问题先查「报错对照表」,仍未解决请在控制台联系客服。