LiteLLM Router
litellm Router 係 litellm Proxy 生態系統入面一個強勁嘅組件,專為管理多個 AI 模型端點、處理負載平衡,以及實現進階可靠性功能(好似 fallbacks)而設。佢作為一個抽象層,容許用戶將唔同嘅 API 供應商(例如 openai、Google Gemini、mistral 或 nvidia-free-nim-api-access)整合成一個統一、兼容 OpenAI 嘅介面。
主要功能¶
可靠性與 Fallbacks¶
Router 主要嘅使用案例之一就係確保高可用性。透過喺 config.yaml 入面定義 fallbacks 配置,如果主要服務返回 429(Rate Limit)錯誤或者遇到停機事故,Router 可以自動將請求重新導向去次要模型或供應商。例如,一個用嚟做翻譯嘅重型模型,可以設定成當配額用盡時,自動切換到一個更快、更細嘅模型。
負載平衡與路由¶
應用程式唔會直接呼叫特定 API,而係指向 Router,Router 會根據已定義嘅策略智能地路由流量。呢點喺同時管理本地實例(例如透過 llama.cpp 或 vLLM)同雲端模型時特別有用。佢容許複雜嘅設定,例如由本地硬件處理例行請求,而超額流量就路由到雲端供應商。
配置管理¶
配置主要透過 config.yaml 檔案管理,包括:
- 模型清單:定義指向特定後端嘅自訂模型別名。
- 參數:設定預設嘅 temperature、top_p 同 extra_body 參數,以確保喺 SillyTavern、Cursor 或 Claude Code 等工具之間有一致嘅行為。
- Virtual Keys:建立帶有特定模型存取權限、預算限制同速率限制器嘅 scoped API keys,呢個對於多用戶或多工具部署嚟講係必不可少。
實施步驟¶
- 環境設定:確保你嘅 docker 或伺服器環境已將必要嘅認證資料(例如
NVIDIA_NIM_API_KEY、GROQ_API_KEY)定義為環境變數。 - 配置:建立一個
config.yaml,定義你嘅模型別名同 fallback 邏輯。 - 部署:運行 proxy 容器,並為配置提供持久儲存,同時可選用資料庫(PostgreSQL)支援,以儲存動態模型中繼資料(
STORE_MODEL_IN_DB=True)。 - 金鑰管理:透過管理員 UI 或
/key/generate端點產生金鑰,為你嘅工具提供安全、可追蹤嘅存取。
進階使用案例¶
- 沉浸式翻譯:透過使用設定了特定
RPM(每分鐘請求數)限制嘅Virtual Keys,用戶可以無縫整合翻譯工具,而唔會喺昂貴或嚴格控制配額嘅模型上觸發速率限制。 - 本地模型最佳化:正如本地 LLM 設定中所示,Router