mostlygeek/llama-swap

Reliable model swapping for any local OpenAI/Anthropic compatible server - llama.cpp, vllm, etc

解決する課題

複数の生成AIモデルをローカルで実行する場合、多くの場合、異なる推論サーバーを手動で起動・停止する必要があり、手間がかかる上にリソースを浪費します。このプロジェクトはこれらのサーバー管理を自動化し、さまざまなモデル(LLM、画像生成、音声処理など)を必要に応じて実行し、手動介入なしでホットスワップできるようにします。

仕組み

これは、ローカルの推論サーバー(llama.cpp、vllm、ComfyUIなど)の前に配置される、Goベースの軽量なリバースプロキシとして機能します。特定のモデルにAPIリクエストを送信すると、ツールがリクエストされたモデルIDを検出し、対応するサーバーがまだ実行されていない場合は自動的にロードしてリクエストをルーティングします。OpenAIおよびAnthropic API互換のエンドポイントをサポートしているため、既存のAIツールやワークフローとシームレスに統合できます。

対象ユーザー

独自のハードウェアで複数のローカルAIモデルを実行しており、プロセスを手動で管理することなく、推論スタックを管理するための統一された自動化インターフェースを求める開発者やパワーユーザー向けに設計されています。

主な特徴

  • 自動モデル切り替え: 受信したAPIリクエストに基づいて、モデルを動的にロードおよびアンロードします。
  • 幅広い互換性: OpenAIおよびAnthropic APIエンドポイントをサポートし、さらにllama.cpp、Stable Diffusion、音声処理サーバーへの特化したサポートも提供します。
  • リソース管理: TTLベースの自動アンロード、同時モデルマトリックス、カスタムリクエストフィルタリングなどの機能を備えています。
  • 組み込みモニタリング: テスト、リアルタイムログストリーミング、詳細なトークン/システムメトリクスを確認できるWeb UIを提供します。
  • 簡単なデプロイ: 最小限の構成で単一のバイナリとして配布され、さまざまなGPUバックエンド向けの統合Dockerイメージとしても利用可能です。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト