重试和备用模型:让调用成功率从 98% 到 99.9%
什么错误该重试、重试几次、什么时候换模型。附一份可以直接复制的封装。
Orbis News阅读约 1 分钟
演示内容 · 文章、模型及数据均为虚构示例,不作为事实或价格依据。
{"version":1,"sourceTitle":"重试和备用模型:让调用成功率从 98% 到 99.9%","motif":"reroute","min":10,"demoAuthor":"陈墨","models":["anthropic/claude-sonnet-5.5","openai/gpt-6.1-sol"],"order":8,"topicOrder":2,"topicIndex":1}
先看结论
- 429 和 5xx 可以重试,400 不要重试。
- 指数退避加随机抖动,最多 3 次。
- 同一请求换备用模型前,要确认两个模型的输出格式兼容。
哪些错误可以重试
429 表示请求太频繁,5xx 表示上游暂时不可用,这两类可以重试。400 和 401 是请求本身的问题,重试不会成功。
for attempt in range(3):
try:
return call(model)
except RateLimitError:
time.sleep(2 ** attempt + random.random())
return call(fallback_model)文中提到的模型
模型 ID 可以直接填进 model 参数,在 Orbis 用同一个 API Key 调用。