會自動切換
- 連不上供應商,或連線逾時
- 供應商回傳 5xx 伺服器錯誤
- 供應商限流(429)
- 等了太久,供應商仍沒有回應第一個字
High availability
任何一家模型供應商都可能暫時當機、限流或回應過慢。Hakila 在請求送出後持續留意上游狀態,必要時自動切換到可用的供應商,或轉到你指定的備援模型。這些都在閘道完成,你的程式不需要修改。
01
每一層都失敗才會進到下一層。只要有一層成功,就把結果回傳給你。
第一層
請求先送到你指定的模型。供應商正常回應時,結果直接回傳,不多繞任何一段。
第二層
同一個模型若在多家供應商上架,原供應商無法使用時,Hakila 會改送到另一家。模型不變,回應格式也不變,你的程式感覺不到差別。
第三層
同一個模型在所有供應商都無法使用時,依你設定的備援順序向下轉到其他模型,例如 Claude Sonnet 5.5 → GPT-6 Sol → Gemini 3.8 Flash。
02
只有「換一家有機會成功」的失敗才會切換。是請求本身或治理規則的問題,就直接告訴你原因。
請求本身有誤(4xx)
參數或格式錯誤換一家也會失敗,直接把錯誤回給你,方便修正。
治理規則擋下的請求
API Key 無效、模型不在允許清單、預算用完時不會改道,治理規則優先。
回應已開始輸出之後
一旦開始把內容串流給你就不再切換,避免同一則回覆混入兩個模型的內容。
03
在 Console 為 API Key 設定備援順序後,程式維持原本的寫法即可。若想在程式裡逐次指定,也可以在請求帶入 models 陣列,依排列順序嘗試。
{
"model": "anthropic/claude-sonnet-5-5",
"models": [
"openai/gpt-6-sol",
"google/gemini-3.8-flash"
],
"messages": [
{ "role": "user", "content": "整理這份會議紀錄的重點" }
]
}04
使用 hakila/auto 時,若選中的模型超過約 30 秒還沒回應第一個字,Hakila 會判斷要再等一下,還是改送到其他候選模型。改道只會發生在還沒送出任何內容之前。選路服務本身若暫時無法使用,會退回候選順序中第一個可用的模型,不會讓請求因此失敗。
05
| 情境 | 直接串接供應商 | 透過 Hakila |
|---|---|---|
| 供應商當機或限流 | 你的服務跟著出錯,要等供應商恢復。 | 自動換到其他供應商或備援模型。 |
| 想換主要模型或備援順序 | 改程式、測試、重新部署。 | 在 Console 調整設定,程式不用動。 |
| 多家供應商的帳號與金鑰 | 每家各自申請、保管與輪替。 | 應用程式只用一把 Hakila API Key。 |
Get started
建立 API Key,把 Base URL 改成 api.hakila.ai,就能開始使用。