目次 / 設定(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つです。

1
llama-server を起動
先に立てる
  • 下の推奨コマンドで自分で起動(準備モデル)。
  • --jinja必須(無いと画像で落ちる)。
2
URL を入れる
設定 → LLM
  • URL(例 http://127.0.0.1:8080)とラベルを入力。
  • 別 PC・クラウド GPU の llama-server にもつなげる。
3
接続テスト
確認
  • 接続テスト」で疎通確認(単一起動ならモデル名、router mode ならモデル定義の数が出ます。router の定義は「その名前で呼べる」という意味で、実際のダウンロード/ロードは初回ジョブ時)。
  • 右上チップに状態(ready / starting / error)とラベル。
おすすめは router mode。 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ステップで使えます。

  1. モデルを取得 — アプリのフォルダで npm run fetch:model(モデルの入手)。ダウンロード済みモデルは LLM タブに一覧表示されます。
  2. 「① INI を書き出す」 — ダウンロード済みモデルの定義(models/pixubus-ex.ini)を自動生成します(image-max-tokens の設定値も反映。変えたら書き出し直し)。
  3. 表示されたコマンドで起動llama-server --models-preset ... --models-max 1 --jinja --no-warmup(コピー可)。

router mode で繋ぐと、こう変わります。

GPU/CPU の割り振りは自動です(llama-server が VRAM に収まる層だけ GPU に載せ、残りは CPU で計算。CPU 専用機でもそのまま動きます)。VRAM より大きいモデルも動きますが、CPU に回った分だけ遅くなります。各フラグの意味は LLM タブの「起動コマンドの各フラグの意味」に一覧があります。

リモート(runpod 等の外部サーバー)で動かす

クラウド GPU で llama-server を動かす場合は、LLM タブの「リモート(外部サーバー)で llama-server を動かす」からリモート用 INI を使います。ローカル用 INI と違ってパスが入っていない(hf-repo 方式)ので、そのままどのサーバーに貼っても動きます。

  1. 「リモート用 INI を表示」→ 内容をコピーし、サーバーに pixubus-ex-remote.ini として保存(llama.cpp を clone してビルドしたフォルダに置くのが楽)。
  2. 起動コマンド(設定画面にコピー付きで表示・runpod 実機で動作確認済み)で起動。モデル本体を送る必要はありません — 初回ロード時にサーバー側が Hugging Face から自動ダウンロードします(mmproj も自動)。
  3. アプリの 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 はソースビルド)を参照 — 上のコマンドはビルド直後のフォルダで実行する前提のパスです。

公開 proxy 経由の初回ジョブは「llama-server 524」で失敗することがあります(モデルの自動DL+ロードが proxy の約 100 秒制限を超えるため。サーバー側では継続中)。1〜2 分待って再実行すれば成功します。詳細と、自動ダウンロードされたモデルの置き場所(~/.cache/llama.cpp/LLAMA_CACHE での永続化)は 困ったとき へ。

「生成」タブ:温度

項目何が変わる
抽出 temperature(0〜1)Step 1(画像 → タグ)のばらつき。低いほど安定・決定的。読み取りは低めが無難。
生成 temperature(0〜1.5)Step 2(プロンプト生成)のばらつき。高いほど多様な表現に。
シチュエーション提案 temperature(0〜2)シチュエーション提案 (AI) のばらつき。既定 0.9(やや高め=多様)。生成とは別の温度。
出力スタイル・画風・衣装モードは設定ではなく 生成画面で選びます(出力スタイル=画面上部 / 画風・衣装=Step 2 のパネル)。

設定は自動保存です(編集して手を止めると保存・画面下に状態表示)。各タブの下の「既定値に戻す」で、そのタブの項目を初期値に戻せます(LLM = URL・ラベル・image-max-tokens / 生成 = 温度3つ)。

テーマ・データの場所

読み取りが甘いと感じたら:① 入力画像を トリミングしてキャラを大きく、② image-max-tokens を上げる、③ より大きいモデル(31B)に替える。逆に遅いときは image-max-tokens を下げる / 12B にする / GPU を使う。
接続先 llama-server が GPU を使うなら Ollama を停止しておくこと(同じ GPU の VRAM を奪い合う)。ollama ps が空であることを確認。