跳到主要內容
HAKILA

High availability

供應商出狀況,你的服務照樣有回應

任何一家模型供應商都可能暫時當機、限流或回應過慢。Hakila 在請求送出後持續留意上游狀態,必要時自動切換到可用的供應商,或轉到你指定的備援模型。這些都在閘道完成,你的程式不需要修改。

01

三層備援,依序接手

每一層都失敗才會進到下一層。只要有一層成功,就把結果回傳給你。

  1. 第一層

    你指定的模型與供應商

    請求先送到你指定的模型。供應商正常回應時,結果直接回傳,不多繞任何一段。

  2. 第二層

    同一個模型,換一家供應商

    同一個模型若在多家供應商上架,原供應商無法使用時,Hakila 會改送到另一家。模型不變,回應格式也不變,你的程式感覺不到差別。

  3. 第三層

    你指定的備援模型

    同一個模型在所有供應商都無法使用時,依你設定的備援順序向下轉到其他模型,例如 Claude Sonnet 5.5 → GPT-6 Sol → Gemini 3.8 Flash。

02

什麼情況會切換

只有「換一家有機會成功」的失敗才會切換。是請求本身或治理規則的問題,就直接告訴你原因。

會自動切換

  • 連不上供應商,或連線逾時
  • 供應商回傳 5xx 伺服器錯誤
  • 供應商限流(429)
  • 等了太久,供應商仍沒有回應第一個字

不會切換

  • 請求本身有誤(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": "整理這份會議紀錄的重點" }
  ]
}
  • 備援模型一樣要通過組織與這把 API Key 的允許清單,以及各層預算檢查。
  • 計費依實際產生回應的模型計算;切換前失敗的嘗試不扣點。
  • 回應的 model 欄位與用量紀錄,會標示實際使用的模型與供應商。

04

智慧選模也替你判斷要不要再等

使用 hakila/auto 時,若選中的模型超過約 30 秒還沒回應第一個字,Hakila 會判斷要再等一下,還是改送到其他候選模型。改道只會發生在還沒送出任何內容之前。選路服務本身若暫時無法使用,會退回候選順序中第一個可用的模型,不會讓請求因此失敗。

05

和直接串接供應商相比

情境直接串接供應商透過 Hakila
供應商當機或限流你的服務跟著出錯,要等供應商恢復。自動換到其他供應商或備援模型。
想換主要模型或備援順序改程式、測試、重新部署。在 Console 調整設定,程式不用動。
多家供應商的帳號與金鑰每家各自申請、保管與輪替。應用程式只用一把 Hakila API Key。

Get started

讓備援在閘道發生,不在你的程式裡

建立 API Key,把 Base URL 改成 api.hakila.ai,就能開始使用。