概要

Runtime Local LLM は、llama.cpp を使用して大規模言語モデルを完全にデバイス上で実行するプラグインで、実行時にインターネット接続は不要です。GGUF モデルファイルをサポートし、モデルの読み込み、メッセージの送信、トークンごとの応答の受信のための完全な Blueprint API を提供します。これらはすべてバックグラウンドスレッドで実行され、ゲームスレッドのコールバックが行われます。
このプラグインは、Windows、Mac、Linux、Android(Meta Quest およびその他の Android ベースのプラットフォームを含む)、および iOS をサポートしています。
主な機能
- 完全なオフライン推論: 実行時にクラウドサービスや API キーが不要
- GGUF モデル対応: あらゆる GGUF 形式のモデル (Llama、Mistral、Phi、Gemma、Qwen など) を読み込み可能
- 最新の llama.cpp: llama.cpp のリリースに追従するため、Fab で定期的に更新され、常に最新の GGUF モデル形式をサポート
- GPU アクセラレーション: Windows と Linux では Vulkan、Mac と iOS では Metal、Android と Meta Quest では CPU + 組み込み関数を使用
- 複数のモデル読み込み方法:
- ローカルファイルパスから読み込み
- モデル名で読み込み (Blueprint でのドロップダウン選択)
- URL からダウンロードして自動読み込み
- モデルの事前キャッシュのためのダウンロードのみ
- トークンごとのストリーミング: 各トークンが生成されるたびに受信してリアルタイム表示
- 非同期 Blueprint ノード: 読み込み、メッセージ送信、ダウンロードのための出力デリゲート付きノード
- 設定可能な推論パラメータ: Temperature、Top-P、Top-K、repeat penalty、GPU レイヤーオフロード、コンテキストサイズ、シード、スレッド数、システムプロンプト
- 会話コンテキスト管理: コンテキストリセット機能付きでマルチターンの会話を維持
- エディターモデルマネージャー: プロジェクト設定内で直接モデルの閲覧、ダウンロード、インポート、削除、テストが可能
- クロスプラットフォームパッケージ化: モデルは NonUFS ステージングによってプロジェクトと共にパッケージ化
動作の仕組み
- エディターでモデルを管理: プラグイン設定パネルを使用して、定義済みモデルのカタログを参照し、ダウンロードしたり、独自の GGUF ファイルをインポートします
- 実行時にモデルを読み込む: 推論パラメータと共に、読み込み関数 (ファイル、名前、URL、またはメタデータによる) のいずれかを呼び出します
- メッセージを送信する: ユーザーメッセージを LLM インスタンスに渡します。モデルが応答を生成する際に、トークンがデリゲートを通じてストリーミングバックされます
- 応答を使用する: チャット UI にトークンを表示したり、NPC の会話を駆動したり、動的コンテンツを生成したり、他のシステムに連携させます
すべての推論は専用のバックグラウンドスレッドで実行されます。コールバック (トークン生成、完了、エラー) はゲームスレッドで発生するため、そこから安全に UI やゲーム状態を更新できます。
モデルの保存とパッケージ化
モデルはプロジェクトの Content/RuntimeLocalLLM/Models ディレクトリに .gguf ファイルとして保存されます。プラグインは自動的に Additional Non-Asset Directories To Copy (DirectoriesToAlwaysStageAsNonUFS) を設定し、モデルファイルがパッケージ化されたプロジェクトに含まれ、実行時に標準的なファイル I/O でアクセス可能な状態を維持します。
各モデルには、メタデータ (表示名、ファミリー、バリアント、説明、パラメータ数) を保存する .json サイドカーファイルもあります。
対応モデル
このプラグインは GGUF 形式の任意のモデルで動作します。エディターはワンクリックダウンロード用の人気のある定義済みモデルのカタログを提供し、任意のカスタム GGUF ファイルをインポートすることもできます。一般的なモデルファミリーには次のようなものがあります:
- Llama (Meta) — 1B、3B、8B、およびそれ以上
- Mistral / Mixtral — 7B およびそれ以上
- Phi (Microsoft) — 2B、3B、4B
- Gemma (Google) — 2B、7B
- Qwen (Alibaba) — 1.5B、7B、およびそれ以上
- TinyLlama — 1.1B
- および多数のコミュニティモデル
量子化
モデルには、品質とサイズおよび速度をトレードオフするさまざまな量子化レベルがあります:
| 量子化 | 品質 | サイズ | 速度 |
|---|---|---|---|
| Q2_K | 低い | 最小 | 最速 |
| Q4_K_M | 良好 | 中程度 | 高速 |
| Q5_K_M | より良い | 大 | 中程度 |
| Q8_0 | 高い | 大 | より低速 |
| F16 / F32 | 最高 | 最大 | 最遅 |
モバイルおよび VR デバイスでは、より小型の量子化 (Q2_K ~ Q4_K_M) とコンパクトなモデル (1B ~ 3B パラメータ) が推奨されます。デスクトップでは、利用可能な RAM および CPU/GPU リソースに応じて、より大きなモデルとより高い量子化レベルを使用できます。
その他のリソース
- Fabで入手する
- 製品ウェブサイト
- デモをダウンロード (Windows)
- ビデオチュートリアル
- プラグインサポート & カスタム開発: [email protected] (チームや組織向けのテーラーメイドソリューション)