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

## 單一供應商的風險
如果你整個產品都依賴單一模型端點,一次限速、一次當機或一次地區封鎖,就會把你的應用一起拖垮。解法並不英雄主義,就是一份備援清單。
## 模式:有序備援
先試主要模型;遇到限速或錯誤時,退到下一個。由於 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、三套帳務。透過一個閘道,它只是一串清單與一個餘額——取得韌性卻不必付營運稅。