青写真編 - CllamaServer (llama.cpp サーバー)
概要
CllamaServerはllama.cppのServerモード実装をベースとしており、ローカルにOpenAI API互換サーバーを起動でき、多様な機能をサポートします:
- ローカル推論サービス: 外部のAPIに依存せず、ローカルでAI推論サーバーを起動
- OpenAI APIとの互換性: OpenAI互換のAPIフォーマットを使用しているため、移行や統合が容易です
- マルチセッション対応: 複数の同時リクエストに対応
- ツール呼び出し: 関数呼び出し機能をサポート
- 音声テキスト変換: Speech-to-Text機能をサポート
- 見える化管理: エディターに内蔵されたサーバー管理インターフェース
Cllamaとの違い: * Cllama: プロセス内で直接モデルをロードして推論を行い、一度に1つのリクエストしか処理できません * CllamaServer: 独立したHTTPサーバーを起動し、複数の同時リクエストを処理できます。APIはOpenAI形式と互換性があります。
準備作業
ローカルで実行するためには、事前にオフラインモデルファイルを準備する必要があります。例えば、HuggingFaceからダウンロードしてください:Qwen1.5-1.8B-Chat-Q8_0.gguf
モデルを特定のフォルダの下に配置します。例えば、ゲームプロジェクトのディレクトリ Content/LLAMA の下に置きます。
CllamaServerの作成
ブループリントを使用してサーバーを作成する
ブループリント内で右クリックし、ノードを作成 Create Cllama Server In World
サーバーパラメータの設定
Cllama Server Paramノードを作成し、主要なパラメータを設定します。
- モデル: モデルファイルのパス(必須)
- ポート: サーバーポート(0は自動割り当てを意味します)
- ホスト: リスニングアドレス、デフォルトは
127.0.0.1 - NGpuLayers: GPUレイヤー数(-1はGPUをすべて使用することを意味します)
コールバックイベントのバインド
サーバーのコールバックイベントをバインドする:
- On Started: サーバー起動成功時にトリガー
- 停止時: サーバー停止時にトリガー
- On Failed: サーバーの起動に失敗したときにトリガーされます
完全な作成の青写真
完全なServer作成の青写真は以下の通りです:
必要な画像:Server 作成の全体像を示すブループリントの完全なビューを表示してください。パラメータ設定、作成ノード、コールバックのバインドを含めます。

