主题
限流说明
为什么会被限流
限流保护的是所有人的可用性 —— 防止单个客户端把上游打满,导致其他人全都用不了。
触发时返回 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,在控制台联系客服,说明你的并发数和大致请求频率。