NVIDIA/Personal-AI-Router

Router that virtually distributes inference across connected devices in the home.

NVIDIA Personal AI Router(PAIR)

概要 – PAIR は、同じローカルネットワーク上の複数のコンピュータが LLM 推論の実行負荷を共有できるようにするデスクトッププラスサービスアプリケーションです。他の PAIR ノードを発見し、各ノードが持つ推論エンジン(Ollama、LM Studio、llama.cpp)とモデルを追跡し、受信した API 呼び出し(OpenAI スタイル、Anthropic スタイル、または Ollama スタイル)を最適なマシンにルーティングします。

主要なアイデア

  • ローカルのみのルーティング – すべてのトラフィックは LAN 内に留まります。クラウドコンポーネントは不要です。
  • リクエストごとのルーティング – 各リクエストは、要求されたモデルを持ち、十分な空き GPU/メモリがある単一のノードに送信されます。PAIR は単一のモデルを GPU 間で分割したり、GPU メモリをプールしたりしません。
  • クロスプラットフォーム – Windows 11、Linux(deb パッケージ)、macOS(dmg)で動作します。サポートされている任意の OS のノードをクラスタに混在させることができ、x86-64 と arm64 の両方をサポートします(Windows-ARM は実験的)。
  • エンジン管理 – PAIR はサポートされているエンジンのインストール、起動、停止、更新を自動で行い、各エンジンで利用可能なモデルを追跡します。
  • 複数の API フレーバー – OpenAI、Anthropic Messages、Ollama API を模倣したローカルプロキシエンドポイントを公開するため、既存のクライアントコードは変更なしで動作します。

クイックスタート(デスクトップフロー)

  1. ダウンロード – GitHub リリースページから適切なインストーラをダウンロードします(Windows .exe、Linux .deb、macOS .dmg)。
  2. インストール – インストーラを実行します。バックグラウンドサービス、ファイアウォールルール、デスクトップ UI が設定されます。
  3. PAIR を起動 – 他のプログラムと同じようにアプリを開きます。
  4. エンジンを追加 – エンジン設定 で Ollama、LM Studio、または llama.cpp の横にある インストール をクリックします。PAIR が自動的にエンジンをダウンロードして設定します。
  5. モデルを追加 – モデルを追加 をクリックし、組み込みリストからモデル(例:qwen4:12b または Hugging Face の任意の GGUF モデル)を選択し、エンジンにダウンロードさせます。
  6. テスト – 組み込みの テスト ボタンまたは簡単な curl リクエストを使用します:
    curl http://127.0.0.1:11434/v1/chat/completions \
         -H "Content-Type: application/json" \
         -d '{"model":"qwen4:12b","messages":[{"role":"user","content":"What does a router do?"}]}'
    
    応答は標準的な OpenAI スタイルの JSON ペイロードです。
  7. ノードを追加 – 設定 → クラスタ で最初のマシンに 6 桁の PIN を生成し、2 番目のマシンでそれを入力し、そこでエンジン/モデルの手順を繰り返します。PAIR は容量のあるノードにリクエストをルーティングするようになります。

ターミナルインターフェース(GUI なし)

ヘッドレスまたはサーバーマシン向けに、PAIR は同じバックグラウンドサービスを起動し、ノード、ジョブ、ログの全画面ビューを表示するターミナル UI を提供します。デスクトップアプリで利用可能なすべての設定操作は、ターミナルから実行できます。

ルーティングの仕組み

  • PAIR は各ノードの GPU とメモリ使用量を継続的に監視します。
  • リクエストが到着すると、次の条件を満たすノードを探します:
    1. 要求されたモデルをロードしている(またはすぐにロードできる)。
    2. 推論に十分な空きリソースがある。
    3. スケジューラによると現在最も負荷が低い。
  • リクエストは適切な API エンドポイントを介してそのノードのローカルエンジンに転送されます。応答は元のクライアントにプロキシされます。

サポートされているエンジンとモデル

エンジン 提供内容 モデル形式
Ollama OpenAI 互換 API を備えたフルスタックサーバー gguf およびネイティブ Ollama 形式
LM Studio GUI 駆動のサーバー、OpenAI 互換 Ollama と同じ
llama.cpp GGUF ファイル用の軽量 CPU/GPU 推論 GGUF(*.gguf)

インストールとアップグレード

  • Windows/macOS – インストーラをダブルクリックし、プロンプトに従います。インストーラは特権ヘルパーを登録し、ファイアウォールルールを追加し、自動更新チェックを設定します(設定 → サービス でオプトイン)。
  • Linux – sudo apt install ./NVPAIR-Setup-*.deb。更新は新しい .deb パッケージとして配信されます。有効にするとアプリは自己更新できます。
  • ソースから – 前提条件とサービスおよび UI のコンパイルに必要な cargo/npm コマンドについては、docs/building.mdx を参照してください。

アンインストール / リセット

  • Windows:アプリと機能 からアンインストールします。アンインストーラはオプションで PAIR データを削除します。
  • Linux:sudo apt remove nvpair(データ保持)または sudo apt purge nvpair(データ削除)。
  • macOS:バンドルされているアンインストールスクリプトを実行します。データを削除するには --purge を追加します。
  • データのリセット – 設定 → サービス → アプリデータのリセット は、PAIR 自身の状態(設定、ログ、証明書、インストール済みエンジン)をクリアしますが、モデルファイルには触れません。

ロードマップ(今後の主要な作業)

  • 完全な Windows ARM64 サポート、DGX Station 互換性。
  • 新しいエンジン統合:vLLM、EXO、ComfyUI、Unsloth、Tailscale。
  • 高度なルーティング機能:エンジン間 OpenAI 互換ルーティング、リクエストキューイング、QoS スケジューラノブ、KV キャッシュ対応スケジューリング。
  • 使いやすさ:リクエスタのみのクライアント、起動時の自動開始、さらなる安定性の向上。

ライセンスと貢献

  • Apache 2.0 ライセンス。
  • 貢献を歓迎します。詳細は CONTRIBUTING.md、CODE_OF_CONDUCT.md、およびガバナンスモデルを参照してください。
  • セキュリティ:PAIR には LAN ディスカバリ、PIN ベースの信頼ブートストラップ、ローカル HTTP エンドポイントが含まれます。信頼できないネットワークにデプロイする前に SECURITY.md を確認してください。

結論 – NVIDIA PAIR は、数台のローカルマシンを単一の推論サービスとして扱える、すぐに使えるクロスプラットフォームルーターです。すべてのデータをオンプレミスに保ちながら、エンジンのインストール、モデル管理、リクエストスケジューリングを処理します。

関連

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