ブループリントを実行した後、Server が正常に起動すると On Started イベントがトリガーされます。
サーバーパラメータの詳細解説
FAIChatPlus_CllamaServerParam構造体には以下のパラメータが含まれます:
よく使われるパラメータ
| パラメータ | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| モデル | F文字列 | - | モデルファイルのパス(必須) |
| Port | int32 | 0 | リスニングポート、0は自動割り当てを意味します |
| ホスト | FString | 127.0.0.1 | リスニングアドレス |
| NGpuLayers | int32 | -1 | GPUレイヤー数、-1はすべてを意味します |
| bUseJinja | bool | false | Jinjaテンプレートを使用 |
| MMProj | FString | - | マルチモーダル投影ファイルのパス |
| 以下是将给定文本翻译成日语后的结果: |
| 温度 | float | 0.8 | サンプリング温度 |
注意:保持了表格格式和英文术语"float",仅对中文部分进行了本地化处理。"采样温度"译为"サンプリング温度"(采样の温度/サンプリング時の温度的简略说法),符合技术文档常用表述。
推論パラメータ
| パラメータ | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| CtxSize | int32 | 4096 | コンテキストサイズ |
| NPredict | int32 | -1 | 予測するトークン数、-1は無制限を意味 |
| スレッド数 | int32 | -1 | CPUのスレッド数。-1は自動を意味します |
| BatchSize | int32 | 2048 | バッチサイズ |
サンプリングパラメータ
| パラメータ | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| TopK | int32 | 40 | Top-Kサンプリング |
| TopP | float | 0.9 | Top-Pサンプリング |
| MinP | float | 0.1 | Min-Pサンプリング |
| RepeatPenalty | float | 1.0 | 反復ペナルティ |
サーバー設定
| パラメータ | タイプ | デフォルト値 | 説明 |
|---|---|---|---|
| ApiKey | FString | - | APIキー(オプション) |
| タイムアウト | int32 | 600 | タイムアウト時間(秒) |
| Parallel | int32 | 1 | 並列シーケンス数 |
| bNoWebUI | bool | false | Web UIを無効にする |
| bVerbose | bool | false | 詳細ログ |
CllamaServerを使用してチャットする
チャットリクエストを作成
サーバーの起動に成功した後、Send CllamaServer Chat Request ノードを使用してチャットリクエストを送信できます。
チャットオプションの配置
CllamaServer Chat Request Options ノードを作成し、BaseUrl にサーバーのアドレスを設定します。
Get Server Info By IDノードを使用してサーバーの情報を取得できます。
メッセージを作成
Messages配列を作成し、System MessageとUser Messageを追加します。
コールバックをバインドして応答を処理
モデルからの応答を受信するには、On Message または On Message Finished イベントをバインドしてください。
完全なチャット設計図
チャットの完全な青写真は以下の通りです:
実行結果
青写真を実行すると、モデルが返すメッセージが画面に表示されます。
サーバー管理
サーバー情報を取得する
Get Server Info ノードを使用してサーバーの詳細情報を取得します。
サーバー情報には以下の情報が含まれます: * ServerID: サーバー一意ID * ホスト: リスニングアドレス * ポート: リッスンポート * アドレス: 完全なアドレス(host:port) * HttpAddress: HTTPアドレス(http://host:port) * bIsRunning: 実行中かどうか * パラメータ: サーバーパラメータ
サーバー停止
Stop Server By ID ノードを使用して現在の Server を停止します。
静的マネジメント関数
AIChatPlus はすべてのサーバーを管理するための一連の静的関数を提供しています。
| 関数 | 説明 |
|---|---|
Is Server Valid (Static) |
Serverが有効かどうかを確認 |
サーバーは動作中ですか(静的) |
サーバーが実行中かどうかを確認します |
ID でサーバーを停止 |
ID を指定してサーバーを停止 |
Stop All Servers |
すべてのサーバーを停止 |
ID でサーバー情報を取得 |
ID によるサーバー情報の取得 |
全てのサーバーIDを取得 |
すべてのサーバーIDを取得 |
Get Server By ID |
ID による Server インスタンスの取得 |
マルチモーダルサポート
CllamaServerはマルチモーダルモデル(Moondream、Qwen2-VLなど)をサポートしています。
マルチモーダルパラメータの配置
Server パラメータで MMProj(マルチモーダル投影ファイルパス)を設定します:
画像メッセージを送信
Messagesに画像を追加:
実行結果
Tool Calling
CllamaServerはTool Calling(関数呼び出し)機能をサポートしており、使用法はOpenAIと同様です。
詳細な使用方法については Tool Callドキュメント。
CllamaServerを使用してTool Callを行う場合、以下のことが必要です:
1. Server パラメータで bUseJinja = true を設定する
2. Chat OptionsのToolsフィールドでツールを定義する
エディター Server 管理
AIChatPlusはエディタツール内で視覚的なCllamaServer管理インターフェースを提供しており、複数のServerを簡単に作成、監視、管理できます。
エディターツールを開きます:Tools -> AIChatPlus -> AIChat を選択し、Cllama Server Manager タブを開きます。
エディターでは以下のことが可能です: 新しいサーバーを作成 * 実行中のServerの状態を確認 * 指定されたサーバーを停止する * サーバーの構成パラメータ * Serverの配置は自動的に保存されます
他のAPIとの関係
CllamaServer は OpenAI API 形式と互換性があるため、OpenAI の Chat Request ノードを使用して CllamaServer と通信することもできます。BaseUrl を CllamaServer のアドレスに設定するだけでOKです。
Original: https://wiki.disenone.site/ja
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
この投稿はChatGPTによって翻訳されています。ご意見やご感想はフィードバック中指出すべき欠落点を指摘してください。
















