被限速或被封?多模型备援方案

## 单一供应商的风险
如果你整个产品都依赖单一模型端点,一次限速、一次宕机或一次地区封锁,就会把你的应用一起拖垮。解法并不英雄主义,就是一份备援清单。
## 模式:有序备援
先试主要模型;遇到限速或错误时,退到下一个。由于 ClaudeN AI 用一把 Key 提供 Claude、GPT 与 Gemini,备援不过就是一串模型名称。
``python``
from openai import OpenAI
client = OpenAI(api_key="YOUR_CLAUDEN_KEY", base_url="https://clauden.ai/v1")
FALLBACKS = ["claude-3-5-sonnet", "gpt-4o", "gemini-1.5-pro"]
def ask(prompt: str) -> str:
last_err = None
for model in FALLBACKS:
try:
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
except Exception as e:
last_err = e
continue
raise RuntimeError(f"All models failed: {last_err}")
print(ask("用两句话总结 CAP 定理。"))
## 让备援更可靠的小技巧
- 按能力、再按成本排序:最好的模型放前面,最便宜的备援放最后。
- 加一个短超时,避免某个慢的供应商卡住整条链。
- 记录每次请求实际由哪个模型服务,方便调整顺序。
## 为什么中转有帮助
针对三个独立供应商做这件事,代表三把 Key、三套 SDK、三套账务。通过一个网关,它只是一串清单与一个余额——获得韧性却不必付运营税。