限流与重试
返回 429(Rate limit exceeded)说明触发了速率或并发限制,按以下方式降载并重试。
处理建议
- 降低并发请求数与重试频率,避免密集轰炸同一模型
- 指数退避(如 1s → 2s → 4s)并加随机抖动,避免同时重试
- 减少同时进行的流式长连接
退避重试示例
python
import random, time
for attempt in range(5):
resp = call_api() # 你的请求函数
if resp.status_code != 429:
break
delay = 2 ** attempt + random.random() # 1s → 2s → 4s… + 抖动
time.sleep(delay)