mostlygeek/llama-swap
Reliable model swapping for any local OpenAI/Anthropic compatible server - llama.cpp, vllm, etc
解決的問題
llama-swap 允許使用者在單一機器上執行多個生成式 AI 模型,並依需求在它們之間切換。它消除了為不同模型手動啟動與停止不同推論伺服器的需要,為本地 AI 工作流程提供統一的 API 接口。
工作原理
它作為反向代理,攔截對 OpenAI 與 Anthropic 相容端點的請求。當請求指定某個特定模型時,llama-swap 會提取模型 ID 並自動載入對應的伺服器設定。如果所需模型的伺服器目前未執行,它會將活動伺服器切換為正確的伺服器。對於基礎設定,它一次只處理一個模型;對於進階使用者,可透過自訂 DSL「matrix」實現多個模型同時執行。
適用對象
希望無需手動管理程序或埠,即可順暢管理多個本地 LLM、影像生成器與音訊模型的開發者與 AI 愛好者。
主要亮點
- 廣泛相容性:支援 OpenAI 與 Anthropic API 端點,以及 llama.cpp、stable-diffusion.cpp、audio.cpp 和 ComfyUI 的專用端點。
- 零相依性:使用 Go 編寫,性能高且簡潔,僅需一個二進位檔與一個設定檔。
- 整合 Web UI:內建即時介面,可用於測試模型、監控 token 指標並檢視請求/回應。
- 進階資源管理:支援透過 TTL(存活時間)設定自動卸載模型,並支援 Docker/Podman 容器。
- 可觀測性:提供詳細的日誌串流(代理、上游、各模型),以及系統與 GPU 使用狀況的 Prometheus 指標。
相關
- Dispatch
- 專案
- 專案
- 專案