DigitalBase Docs

モデル管理

LLM サーバ・モデル・GPU の管理画面。

対象:管理者必要権限:管理者ロールエディション:vLLM 版 / Ollama 版

できること

  • LLM サーバ(vLLM / Ollama)の登録・状態確認、モデル管理
  • 複数の推論サーバーの負荷分散(エンドポイントプール)
  • GPU・利用状況の確認、推論性能のベンチマーク(vLLM)
  • 補助サーバー(画像・動画生成、リランカー、文字起こし、読み上げ)の監視・停止・起動

バックエンド別の運用

区分モデルの供給
vLLM 版GPU サーバで提供するモデル(既定: チャット Qwen/Qwen3-1.7B、埋め込み Qwen/Qwen3-Embedding-0.6B。初回起動時に自動ダウンロード)
Ollama 版ローカルにダウンロードしたモデル
OpenAI 互換サーバー既存の GPU サーバーや他の推論基盤に接続(高度な設定)
クラウド LLM 併用OpenAI / Anthropic / Gemini / xAI Grok(API キー)

推論サーバー(vLLM)の運用

vLLM 版(SGLang 版も同じ)は用途別に最大 3 つの推論サーバーを動かす。サーバーごとに次のことができる。

  • 個別に起動 / 停止 / 再起動する
  • 状態・ログ・GPU を確認する
  • HuggingFace のモデル ID でモデルを切り替える
サーバー役割
chatチャット・生成・ツール呼び出し
embedRAG 用の埋め込み
vision画像・図面・帳票の読み取り(VLM)

自動再起動と状態表示

本機で起動した推論サーバーは、停止・応答なしを検知すると自動で再起動する。管理画面から「停止」したものは除く。各行に起動段階・失敗理由・警告を表示する。

表示意味
downloading (x%) / loading weights / compiling / ready起動段階。大型モデルは ready まで数分〜数十分
backoff失敗後の再起動待ち
failed起動できない。reason(GPU out of memory / port <番号> in use / model not found in cache など)を確認
  • 警告: 「model weights exceed free VRAM」
  • 起動ログは ~/.local/db/logs/(ENGINE_LOG_DIR)。画面の「ログ」で末尾を確認できる
  • 複数 GPU は高度な設定
  • 死活監視は監視と利用計測

推論エンジンのバージョンを変える

Linux(Bare Metal)の vLLM 版は、画面から vLLM を入れ直せる。数分かかる。完了時に本体が再起動する。

  1. 推論サーバーの欄の 「バージョンを変更」 を押す。
  2. 次の表から選ぶ。
選択使いどころ
最新版新しいモデルを使う時
nightly(開発版)最新版でも動かないモデルを試す時。不安定なことがある
バージョンを指定問題が出たバージョンから戻す時(0.30.0 の形)

入れられないバージョンを指定した時は、入れ替える前に止まる。今の vLLM のまま動き続ける。結果と記録は登録管理の更新ログ(~/.local/db/update.log)。

閉域環境へのモデル持ち込み

別の PC で取得したモデルを、サーバー上のパス(USB メモリ等)から取り込む。操作は 「閉域から取り込む」 で行う。HuggingFace のキャッシュ(HF_HOME)に配置され、以後オフラインで起動できる。

受け付ける形式は次の 2 つ。どちらもディレクトリ / tar のどちらでもよい。

1 つ目はモデルのファイル一式。repo_id の指定が必要(例: Qwen/Qwen3-8B)。

Qwen3-8B/
├── config.json
├── model-00001-of-00004.safetensors ... model.safetensors.index.json
├── tokenizer.json / tokenizer_config.json
└── generation_config.json

2 つ目は HuggingFace キャッシュと同じ配置。複数モデルでもよい。

models--Qwen--Qwen3-8B/snapshots/<rev>/{config.json, *.safetensors, tokenizer*}

取り込み後、.env の ENGINE_CHAT_MODEL 等にモデル ID を設定して起動する。オフライン運用では HF_HUB_OFFLINE=1 も設定する(オフラインでのインストール)。

画像・動画生成サーバー(別サーバーで起動)

