大模型 API 高可用:一把 Key 配多個分組,按優先順序自動切換
一把 API Key 可以按優先順序設定最多 5 個分組:每次請求用排在最前、提供該模型的分組,按實際使用的分組計價;開啟跨分組重試後,當前分組重試仍失敗就換到下一個分組。本文講切換規則、順序怎麼排、控制台怎麼設定、在日誌裡怎麼確認,以及什麼時候該改用多把 Key。
同一個模型通常在好幾個分組裡都有,每個分組走一條獨立的線路。做高可用,就是讓一把 Key 同時掛上幾個分組:在控制台把 Key 的分組方式設為「多個分組 · 自動切換」,按優先順序排好最多 5 個分組,再開啟「跨分組重試」。之後每次請求先用排在最前、提供該模型的分組;這個分組出錯、重試也失敗時,平臺把同一個請求換到下一個分組繼續嘗試。每次請求按實際服務它的分組計價,具體是哪個分組,在操作日誌裡能查到。
切換規則
一次請求依次經過三步:
- 選分組:按 Key 設定的順序,找第一個提供這個模型的分組。排在前面的分組沒有這個模型,就直接跳過。
- 計價:按實際服務這次請求的分組計費,價格 = 模型標準價 × 該分組的倍率。
- 出錯重試:遇到可以重試的錯誤,平臺先在同一個分組裡重試 1 次。開啟跨分組重試時,重試仍然失敗就換到下一個分組,同樣最多試 2 次,直到分組用完;沒有開啟時,錯誤直接返回給你。
不同情況下的結果:
| 情況 | 未開啟跨分組重試 | 開啟跨分組重試 |
|---|---|---|
| 前面的分組沒有這個模型 | 用後面第一個提供該模型的分組 | 同左 |
| 線路返回 429、多數 5xx,或者連線失敗 | 同一分組重試 1 次,仍失敗就返回錯誤 | 同一分組重試 1 次,仍失敗換下一個分組 |
| 400 這類請求本身的錯誤,或線路返回 504 閘道器超時 | 不重試,直接返回 | 同左 |
| 帳戶或 Key 層面的拒絕:餘額不足、Key 過期、IP 或模型不在白名單 | 直接返回,換分組也解決不了 | 同左 |
| 所有分組都沒有這個模型 | 返回 503,錯誤碼 model_not_found | 同左 |
同一分組內的重試走的還是這個分組的線路,能消化偶發的抖動;線路持續出問題時,要靠跨分組重試換到別的分組。
順序怎麼排
排在第一的分組會承擔幾乎全部流量,按你最看重的條件選它;後面的分組是備用,切過去的請求按後面分組的價格計費。先看清同一個模型在各個分組的價格:
| 分組 | 輸入 ¥/百萬 | 輸出 ¥/百萬 | 快取讀取 ¥/百萬 |
|---|---|---|---|
| 標準 | ¥4 | ¥20 | ¥0.4 |
| 官方原價·企業 | ¥21.9 | ¥109.5 | ¥2.19 |
| Claude 官方 | ¥15 | ¥75 | ¥1.5 |
| Claude 原價 | ¥24 | ¥120 | ¥2.4 |
| Claude 優質 | ¥8 | ¥40 | ¥0.8 |
| Claude 經濟最低價 | ¥3.2 | ¥16 | ¥0.32 |
Claude Sonnet 5.5 · 價格為人民幣,取各模型最低價分組;價格更新於 2026年11月13日 下午6:08。
三種常見排法:
| 目標 | 怎麼排 | 注意 |
|---|---|---|
| 穩定和來源優先 | 帶「官方轉發」或「雲廠商」標籤的分組排前面,價格低、模型多的分組放最後兜底 | 平時按前面分組的價格計費,切到兜底分組的請求按兜底分組的價格計費 |
| 成本優先 | 帶「最低價」標籤的分組排前面,官方分組排後面作備用 | 前面的分組出錯時才切到後面更貴的分組,這部分請求按備用分組計價 |
| 一把 Key 呼叫多家模型 | 把各家模型對應的官方分組都加進去 | 每個請求落在第一個提供該模型的分組,不同廠商的模型自然分到各自的分組 |
各分組的標籤和說明見選擇分組;某個模型在哪些分組有,開啟它在模型與價格裡的詳情頁就能看到。
在控制台設定
- 開啟控制台「令牌」頁,點「新增令牌」,或者編輯一把已有的 Key。
- 在「令牌分組」裡,把分組方式選成「多個分組 · 自動切換」。
- 在「自動分組順序」裡新增分組,用上移、下移調整順序,越靠前優先順序越高,最多 5 個。分組旁邊的 ×1、×0.8 是價格倍率,倍率越低越便宜。
- 開啟「跨分組重試」。
- 給這把 Key 設額度上限;需要的話再設模型限制和 IP 白名單。
- 儲存。設定立即生效,呼叫程式碼不用改。
不新增分組時,這把 Key 跟隨本站的預設順序。預設順序目前只有一個分組,起不到切換的作用,所以請自己新增分組並排好順序。
儲存後,令牌列表裡這把 Key 顯示為「自動」,後面跟著編號的分組;滑鼠移到上面,能看到跨分組重試是否開啟。
確認請求走了哪個分組
- 「操作日誌」:每條消費記錄的「分組」一欄是實際服務這次請求的分組,不會顯示成「自動」。按令牌名稱和分組篩選,就能看到每個分組承擔了多少請求、花了多少錢。
- 「資料看板」:「令牌與分組」一欄按令牌、分組和模型彙總消費,主分組和備用分組各佔多少一目瞭然。
- 模型列表介面:用這把 Key 呼叫
GET /v1/models,返回的是它所有分組提供的模型的合集;開了模型限制時,只包含允許的模型。
上線前檢查
- 用這把 Key 呼叫模型列表介面,確認要用的模型都在。
- 開啟服務狀態,看熱門模型在各分組線路近 24 小時的成功率和延遲,作為排順序的參考;其他模型在模型詳情頁的「可用性」標籤裡看。
- 發一批真實請求,到操作日誌裡確認分組和扣費符合預期。
客戶端還要做什麼
平臺的切換解決的是線路故障,客戶端仍然要有自己的超時和重試:
- 超時別設得太短。平臺在分組之間切換需要時間,客戶端先超時放棄,平臺的切換就白做了。
- 對 429 和 5xx 做退避重試,做法見錯誤碼與重試。
- 流式請求開始輸出之後中途斷開,需要客戶端自己判斷和重發,見錯誤碼與重試裡「流式請求出錯」一節。
什麼時候改用多把 Key
多分組 Key 由平臺按固定規則切換。下面這些情況,用兩把不同分組的 Key、在程式碼裡自己切換更合適,也可以兩種方式疊加:
| 需求 | 為什麼要用多把 Key |
|---|---|
| 主備線路分別封頂、分別對帳 | 額度上限按 Key 計算,一把 Key 裡的幾個分組共用一個上限 |
| 切換時順便換模型,比如降級到更便宜的模型 | 平臺切換隻換分組,不換模型 |
| 504 閘道器超時或客戶端超時也要切換 | 平臺不會因為這些錯誤換分組 |
| 主備線路需要不同的模型限制或 IP 白名單 | 這些設定屬於 Key,一把 Key 只有一套 |
兩把 Key 做故障切換的示例程式碼見如何選分組。團隊裡怎麼按專案和環境分 Key,見團隊和多個專案共用一個帳號。
常見問題
一把 Key 最多能設定幾個分組?
最多 5 個,按優先順序排列,越靠前越優先。在控制台「令牌」頁新建或編輯 Key,把分組方式選成「多個分組 · 自動切換」就能設定。
切換到後面的分組時,價格怎麼算?
每次請求按實際服務它的分組計價,也就是模型標準價乘以該分組的倍率。後面的分組如果更貴,切過去的請求就按更貴的價格扣費,所以建議給這把 Key 設額度上限。
不開跨分組重試,設定多個分組還有用嗎?
有用,但只在一種情況下換分組:前面的分組沒有這個模型時,請求直接用後面提供該模型的分組。前面的分組有這個模型、只是請求出錯時,不會換分組,錯誤會返回給你。
怎麼知道某次請求用的是哪個分組?
看控制台「操作日誌」裡這條消費記錄的「分組」一欄,顯示的就是實際服務這次請求的分組。也可以按分組篩選,看每個分組承擔了多少請求。
能在請求裡臨時指定分組嗎?
不能。分組只由 Key 的設定決定。需要不同的分組組合,就建不同的 Key。