429,它来自上游模型的速率或容量限制,需要在自己的代码里控制节奏。
收到 429 时怎么处理
1
看错误正文
429 的正文会说明是限流、容量不足还是额度问题。错误正文含 insufficient_user_quota 时是余额不够预扣,按有余额却调用失败处理,重试没有用。2
退避后重试
每次重试前等待更长时间,例如 1、2、4、8 秒,并加一点随机抖动,设置最多重试次数。不要在收到
429 后立即原样重发。3
降低同时发出的请求数
用本地队列或信号量限制同时进行的请求。持续出现
429 时,先把并发降到一半,再逐步调高。用信号量控制并发
下面的 Python 示例最多同时发出 10 个请求,遇到429 时按指数退避重试:
pip install openai 并设置环境变量 LAOZHANG_API_KEY。图片和推理请求耗时长,并发数宜设得更低,并按请求超时设置 timeout。
大批量任务前
- 先用小批量跑通,在调用日志里核对耗时、成功率和扣费。
- 视频模型是异步任务,提交后轮询状态,轮询间隔按各视频模型页的建议设置,不要高频查询。
- 计划短时间内发出大量请求时,提前把模型、预计请求量和时间段发给支持团队 hi@laozhang.ai,便于确认上游容量。