画像・動画生成サーバー(vLLM-Omni / SGLang Diffusion / LocalAI / Stable Diffusion WebUI 等)は本体の外で起動する。本体は URL で接続・監視する。チャットの画像生成・動画生成と OpenAI 互換 API(/v1/images/*・/v1/videos)が使う。

種類接続設定
OpenAI 互換(vLLM-Omni / SGLang Diffusion / LocalAI 等)IMAGE_GEN_BASE_URL(例 http://gpu-box:8092/v1)。動画は VIDEO_GEN_BASE_URL
Stable Diffusion WebUI(AUTOMATIC1111 / Forge)IMAGE_GEN_API=a1111 + IMAGE_GEN_BASE_URL(例 http://gpu-box:7860)
クラウド(OpenAI / xAI / Google Gemini)IMAGE_GEN_MODEL / VIDEO_GEN_MODEL と API キー

OpenAI 互換サーバーの設定例。

IMAGE_GEN_BASE_URL=http://gpu-box:8092/v1
VIDEO_GEN_BASE_URL=http://gpu-box:8093/v1

IMAGE_GEN_MODEL / VIDEO_GEN_MODEL は省略できる。省略するとサーバーが名乗るモデルを使う。

自前サーバーに API キーを送るのは IMAGE_GEN_API_KEY / VIDEO_GEN_API_KEY を設定した時だけ。

インストーラーで導入(install-media.sh)

Linux + systemd(vLLM 版)で vLLM-Omni の画像・動画生成サーバーを同じ機に常駐させる。unit 登録・.env 設定・補助サーバーからの停止・起動権限までを行う。1 回に 1 種類。

画像生成サーバーを入れる。既定ポートは 8092。

curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-media.sh | bash -s -- --image <HuggingFace のモデル名> [--gpu N]

動画生成サーバーを入れる。既定ポートは 8093。

curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-media.sh | bash -s -- --video <HuggingFace のモデル名> [--gpu N]

外す時は --remove を付ける。unit を停止・削除し、.env から *_GEN_BASE_URL を消す。

curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-media.sh | bash -s -- --remove image
オプション内容
--gpu N使う GPU 番号(既定 0)
--port P待ち受けポート(127.0.0.1 のみ)
--version X.Y.Zvllm / vllm-omni のバージョン
--dry-run変更内容の表示のみ
  • 起動オプションは自動で決まる。重みが GPU メモリに収まらなければ FP8 を付ける。それでも足りなければ CPU 退避を付ける。動画は常に VAE 分割
  • 置き場所(HF_HOME)の空きがモデルより少ないと、取得前に止まる。別の場所は HF_HOME=<ディレクトリ> を付けて実行する

実行後、本体を再起動する。

中止

チャットの動画カードの「中止」で生成を打ち切る。SGLang Diffusion はサーバー側の生成が最後まで走る。

補助サーバー

画像生成・動画生成・リランカー・文字起こし・読み上げの接続先の状態を 1 か所に表示する。「更新」で問い合わせ直す。

種類接続設定unit
画像生成IMAGE_GEN_*(上記)db-media-image.service
動画生成VIDEO_GEN_*db-media-video.service
リランカーRERANK_ENABLED / RERANK_BASE_URL(高度な設定)db-reranker.service
文字起こしSTT_ENGINE(インストール)なし
読み上げTTS_ENGINE / TTS_BASE_URL(インストール)db-tts.service(Linux の Kokoro)

状態は 応答あり / 応答なし / 停止中 / 本体内 / クラウド / 未設定。画像・動画サーバーが応答しない間は、AI に生成ツールを提示しない。

停止・起動

インストーラーの unit がある時だけボタンを表示する(Linux + systemd)。権限が無い旨が出たらインストーラーを再実行する。

操作内容.env
停止 / 起動unit を止める・動かす残る
無効化 / 有効化自動起動を外して止める・付けて動かす残る
完全に外すinstall-media.sh --remove image|video / install-reranker.sh --remove接続先を削除

操作は監査ログに記録する。

複数の推論サーバーをまとめて使う(エンドポイントプール)

複数の vLLM サーバーを 1 つのプールに束ねて負荷分散する。設定は高度な設定 › エンドポイントプール。

起動・停止できるのはこの機で動くサーバーだけ。別ホストのサーバー(VLLM_BASE_URL に別ホストを書いた場合も含む)は状態を見るだけ。

GPU 監視(DCGM)

各 vLLM 接続先の GPU 使用率・温度・電力・VRAM を、接続先ホストの DCGM exporter(DCGM_PORT、既定 9400)から表示する。exporter が無い接続先は「—」。

exporter の導入手順

前提: GPU ホストに NVIDIA DCGM 4 系(CUDA リポジトリから導入)。

DCGM を入れる。CUDA リポジトリが未登録の場合は、先に cuda-keyring を入れる。

sudo apt-get install -y datacenter-gpu-manager-4-core datacenter-gpu-manager-4-cuda13

CUDA 12 環境は -4-cuda12 にする。

GPU ホストで次を実行する。exporter の配置と systemd 登録を行う。

curl -fsSL https://pub-a2cab4360f1748cab5ae1c0f12cddc0a.r2.dev/vite-scripts/install-dcgm-exporter.sh | bash

導入後、モデル管理画面の [更新] で表示する。

ベンチマーク(性能計測)

vLLM サーバーのスループット・レイテンシを計測する。GPU 構成・モデル選定の判断材料になる。

モデルの追加(Ollama)

サーバ側で取得したモデルがチャットの一覧に表示される。次のコマンドで取得する。

ollama pull gemma3:4b
ollama pull embeddinggemma

embeddinggemma は RAG 用の埋め込み(既定)。

補足

vLLM 版のツール呼び出し・思考は .env の VLLM_TOOL_CALL_PARSER / VLLM_REASONING_PARSER で指定する(モデルを変えたら合わせて変更)。環境変数タブの「vLLM設定」ボタンで、モデルカードの vllm serve コマンドを .env 設定に変換できる。

関連