目次 / 設定(LLM 接続)
設定(LLM 接続)
画面右上の 「設定」で、llama-server とのつなぎ方と、画像をどこまで細かく読むかを決めます。Pixubus EX は 自分で起動した llama-server に URL でつなぐだけのシンプルな作りです(アプリは llama-server を起動しません)。先に llama-server を立ち上げる → その URL を入れる の2手順です。
つなぎ方:URL で接続(connect)
Pixubus EX は ollama serve に URL でつなぐのと同じ感覚で、起動済みの llama-server に接続します。手順は次の3つです。
- URL(例
http://127.0.0.1:8080)とラベルを入力。 - 別 PC・クラウド GPU の llama-server にもつなげる。
- 「接続テスト」で疎通確認(単一起動ならモデル名、router mode ならモデル定義の数が出ます。router の定義は「その名前で呼べる」という意味で、実際のダウンロード/ロードは初回ジョブ時)。
- 右上チップに状態(ready / starting / error)とラベル。
npm run fetch:model でモデルを取得 → 「① INI を書き出す」→ 表示された --models-preset コマンドで起動すると、モデル切替も VRAM 解放も生成画面のボタンでできるようになります(下の「router mode で起動する」参照)。従来どおり単一モデル(-m)で起動した場合は、モデルを変えるときに llama-server を起こし直して URL を合わせます。
設定画面は LLM / 生成 の 2 タブです(テーマ切替はヘッダーのアイコンに集約)。
「LLM」タブ:接続
入力項目はシンプルです。
| 項目 | 入れるもの |
|---|---|
| llama-server URL | 自分で起動した llama-server のアドレス(例 http://127.0.0.1:8080)。末尾の /v1 等は貼り付けても自動で落ちます。 |
| 接続ラベル | 「どの環境に繋いでいるか」の目印(例 ローカル12B・最大40字)。右上の状態チップに出ます。 |
| image-max-tokens | 画像トークン予算。大きいほど細部まで読める(重くなる)。送信画像の長辺も連動(≈ √(値 × 2304))。既定 1120(≈ 1606px)= Pixubus EX の肝。llama-server の起動値に合わせて入れてください(アプリ側はトリミング縮小の計算に使います)。 |
「接続テスト」で疎通を確認できます。画面には推奨起動コマンドも表示されます(image-max-tokens と URL のポートに追従・コピー可)。自分で起動する llama-server には、次を付けるのが推奨です。
llama-server -m model.gguf --mmproj mmproj-F16.gguf -c 8192 -b 2048 -ub 2048 --image-min-tokens 1120 --image-max-tokens 1120 --reasoning-format deepseek --jinja --no-warmup --alias "Gemma4 12B" --host 0.0.0.0 --port 8080
※ 1 行のコマンドです(画面上は折り返して表示)。PowerShell では bash の行継続 \ が使えないため、改行なしでそのまま貼ってください。
--alias はモデルの表示名(省略可。無いとファイル名、Ollama の blob を直接指すと sha256-… になります)。URL は環境変数 LLAMA_URL でも指定できます(設定を保存していないときに使われます)。-ngl / -c など起動オプションは llama-server 側で決めます(アプリからは触りません)。
router mode で起動する(推奨)
llama-server には、複数モデルを INI に定義しておきリクエストに応じてロード/切替する router mode があります。Pixubus EX はこれに対応していて、次の3ステップで使えます。
- モデルを取得 — アプリのフォルダで
npm run fetch:model(モデルの入手)。ダウンロード済みモデルは LLM タブに一覧表示されます。 - 「① INI を書き出す」 — ダウンロード済みモデルの定義(
models/pixubus-ex.ini)を自動生成します(image-max-tokens の設定値も反映。変えたら書き出し直し)。 - 表示されたコマンドで起動 —
llama-server --models-preset ... --models-max 1 --jinja --no-warmup(コピー可)。
router mode で繋ぐと、こう変わります。
- 起動時にモデルをロードしない(VRAM 消費ゼロ)。最初のジョブで自動ロードされます(初回だけ数秒〜十数秒)。
- モデル切替が生成画面のプルダウンでできる(●=ロード済 / ○=未ロード。切替は次のジョブから・llama-server が自動で入れ替え)。
- 「VRAM解放」ボタンで使っていないモデルを降ろせる(本家 Pixubus=Ollama と GPU を分け合うときに便利。次のジョブで自動再ロード)。
GPU/CPU の割り振りは自動です(llama-server が VRAM に収まる層だけ GPU に載せ、残りは CPU で計算。CPU 専用機でもそのまま動きます)。VRAM より大きいモデルも動きますが、CPU に回った分だけ遅くなります。各フラグの意味は LLM タブの「起動コマンドの各フラグの意味」に一覧があります。
リモート(runpod 等の外部サーバー)で動かす
クラウド GPU で llama-server を動かす場合は、LLM タブの「リモート(外部サーバー)で llama-server を動かす」からリモート用 INI を使います。ローカル用 INI と違ってパスが入っていない(hf-repo 方式)ので、そのままどのサーバーに貼っても動きます。
- 「リモート用 INI を表示」→ 内容をコピーし、サーバーに
pixubus-ex-remote.iniとして保存(llama.cpp を clone してビルドしたフォルダに置くのが楽)。 - 起動コマンド(設定画面にコピー付きで表示・runpod 実機で動作確認済み)で起動。モデル本体を送る必要はありません — 初回ロード時にサーバー側が Hugging Face から自動ダウンロードします(mmproj も自動)。
- アプリの URL 欄にサーバーの URL(RunPod proxy / Tailscale の書式は URL 欄下の「URL 例」参照)を入れて「接続テスト」。
./build/bin/llama-server --models-preset ./pixubus-ex-remote.ini --models-max 1 --jinja --no-warmup --host 0.0.0.0 --port 8080
INI には全 6 種(12B/26B/31B × QAT/非QAT)が載っています — 実際に使ったモデルだけが初回ロード時にダウンロードされます(載っているだけでは何も落ちません)。INI のコメントは英語のみ(日本語はリモート端末への貼り付けで文字化けするため)。llama.cpp 本体のビルドは llama.cpp の準備(Linux はソースビルド)を参照 — 上のコマンドはビルド直後のフォルダで実行する前提のパスです。
~/.cache/llama.cpp/・LLAMA_CACHE での永続化)は 困ったとき へ。
「生成」タブ:温度
| 項目 | 何が変わる |
|---|---|
| 抽出 temperature(0〜1) | Step 1(画像 → タグ)のばらつき。低いほど安定・決定的。読み取りは低めが無難。 |
| 生成 temperature(0〜1.5) | Step 2(プロンプト生成)のばらつき。高いほど多様な表現に。 |
| シチュエーション提案 temperature(0〜2) | シチュエーション提案 (AI) のばらつき。既定 0.9(やや高め=多様)。生成とは別の温度。 |
設定は自動保存です(編集して手を止めると保存・画面下に状態表示)。各タブの下の「既定値に戻す」で、そのタブの項目を初期値に戻せます(LLM = URL・ラベル・image-max-tokens / 生成 = 温度3つ)。
テーマ・データの場所
- テーマ — ヘッダーの ◐ でダーク ⇄ ライトを切替(本家 Pixubus と同じ配色・初回は OS 設定に追従・端末に保存)。設定タブにはありません。
- データの場所 — 履歴 DB
data/history.db/ 入力画像data/uploads// 紐づけた生成画像data/generated/。個別削除は 履歴画面、まるごと保存は バックアップ。
ollama ps が空であることを確認。