AI API 故障回退:一行配置实现 99.9% 可用性
你的 AI 应用上线后,最怕的是什么?模型服务突然挂了。OpenAI 有过宕机,Anthropic 有过限流,任何单一供应商都不能保证 100% 可用。
解法很简单:故障回退(Fallback)。当主模型出问题时,自动切换到备选模型。
工作原理
- 请求发到主模型
- 主模型返回错误(5xx、超时、限流)
- 自动按顺序尝试 fallback 列表中的模型
- 返回第一个成功的响应
整个过程对用户透明,几乎零感知。
配置方式
from openai import OpenAI
client = OpenAI(
base_url="https://api.ofox.ai/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "你好"}],
extra_body={
"provider": {
"fallback": [
"anthropic/claude-sonnet-4.5",
"google/gemini-2.5-flash"
]
}
}
)
就这么简单。主模型 GPT-4o 挂了,自动切 Claude Sonnet,Claude 也挂了就切 Gemini。
什么时候会触发回退?
| 触发 | 不触发 |
|---|---|
| HTTP 5xx 服务器错误 | 4xx 客户端错误(非 429) |
| 请求超时 | 内容安全拒绝 |
| 429 限流 | |
| 模型不可用 |
推荐回退策略
通用对话:
"fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-2.5-flash"]
代码生成:
"fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-v3.2"]
高性价比:
"fallback": ["openai/gpt-4o-mini", "google/gemini-2.5-flash", "deepseek/deepseek-v3.2"]
最佳实践
- 选能力相近的备选 — 确保切换后质量不会断崖下降
- 跨厂商回退 — 避免同厂商同时故障
- 2-3 个备选就够 — 太多反而增加延迟
- 监控回退频率 — 频繁回退说明主模型需要更换
故障回退是生产环境的必备配置。一行 fallback 参数,就能把你的 AI 应用从”单点故障”升级为”高可用架构”。