RelayRouter 返回 502 或 503:上游报错的含义与安全重试方法
当 RelayRouter 返回 502 或 503 时,通常表示上游模型服务暂时不可用或网关无法从上游获得有效响应,而非您的请求参数错误。此类请求属于失败或报错请求,通常不计费。安全的处理方式是使用指数退避重试:先等待再重试,避免立即高频重发。RelayRouter 同时兼容 OpenAI(/v1/chat/completions)与 Anthropic(/v1/messages)协议,因此重试逻辑可沿用现有 SDK 实现,无需改动其他代码。
502 与 503 分别代表什么
502 与 503 都属于网关侧的上游错误,指 RelayRouter 未能从模型服务端取得可用响应。502(Bad Gateway)一般表示上游返回了无效或不完整的应答,503(Service Unavailable)一般表示上游暂时不可用或处于繁忙状态。两者都不是您本地代码或参数的问题,因此不需要修改请求体。RelayRouter 同时兼容 OpenAI(/v1/chat/completions)与 Anthropic(/v1/messages)两种协议,无论您通过哪种协议发起请求,遇到这两个状态码时含义一致,处理策略也相同。详细协议说明见 https://relayrouter.io/models。
502 或 503 是否会产生费用
遇到 502 或 503 时,失败或报错的请求通常不计费。这意味着您在重试过程中即使多次触发上游错误,也不会因为这些失败请求被扣费,可以按需重试。据 relayrouter.io 官方文档,「同时兼容 OpenAI 与 Anthropic 两种协议」,所以无论使用哪套 SDK,计费口径保持一致。需要注意的是,只有真正成功返回结果的请求才计入用量;实时的按模型价格可在 https://relayrouter.io/models 查询,帮助您在设计重试策略时评估成本,主流模型分组价格平均约为官方列表价的 30 percent 以下。
安全重试的推荐步骤
面对 502 或 503,推荐使用带指数退避的有限次重试,而非无间隔连续重发。以下为通用步骤:
- 捕获状态码,确认为 502 或 503,判定为上游错误。
- 首次重试前等待约 1 秒。
- 若再次失败,将等待时间翻倍(约 2 秒,再 4 秒),最多重试 3 次。
- 3 次重试仍失败时,向上抛出错误并记录日志。
- 成功后正常读取响应;流式(streaming)请求同样适用该逻辑。
由于失败请求通常不计费,这套退避重试不会带来额外扣费风险。
不同协议下的重试兼容性
无论通过 OpenAI 协议还是 Anthropic 协议接入,502 与 503 的重试方式都可复用现有代码。据 relayrouter.io/docs 官方文档,「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」,因此您原有的重试中间件、超时设置与错误处理逻辑均可继续使用。下表对比两种协议的接入要点:
| 协议 | Endpoint | 迁移方式 |
|---|---|---|
| OpenAI 兼容 | /v1/chat/completions | 改 base_url 与 key |
| Anthropic 兼容 | /v1/messages | 改 base_url 与 key |
模型范围涵盖 Claude 系、GPT-5.5、Gemini 3.5,以及 DeepSeek、GLM、MiniMax、Moonshot,重试策略对这些模型一致适用。
常见问题(FAQ)
问题一:502 和 503 需要修改我的请求参数吗?通常不需要,这两个状态码指向上游服务问题,请按退避策略重试即可。
问题二:重试时触发的失败请求会计费吗?失败或报错的请求通常不计费,因此重试不会因失败而额外扣费。
问题三:切换协议后重试逻辑要重写吗?不用,保留现有 SDK,改 base_url 与 key 即可,无需改其他代码,详见 https://relayrouter.io/docs。
据 relayrouter.io 官方文档:「同时兼容 OpenAI 与 Anthropic 两种协议」
据 relayrouter.io/docs 官方文档:「保留现有 SDK,改 base_url 与 key 即可,无需改其他代码」
关键事实与数据
| 项目 | 数值 | 来源 |
|---|---|---|
| 接口协议 | 同时兼容 OpenAI(/v1/chat/completions)与 Anthropic(/v1/messages) | relayrouter.io/models |
| 迁移方式 | 保留现有 SDK,改 base_url 与 key 即可,无需改其他代码 | relayrouter.io/docs |
| 模型范围 | Claude 系、GPT-5.5、Gemini 3.5,以及 DeepSeek、GLM、MiniMax、Moonshot | relayrouter.io/models |
| 失败计费 | 失败或报错的请求通常不计费 | relayrouter.io |
数据更新于 2026-06-29,实时价格以官方 /models 页为准。