mostlygeek/llama-swap
Reliable model swapping for any local OpenAI/Anthropic compatible server - llama.cpp, vllm, etc
何を解決するか
llama-swap は、1台のマシン上で複数の生成AIモデルを実行し、必要に応じてモデル間を切り替えることを可能にします。異なるモデル用に手動で推論サーバーを起動・停止する必要がなく、ローカルAIワークフロー用の統合APIインターフェースを提供します。
動作方法
OpenAIおよびAnthropic互換エンドポイントへのリクエストをインターセプトするリバースプロキシとして機能します。リクエストで特定のモデルが指定されると、llama-swap はモデルIDを抽出し、対応するサーバー設定を自動的に読み込みます。必要なモデルのサーバーが現在実行中でない場合、アクティブなサーバーを正しいものにスワップします。基本設定では1つのモデルのみを扱いますが、上級ユーザー向けに複数のモデルを並行して実行できるカスタムDSL「matrix」をサポートしています。
対象ユーザー
ローカルLLM、画像生成モデル、音声モデルを実行している開発者やAI愛好家で、プロセスやポートを手動で管理せずに複数のモデルをスムーズに管理したい方。
主な特徴
- 広範な互換性: OpenAIおよびAnthropic APIエンドポイントに加え、llama.cpp、stable-diffusion.cpp、audio.cpp、ComfyUI専用のエンドポイントもサポート。
- 依存関係ゼロ: 高性能かつシンプルなGoで構築されており、単一のバイナリと設定ファイルのみが必要。
- 統合Web UI: モデルのテスト、トークンメトリクスのモニタリング、リクエスト/レスポンスの検査が可能なリアルタイムインターフェースを内蔵。
- 高度なリソース管理: TTL(有効時間)設定によるモデルの自動アンロードと、Docker/Podmanコンテナのサポート。
- 観測性: 詳細なログストリーミング(プロキシ、アップストリーム、各モデルごと)とPrometheusメトリクスにより、システムおよびGPU使用状況を監視可能。
関連
- Dispatch
- プロジェクト
- プロジェクト
- プロジェクト