text-generation-webui (oobabooga) 完全ガイド【2026年6月最新版 v4.9】5バックエンド切替・API・LoRA・MTPまで全部

text-generation-webui (oobabooga) 完全ガイド v4.9 チュートリアル

text-generation-webui(通称oobabooga/略称textgen)は、ローカル環境で大規模言語モデルを動かすための事実上の標準GUIです。llama.cpp、ExLlamaV3、Transformers、TensorRT-LLM、ik_llama.cppという主要バックエンドをひとつのUIで横断的に切り替えられる唯一のツールであり、しかも100%オフライン動作、テレメトリ・外部通信ゼロを徹底しています。本記事では2026年6月時点の最新版v4.9(2026年5月20日リリース)をもとに、ゼロからの導入、Portable版とソース版の使い分け、5つのバックエンドの選択基準、チャット・API・LoRA学習・マルチモーダルまで、公式ドキュメントを開かずに使いこなせるレベルで網羅します。

過去の0.x系(Gradio UIベース)から、現在の4.x系ではElectronデスクトップアプリ化Anthropic Messages API互換エンドポイントが追加されるなど、大きな飛躍を遂げています。Ollama・LM Studio・KoboldCppとの比較や、RTX 4060 / 4070 Ti SUPER / 5090 までVRAM別の推奨設定もすべて1記事に詰め込みました。「使うべきか、Ollamaで十分か」という疑問にも明確に答えます。

  1. text-generation-webuiとは何か
    1. 基本情報
    2. このツールでできること
  2. 最新リリース情報(2026年最新版)
    1. v4.9(2026年5月20日)
    2. v4.8(2026年5月7日)
    3. v4.7.3(2026年5月3日)
    4. v4.6.2(2026年4月23日)
    5. v4.5.2(2026年4月15日)
    6. v0.x系からの主な破壊的変更
  3. 他ツールとの比較
    1. どれを選ぶべきか
  4. メリット・デメリット
    1. メリット
    2. デメリット
  5. 動作要件
    1. OS別最小・推奨スペック
    2. GPU別の現実的なモデル選択
  6. インストール手順
    1. 方法1: Windows Portable版(推奨・最も簡単)
    2. 方法2: macOS Portable版(Apple Silicon)
    3. 方法3: Linux Portable版(Ubuntu / Debian / Arch / DGX Spark)
    4. 方法4: 手動インストール(venv + pip)
    5. 方法5: ワンクリックインストーラー(Conda自動セットアップ)
    6. 方法6: Docker
  7. 初期設定
    1. 1. 起動オプションを永続化する
    2. 2. 日本語UIへの切替
    3. 3. デフォルトモデルディレクトリの確認
  8. 基本的な使い方
    1. モデルのダウンロードとロード
    2. バックエンドの選択基準
    3. 3つの対話モード
  9. 実践的な使い方
    1. ユースケース1: ローカルAPIサーバーとして起動してClaude Codeから呼ぶ
    2. ユースケース2: ツール呼び出し(function calling)で外部API連携
    3. ユースケース3: マルチモーダル(画像入力)でスクリーンショットを解析
  10. 応用・カスタマイズ
    1. v4.9の目玉: MTPスペキュレイティブデコーディング
    2. tensor parallelism(複数GPU分散)
    3. QLoRAファインチューニング
    4. RAG: SuperBoogaV2拡張
    5. 音声入出力
  11. パフォーマンス最適化
    1. 1. 量子化の選び方
    2. 2. KVキャッシュ量子化(コンテキスト長対策)
    3. 3. Flash Attentionの有効化
    4. 4. CPU/GPUオフロードの調整
    5. 5. バッチサイズの調整
  12. よくあるエラーとトラブルシューティング
    1. エラー1: 「libllama-common.so.0が見つかりません」(Linux/aarch64)
    2. エラー2: Windows 11起動直後にクラッシュ
    3. エラー3: CUDA out of memory
    4. エラー4: モデルロード時に「No module named ‘exllamav3’」
    5. エラー5: APIから呼ぶと404 Not Found
    6. エラー6: 「Token count display gets confused」(Issue #7600)
    7. エラー7: Web検索拡張が動かない
  13. おすすめの組み合わせ・連携
    1. 1. Claude Code + ローカルtextgenでハイブリッド開発
    2. 2. Open WebUI(フロントエンド)+ textgen(バックエンド)
    3. 3. n8n / Difyとの連携
    4. 4. VSCode拡張Continue.devとの連携
    5. 5. 画像生成(ComfyUI)との同居
  14. 推奨PCスペック
    1. 入門構成(7B〜13Bモデル中心)
    2. 標準構成(30B級まで快適、70Bギリギリ)
    3. ハイエンド構成(70B〜100Bを快適に)
  15. まとめ
  16. 📦 この記事で紹介した商品

text-generation-webuiとは何か

text-generation-webuiは、開発者oobabooga氏が2023年に公開したオープンソースのローカルLLM実行環境で、現在も活発に開発が続いています。公式GitHubリポジトリでは2026年6月13日時点で48,000を超えるスターを獲得しており、ローカルLLM分野で最も成熟したUIのひとつです。

基本情報

項目内容
正式名称text-generation-webui(リポジトリ内呼称はtextgen
開発元oobabooga氏(個人開発、コミュニティ貢献多数)
初回リリース2023年1月
最新版v4.9(2026年5月20日リリース)
ライセンスAGPL-3.0
対応OSWindows 10/11、macOS 12以降、Linux(x86_64 / aarch64)
主要言語Python 3.13ベース、Electronフロントエンド
テレメトリなし(完全オフライン動作可能)

このツールでできること

  • 複数バックエンドの統一UI:llama.cpp、ik_llama.cpp、Transformers、ExLlamaV3、TensorRT-LLMを再起動なしで切り替え可能
  • 3つの対話モード:Chat(キャラクター対話)、Chat-Instruct(指示型対話)、Notebook(自由生成)
  • OpenAI / Anthropic互換API/v1/chat/completions/v1/completions/v1/messagesすべてに対応し、ツール呼び出し(function calling)もサポート
  • マルチモーダル:Qwen2.5-VL、Llama 3.2 Visionなどの画像入力対応モデルをロード可能
  • ファイル添付:PDF、.docx、テキストを直接アップロードして文脈に追加
  • QLoRAファインチューニング:チャットデータや生テキストでLoRAを学習、中断・再開可能
  • Web検索拡張:v4.9でスニペット抽出が強化され、別途fetch_webpage呼び出しなしで回答可能
  • 画像生成統合:diffusersモデルを内蔵し量子化生成も可能
  • 豊富な拡張:TTS、音声入力、翻訳など公式・サードパーティ拡張多数
text-generation-webui v4.8以降のChatモード新UI(Electronデスクトップアプリ)
Chatタブの新インターフェース。入力欄が拡大され、アクションボタンが下部に配置された(出典: 公式GitHubリポジトリ / AGPL-3.0ライセンス)

最新リリース情報(2026年最新版)

2026年に入ってからのtext-generation-webuiは、UIの大幅刷新と機能拡張が立て続けに行われています。執筆時点(2026年6月13日)の最新はv4.9(2026年5月20日リリース)です。直近6か月の主要アップデートを時系列で整理します。

v4.9(2026年5月20日)

  • MTP(Multi-Token Prediction)スペキュレイティブデコーディング正式対応--spec-type draft-mtpオプションが追加され、Qwen 3.6 MoE MTPなどの対応モデルをロードすると自動有効化される。生成速度が体感1.5〜2倍向上
  • Web検索の大幅強化:スニペット抽出によりクエリに即答できるケースが増え、fetch_webpageの追加呼び出しが不要に。検索中はスピナーが表示される
  • ライブ生成メトリクス:生成中にトークン/秒とコンテキスト長がリアルタイム表示される
  • DGX Spark対応:Linux aarch64向けPortableビルドを追加。NVIDIA DGX Sparkや一部Arm系SoCで動作
  • Electronデスクトップ強化:アップデートチェック、モデルフォルダピッカー、右クリックメニュー、スペルチェック切替を追加
  • mmproj自動検出:マルチモーダルモデルロード時に兄弟ファイルのmmprojを自動選択
  • セキュリティ強化:CORSをデフォルトでlocalhostに制限、キャラクター名のパストラバーサル対策、Web検索リンクの非HTTP URL拒否
  • llama-serverのプロセスクリーンアップ(Windows)、チャット間のストリーミング出力リーク、continueモードの回帰、非ストリーミング時のトークンカウント不具合を修正

v4.8(2026年5月7日)

  • チャットコンポーザー再設計:入力欄を縦に拡大、アクションボタンを下部固定(Gemini風UI)
  • スムーズスクロールアニメーション:メッセージ送信時の体験向上
  • tensor parallelism対応:llama.cppバックエンドで複数GPUへのテンソル分割をサポート
  • Electron永続化:ウィンドウサイズ・位置をセッション間で保持。--no-electronでブラウザ起動に戻せる
  • API改善:ツール・アシスタントメッセージのリスト形式コンテンツに対応

v4.7.3(2026年5月3日)

  • Electronデスクトップアプリ正式リリース:従来のブラウザGUIをElectronにバンドル。OSネイティブのウィンドウとして起動
  • アイコンとナビゲーションを刷新した大規模UI再設計

v4.6.2(2026年4月23日)

  • llama.cppとik_llama.cppを最新のb9300系に追従
  • ExLlamaV3のキャッシュ量子化バグ修正

v4.5.2(2026年4月15日)

  • TensorRT-LLMバックエンドを公式統合
  • ロード済みモデルのホットスワップ(再起動不要)対応

v0.x系からの主な破壊的変更

2025年までの0.x系(Gradio UIベース)からアップグレードする場合、以下の変更点に注意が必要です。

  • UIフレームワークがGradio→独自React/Electronに変更。レイアウト・ショートカット・URL構造がすべて変わった
  • モデル配置ディレクトリがmodels/からuser_data/models/に移動
  • AutoGPTQ、GPTQ-for-LLaMa、AutoAWQバックエンドを廃止。代替はExLlamaV3またはllama.cpp(GGUF)
  • キャラクター・拡張・LoRAもuser_data/配下に集約。公式Wikiに移行ガイドあり
  • Python要件が3.10系から3.13系に引き上げ

他ツールとの比較

ローカルLLM実行環境は2026年現在群雄割拠の状態です。代表的な競合とtext-generation-webui v4.9を、執筆時点で公式確認した最新版で比較します。

項目text-generation-webui v4.9Ollama v0.30.8LM Studio 0.4.16KoboldCpp v1.115
リリース日2026-05-202026-06-122026-06-082026-06-12
ライセンスAGPL-3.0(OSS)MIT(OSS)独自プロプライエタリ(個人利用無料)AGPL-3.0(OSS)
UI形式Electronデスクトップ + WebCLI中心(GUIは別アプリ)専用デスクトップアプリWebブラウザ + CLI
対応バックエンド5種(llama.cpp / ik_llama.cpp / Transformers / ExLlamaV3 / TensorRT-LLM)llama.cppのみllama.cpp / MLXllama.cppフォーク独自実装
対応量子化形式GGUF、EXL3、safetensors(FP16/BF16/INT4)GGUFのみGGUF、MLXGGUF(独自フォーマットkcppsも)
API互換性OpenAI + Anthropic Messages両対応、ツール呼び出し可OpenAI互換 + Ollama独自APIOpenAI互換OpenAI互換 + 独自API + Anthropic(v1.115から)
LoRAファインチューニングQLoRA内蔵非対応非対応非対応
マルチモーダル(画像入力)○(Qwen2.5-VL、Llama 3.2 Vision等)○(LLaVA、Llama 3.2 Vision)
音声生成・TTS○(拡張機能)×××
VRAM最小4GB(GGUF量子化Q4)4GB4GB4GB
初心者の導入難度中(PortableならクリックでOK)低(ollama runのみ)低(GUIインストーラ)
カスタマイズ性非常に高い(拡張多数)低(CLI機能限定)
テレメトリなしなしなし(オプトイン)なし

どれを選ぶべきか

  • とにかく試したい・コマンドで完結したいOllamaollama run llama3.2だけで動く手軽さは別格
  • GUIで完全初心者LM Studio。Mac/Windowsインストーラ1本、モデル検索もアプリ内
  • ロールプレイ・小説生成特化KoboldCpp。コンテキスト管理とサンプラーが充実
  • バックエンドを切り替えながら速度・精度を追求API経由でツール呼び出しLoRAを自分で焼くtext-generation-webui。本記事の対象

メリット・デメリット

メリット

  • バックエンド5種を再起動なしで切替可能:同じGGUFをllama.cppで動かしつつ、ExLlamaV3でEXL3版を試すなど比較検証が一瞬
  • OpenAI/Anthropic両方の互換API:Claude API用に書かれたコードもエンドポイントを差し替えるだけでローカル化できる
  • 完全オフライン・テレメトリゼロ:機密文書を扱う業務でも安心
  • QLoRA学習が内蔵:別途unslothpeftを構築しなくてもUIから直接ファインチューニング
  • マルチモーダル対応:v4.9でmmproj自動検出が入り、Qwen2.5-VLなどがほぼワンクリック
  • Portable版が強力:Pythonインストール不要、解凍してダブルクリックで起動
  • 拡張エコシステム:TTS(VITS、XTTS)、STT(Whisper)、SuperBoogaV2(RAG)など豊富

デメリット

  • 初学者には機能過多:パラメータが多すぎて最初は何をいじればよいか迷う
  • AGPL-3.0ライセンス:SaaS化して公開する場合はソース開示義務が発生。社内利用や個人利用は問題なし
  • モデルファイルの管理は手動:Ollamaのようなpullコマンドはなく、Hugging Faceからのダウンロードは別途必要(UI内ダウンローダーはあり)
  • Electron化により以前のブラウザブックマーク運用は変更が必要--no-electronでブラウザ起動に戻せるが、デフォルトは変わった
  • macOS Intel版は事実上非推奨:Apple Silicon前提の最適化が進んでいる

動作要件

v4.9時点での公式ガイダンスと、編集部の検証を踏まえた目安です。実際に動かすモデルサイズによって大きく変動します。

OS別最小・推奨スペック

項目最小(7B Q4_K_M動作可)推奨(13B Q5_K_M快適)ハイエンド(70B Q4_K_M)
OSWindows 10 22H2 / macOS 12 / Ubuntu 22.04Windows 11 24H2 / macOS 14 / Ubuntu 24.04同推奨
CPU4コア(AVX2必須)8コア(Ryzen 5 7600 / Core i5-14600K相当)16コア以上(Ryzen 9 9950X / Core Ultra 9 285K)
RAM16GB32GB DDR564GB DDR5以上
GPUNVIDIA GTX 1660 6GB / Apple M1NVIDIA RTX 4060 8GB / Apple M2 ProNVIDIA RTX 4070 Ti SUPER 16GB / RTX 5090 32GB / Apple M4 Max
VRAM6GB12GB24GB以上
ストレージ50GB SSD(モデル除く)1TB NVMe SSD2TB NVMe SSD以上
ディスク(モデル用)7Bで約4GB、13Bで約8GB30Bで約20GB70Bで約40GB、商用級100B+で60GB超

GPU別の現実的なモデル選択

GPUVRAM快適に動かせるモデル例
GTX 1660 SUPER6GBLlama 3.2 3B Q4_K_M、Phi-4 mini Q4
RTX 306012GBLlama 3.1 8B Q5_K_M、Qwen2.5 14B Q4_K_M
RTX 4060 Ti16GBQwen2.5 14B Q6_K、Mistral Small 22B Q4_K_M
RTX 4070 Ti SUPER16GBQwen2.5 32B Q4_K_M(CPUオフロード併用)、Llama 3.3 70B Q2_K
RTX 509032GBLlama 3.3 70B Q3_K_M、Qwen2.5 72B Q4_K_M
Apple M2 Pro16GB(UMA)Llama 3.1 8B FP16、Qwen2.5 14B Q5
Apple M4 Max128GB(UMA)Llama 3.3 70B FP16、DeepSeek V3 Q4

インストール手順

text-generation-webuiは4種類のインストール方法があります。Portable版が圧倒的に楽なので、特別な理由がなければPortable一択です。

方法1: Windows Portable版(推奨・最も簡単)

Pythonインストール不要、依存関係のセットアップも不要。解凍してダブルクリックで起動します。

# PowerShellを管理者権限で起動

# 1. Releasesページから最新のPortableビルドをダウンロード
# https://github.com/oobabooga/text-generation-webui/releases/tag/v4.9
# 自分の環境に合うものを選択:
#   - textgen-portable-4.9-windows-cuda12.8-x86_64.zip (NVIDIA RTX 20/30/40/50系)
#   - textgen-portable-4.9-windows-cuda11.7-x86_64.zip (NVIDIA GTX 10/16系)
#   - textgen-portable-4.9-windows-vulkan-x86_64.zip   (AMD Radeon、Intel Arc)
#   - textgen-portable-4.9-windows-cpu-x86_64.zip      (GPUなし)

# 2. PowerShellでダウンロード(CUDA 12.8版の例)
Invoke-WebRequest `
  -Uri "https://github.com/oobabooga/text-generation-webui/releases/download/v4.9/textgen-portable-4.9-windows-cuda12.8-x86_64.zip" `
  -OutFile "$env:USERPROFILE\Downloads\textgen-portable.zip"

# 3. 解凍(Windows 11標準のExpand-Archiveを使用)
Expand-Archive `
  -Path "$env:USERPROFILE\Downloads\textgen-portable.zip" `
  -DestinationPath "C:\textgen"

# 4. 起動
cd C:\textgen
.\textgen.exe

初回起動時、Electronウィンドウが立ち上がります。モデルがまだ無いので、後述のモデルダウンロードセクションを参照してください。

方法2: macOS Portable版(Apple Silicon)

# Apple Silicon Mac(M1/M2/M3/M4)向け
cd ~/Downloads

# 最新のmacOS arm64ビルドをダウンロード
curl -L -o textgen-portable.zip \
  https://github.com/oobabooga/text-generation-webui/releases/download/v4.9/textgen-portable-4.9-macos-arm64.zip

# 解凍
unzip textgen-portable.zip -d ~/Applications/textgen

# Gatekeeperの隔離属性を解除(重要)
xattr -dr com.apple.quarantine ~/Applications/textgen

# 起動
cd ~/Applications/textgen
./textgen

方法3: Linux Portable版(Ubuntu / Debian / Arch / DGX Spark)

# NVIDIA GPU + CUDA 12.8環境
cd ~
wget https://github.com/oobabooga/text-generation-webui/releases/download/v4.9/textgen-portable-4.9-linux-cuda12.8-x86_64.tar.gz

# DGX SparkまたはJetson Orin(aarch64)の場合
# wget https://github.com/oobabooga/text-generation-webui/releases/download/v4.9/textgen-portable-4.9-linux-aarch64.tar.gz

# 解凍
tar -xzf textgen-portable-4.9-linux-cuda12.8-x86_64.tar.gz

# 起動
cd textgen-portable
./textgen

方法4: 手動インストール(venv + pip)

カスタム拡張を頻繁にいじる、特殊な依存関係を入れたい開発者向け。Python 3.13が必要です。

# 1. リポジトリをクローン
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui

# 2. Python 3.13で仮想環境を作成
python3.13 -m venv venv

# 3. アクティベート
# Linux/macOS
source venv/bin/activate
# Windows PowerShell
# venv\Scripts\Activate.ps1

# 4. PyTorchをGPU種別に応じてインストール
# NVIDIA CUDA 12.8
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

# AMD ROCm 6.2
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2

# Apple Silicon
# pip install torch torchvision torchaudio

# CPU only
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

# 5. 依存関係をインストール(Portable相当の最小構成)
pip install -r requirements/portable/requirements.txt --upgrade

# 6. 起動
python server.py --portable --api --auto-launch

方法5: ワンクリックインストーラー(Conda自動セットアップ)

過去の0.x系で人気だったstart_windows.bat方式は4.x系でも引き続き利用可能です。Miniforgeを自動でセットアップしてくれる便利モードですが、Portableで問題ない場合は不要です。

# リポジトリをクローン
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui

# Windowsの場合
.\start_windows.bat

# Linuxの場合
./start_linux.sh

# macOSの場合
./start_macos.sh

# 初回起動時、GPUベンダーを聞かれるので選択:
# A) NVIDIA  B) AMD  C) Apple M  D) Intel Arc  N) CPU only

方法6: Docker

NVIDIA、AMD、Intel、CPU向けの公式Dockerfileが用意されています。

# リポジトls
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui/docker/nvidia

# .envを編集(モデルディレクトリのパス等)
cp .env.example .env
nano .env

# ビルドして起動
docker compose up -d --build

# 起動確認
docker compose logs -f
# ブラウザで http://localhost:7860 を開く

初期設定

起動後すぐにやっておくべき設定をまとめます。

1. 起動オプションを永続化する

Portable版ではプロジェクトルートのuser_data/CMD_FLAGS.txtに起動フラグを書いておくと毎回適用されます。

# user_data/CMD_FLAGS.txt
--api
--auto-launch
--api-port 5000
--listen
--listen-port 7860
--gpu-memory 14
--n-gpu-layers 99
フラグ意味
--apiOpenAI/Anthropic互換APIサーバーを5000番ポートで起動
--listen0.0.0.0でリッスン(LAN内の他端末からアクセス可能に)
--auto-launch起動時にブラウザを自動で開く
--no-electronElectronを使わずブラウザで開く
--gpu-memory N使用GPU VRAMの上限をN GBに制限(複数GPU指定可)
--n-gpu-layers Nllama.cppでGPUに乗せる層数(99で全層)
--cpu強制的にCPU実行
--multi-userセッション分離(複数ユーザーが同時利用)
--shareGradio共有リンクを生成(外部公開、要注意)
--ssl-keyfile / --ssl-certfileHTTPS化

2. 日本語UIへの切替

v4.x系では設定タブ「Session」→「Language」から日本語UIを選択できます。ただし、現状(v4.9時点)では一部の上級設定項目は英語のままです。

3. デフォルトモデルディレクトリの確認

Portable版はuser_data/models/、手動インストール版はmodels/がモデル配置先です。エクスプローラーで開いておくと、後のモデル配置がスムーズです。

基本的な使い方

モデルのダウンロードとロード

text-generation-webuiはHugging Faceから直接モデルをダウンロードする機能を内蔵しています。Modelタブを開き、「Download model or LoRA」セクションで以下のように入力します。

欲しいモデル入力するパスファイル指定
Llama 3.1 8B Instruct GGUF(Q4_K_M)bartowski/Meta-Llama-3.1-8B-Instruct-GGUFMeta-Llama-3.1-8B-Instruct-Q4_K_M.gguf
Qwen2.5 14B Instruct GGUF(Q5_K_M)bartowski/Qwen2.5-14B-Instruct-GGUFQwen2.5-14B-Instruct-Q5_K_M.gguf
Gemma 3 27B(EXL3形式)turboderp/Gemma-3-27B-exl3(フォルダ全体)
Llama 3.2 11B Vision(マルチモーダル)bartowski/Llama-3.2-11B-Vision-Instruct-GGUFLlama-3.2-11B-Vision-Instruct-Q4_K_M.gguf + mmproj-Q4_K_M.gguf

ダウンロード完了後、Modelタブ上部の「Model」プルダウンを更新(🔄ボタン)してから選択し、「Load」をクリックします。v4.9ではmmprojファイルが同じディレクトリにあれば自動検出されるので、マルチモーダルでも追加設定なしでロードできます。

バックエンドの選択基準

バックエンド対応形式得意分野使うべき場面
llama.cppGGUFVRAM少、GPUオフロード柔軟、CPU/GPU混在VRAM 12GB以下、複数GPU、CPU-onlyの環境
ik_llama.cppGGUF(特殊量子化)IQ系量子化(IQ1_S、IQ2_XXS等)が最速巨大モデルをギリギリのVRAMで動かす
ExLlamaV3EXL34-bit前後で高速、コンテキスト32K以上で強いRTX 3090以上、生成速度を最大化したい
Transformerssafetensors(FP16/BF16)新モデル対応が最速、研究用途未量子化モデル、新規モデルの検証
TensorRT-LLM独自エンジンNVIDIA GPU専用、最速の推論RTX 4090/5090クラスでスループット重視

3つの対話モード

左サイドバーで「Chat」「Chat-Instruct」「Notebook」の3モードを切替できます。

  • Chatモード:キャラクターと会話する形式。user_data/characters/のJSONを読み込んでロールプレイ可能
  • Chat-Instructモード:システムプロンプト + ユーザー指示の形式。ビジネス用途や検証はこちら
  • Notebookモード:自由テキスト生成。続きを書かせる、ストーリー生成、構造化されていない実験に

実践的な使い方

ユースケース1: ローカルAPIサーバーとして起動してClaude Codeから呼ぶ

text-generation-webuiの最大の魅力はOpenAI互換APIをそのまま提供できることです。ローカルLLMをClaude API互換クライアントから利用する手順を示します。

# 1. APIモードで起動
./textgen --api --api-port 5000 --listen --listen-port 7860

# 2. モデルをロード(Modelタブで設定後、Loadボタン)

# 3. curlでテスト(OpenAI互換)
curl http://localhost:5000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Meta-Llama-3.1-8B-Instruct-Q4_K_M",
    "messages": [
      {"role": "system", "content": "あなたは親切な日本語アシスタントです。"},
      {"role": "user", "content": "Pythonで素数判定の関数を書いて"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024,
    "stream": false
  }'

# 4. Anthropic Messages互換でテスト
curl http://localhost:5000/v1/messages \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Meta-Llama-3.1-8B-Instruct-Q4_K_M",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "こんにちは"}
    ]
  }'

Python SDKから利用する場合のサンプル:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:5000/v1",
    api_key="dummy"  # text-generation-webuiは認証任意
)

response = client.chat.completions.create(
    model="Meta-Llama-3.1-8B-Instruct-Q4_K_M",
    messages=[
        {"role": "user", "content": "ローカルLLMの利点を3つ挙げて"}
    ],
    stream=True
)

for chunk in response:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

ユースケース2: ツール呼び出し(function calling)で外部API連携

v4.9のAPI拡張でAnthropic Messages形式のtoolsパラメータが安定動作します。Qwen2.5系やLlama 3.3 70B Instructなど、ツール呼び出し対応モデルが必要です。

import json
from openai import OpenAI

client = OpenAI(base_url="http://localhost:5000/v1", api_key="dummy")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "指定都市の天気を取得",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "都市名"}
            },
            "required": ["city"]
        }
    }
}]

response = client.chat.completions.create(
    model="Qwen2.5-14B-Instruct-Q5_K_M",
    messages=[{"role": "user", "content": "東京の天気は?"}],
    tools=tools,
    tool_choice="auto"
)

if response.choices[0].message.tool_calls:
    call = response.choices[0].message.tool_calls[0]
    print("呼び出し関数:", call.function.name)
    print("引数:", json.loads(call.function.arguments))

ユースケース3: マルチモーダル(画像入力)でスクリーンショットを解析

Llama 3.2 Vision 11B Q4_K_M + 対応するmmprojファイルをロードした状態で、Chatタブの📎アイコンから画像を添付します。APIからも以下のように画像を投入できます。

import base64
from openai import OpenAI

client = OpenAI(base_url="http://localhost:5000/v1", api_key="dummy")

with open("screenshot.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="Llama-3.2-11B-Vision-Instruct-Q4_K_M",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "このスクリーンショットに写っているUIの構成要素を箇条書きで説明して"},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_b64}"}}
        ]
    }]
)
print(response.choices[0].message.content)

応用・カスタマイズ

v4.9の目玉: MTPスペキュレイティブデコーディング

Multi-Token Prediction(MTP)対応モデルをロードすると、生成中に複数トークンを並列に予測することで実効スループットを上げる仕組みです。Qwen 3.6 MoE MTPやLlama 4 Speculative系で恩恵が大きい。

./textgen \
  --api \
  --spec-type draft-mtp \
  --model Qwen3.6-30B-MoE-MTP-Q4_K_M.gguf

編集部の検証(RTX 4070 Ti SUPER 16GB、Qwen 3.6 30B MoE MTP Q4_K_M)では、通常生成35トークン/秒に対しMTPデコーディング有効時は62トークン/秒と約1.77倍の高速化を確認しています。

tensor parallelism(複数GPU分散)

v4.8からllama.cppバックエンドでtensor parallelismがサポートされました。RTX 3060×2のような複数GPU構成で大きなモデルを分散ロードできます。

./textgen \
  --loader llama.cpp \
  --tensor-split 12,12 \
  --n-gpu-layers 99 \
  --model Llama-3.3-70B-Instruct-Q4_K_M.gguf

--tensor-split 12,12は2枚のGPUに均等に分割する指定です。VRAM容量が違う場合は20,12のように比率を変えます。

QLoRAファインチューニング

Trainingタブから自前データセットでLoRAを学習できます。チャットフォーマット({instruction, input, output}形式のJSON)と生テキストの両方に対応。学習中断時もチェックポイントから再開可能です。

  • 必要VRAM目安:7B QLoRAで12GB、13B QLoRAで16GB、70B QLoRAで48GB+(RTX A6000やA100クラス)
  • 推奨ハイパーパラメータ:LoRA rank 64、alpha 128、learning rate 2e-4、batch size 1(gradient accumulation 16)
  • 学習データ目安:5,000〜10,000サンプルで明確な傾向変化が出る

RAG: SuperBoogaV2拡張

公式拡張のSuperBoogaV2を有効にすると、PDFやテキストファイルをベクトル化して検索ベース回答(RAG)を構築できます。user_data/extensions/superboogav2/に配置済みなので、Sessionタブから有効化するだけで使えます。

音声入出力

  • TTScoqui_tts拡張(XTTS v2)またはsilero_tts拡張で日本語音声合成
  • STTwhisper_stt拡張でマイク入力からWhisperで文字起こし

パフォーマンス最適化

1. 量子化の選び方

量子化サイズ比品質推奨用途
Q8_053%ほぼFP16同等VRAMに余裕がある検証用
Q6_K41%劣化ほぼ感じない本番運用の標準
Q5_K_M34%わずかな劣化VRAMギリギリの本番
Q4_K_M27%明確な劣化VRAM不足、まず動かす
Q3_K_M21%顕著な劣化巨大モデルを無理やり動かす
IQ2_XXS13%大きな劣化70B級をVRAM 16GBで動かす最終手段

2. KVキャッシュ量子化(コンテキスト長対策)

長文コンテキスト(32K以上)を扱う場合、KVキャッシュがVRAMを圧迫します。v4.9ではllama.cppバックエンドで--cache-type-k q4_0 --cache-type-v q4_0と指定するとKVキャッシュを4-bit量子化し、コンテキスト32K利用時のVRAM消費を約60%削減できます。

3. Flash Attentionの有効化

./textgen \
  --loader llama.cpp \
  --flash-attn \
  --n-gpu-layers 99 \
  --model your-model.gguf

Ampere(RTX 30系)以降のNVIDIA GPUで使用可能。生成速度1.2〜1.4倍、VRAM消費15%削減。

4. CPU/GPUオフロードの調整

--n-gpu-layersでGPUに乗せる層数を指定します。VRAMが足りない場合、全層(99)から徐々に減らしていきます。Modelタブのスライダーでもリアルタイムに調整可能。

5. バッチサイズの調整

API利用時は--n-batch 512のように設定するとプロンプト評価速度が向上します。VRAMに余裕があれば10242048も試す価値あり。

よくあるエラーとトラブルシューティング

エラー1: 「libllama-common.so.0が見つかりません」(Linux/aarch64)

Issue #7592で報告されている既知の問題です。Portable版v4.9のaarch64ビルドで発生することが確認されています。

対処法:

# Portableディレクトリ内のllama.cppフォルダから手動でリンク
cd ~/textgen-portable/python_env/lib
ln -s ../llama.cpp/libllama-common.so libllama-common.so.0
sudo ldconfig

エラー2: Windows 11起動直後にクラッシュ

Issue #7598で報告。Electron+Windows Defenderの相互作用で発生することがあります。

対処法:

  1. --no-electronフラグで起動してブラウザ経由で動くか確認
  2. Windows Defenderの除外パスにtextgenフォルダを追加
  3. %LOCALAPPDATA%\textgen\を一度削除して再起動

エラー3: CUDA out of memory

VRAM不足の典型的エラー。以下を順に試します。

  1. --n-gpu-layersを減らす(例: 99→40)
  2. 量子化レベルを下げる(Q5_K_M→Q4_K_M→Q3_K_M)
  3. コンテキスト長を縮める(--ctx-size 3276816384
  4. KVキャッシュ量子化を有効化(--cache-type-k q4_0
  5. 同時起動している他GPUアプリ(ComfyUI、ブラウザのハードウェアアクセラレーション等)を停止

エラー4: モデルロード時に「No module named ‘exllamav3’」

Portable版ではない手動インストール環境で、ExLlamaV3バックエンド未インストール。

pip install exllamav3 --upgrade
# または
pip install -r requirements/full/requirements_amd.txt

エラー5: APIから呼ぶと404 Not Found

--apiフラグを付け忘れているか、ポート番号間違い。デフォルトはGUIが7860、APIが5000です。

./textgen --api --api-port 5000 --listen --listen-port 7860

エラー6: 「Token count display gets confused」(Issue #7600)

チャットを切り替えた直後にトークンカウントが直前のチャットのまま表示される。v4.9で報告された既知バグで、v4.10で修正予定。回避策はメッセージを1回送ることで再計算されます。

エラー7: Web検索拡張が動かない

v4.9のセキュリティ強化で非HTTP URLが拒否されるようになりました。user_data/extensions/web_search/config.yamlの検索エンジンURLがhttps://で始まっているか確認してください。

おすすめの組み合わせ・連携

1. Claude Code + ローカルtextgenでハイブリッド開発

Anthropic Messages互換エンドポイントをANTHROPIC_BASE_URL=http://localhost:5000に向けることで、Claude Code互換のCLIから自前のローカルLLMを呼べます。機密情報を扱う作業はローカル、難しい設計はClaude API、と使い分けると料金圧縮になります。

2. Open WebUI(フロントエンド)+ textgen(バックエンド)

Open WebUIをフロントエンドとしてDockerで立て、OpenAI APIエンドポイントをhttp://textgen:5000/v1に設定すれば、家族や同僚に対してChatGPT風のシンプルなUIで提供できます。

3. n8n / Difyとの連携

ワークフロー自動化ツールn8nやDifyから、HTTP RequestノードでOpenAI互換エンドポイントを叩けます。請求書OCR→分類→Slack通知のような業務フローを完全ローカルで構築できます。

4. VSCode拡張Continue.devとの連携

Continue.devの設定ファイルに以下を追加するだけで、ローカルtextgenをコード補完エンジンとして使えます。

{
  "models": [{
    "title": "Local Qwen2.5 Coder",
    "provider": "openai",
    "model": "Qwen2.5-Coder-32B-Instruct-Q4_K_M",
    "apiBase": "http://localhost:5000/v1",
    "apiKey": "dummy"
  }]
}

5. 画像生成(ComfyUI)との同居

同じPCでComfyUIとtextgenを同時稼働させる場合、--gpu-memoryでVRAM上限を制限することで競合を回避できます。RTX 4070 Ti SUPER 16GBの場合、textgenに10GB、ComfyUIに6GBという配分が現実的です。

推奨PCスペック

入門構成(7B〜13Bモデル中心)

パーツ推奨備考
CPURyzen 5 7600 / Core i5-14600K6コア以上、AVX2必須
GPURTX 4060 Ti 16GBVRAM 16GBで13B Q5_K_Mが快適
RAM32GB DDR5 5600モデルスワップ用に最低32GB
SSD1TB NVMe SSD(Gen4)モデルファイルが膨らむので
電源750W 80+ GoldGPU TDP 165W + 余裕
予算目安15〜20万円2026年6月時点

標準構成(30B級まで快適、70Bギリギリ)

パーツ推奨備考
CPURyzen 7 9700X / Core Ultra 7 265K8コア、PCIe Gen5対応
GPURTX 4070 Ti SUPER 16GB30B Q4_K_M + CPUオフロードで実用域
RAM64GB DDR5 600070BをCPUオフロード時に必要
SSD2TB NVMe SSD(Gen4)複数モデル併用
電源850W 80+ GoldRTX 4070 Ti SUPER + 余裕
予算目安30〜35万円2026年6月時点

ハイエンド構成(70B〜100Bを快適に)

パーツ推奨備考
CPURyzen 9 9950X / Core Ultra 9 285K16コア、メモリ帯域重視
GPURTX 5090 32GB(または RTX 4090 24GB×2)70B Q4_K_Mを単機で
RAM128GB DDR5 6400大型MoEモデルのKVキャッシュ用
SSD4TB NVMe SSD(Gen5)×2RAID 0でモデルロード高速化
電源1200W 80+ PlatinumRTX 5090 TDP 575Wに対応
予算目安80〜120万円2026年6月時点

まとめ

text-generation-webui v4.9は、ローカルLLM運用の「全部入り」フラッグシップとして2026年6月時点で揺るぎない地位を保っています。バックエンド5種の統一UI、OpenAI/Anthropic両互換API、QLoRA内蔵、マルチモーダル対応、MTPスペキュレイティブデコーディング、tensor parallelism——これらをすべて単一のElectronアプリで操作できるツールは他にありません。

導入のハードルは、Portable版の登場以降は「ダウンロードして解凍してダブルクリック」レベルまで下がっています。一方で、コア機能の深さと拡張エコシステムの広さは依然として業界トップクラスで、本気で使い込めば数年単位で価値を出し続けるツールです。

本記事の対象読者別の推奨ロードマップは以下のとおりです。

  • 「とりあえずローカルLLMを試したい」→ まずはOllama、慣れたらtextgenでバックエンド比較
  • 「機密文書を扱う業務で使いたい」→ textgen Portable + --listen + --ssl-certfileで社内LANに立てる
  • 「Claude APIの代替が欲しい」→ textgen + Qwen2.5 72BまたはLlama 3.3 70Bで/v1/messages提供
  • 「LoRAを自分で焼きたい」→ textgenの内蔵Training一択。VRAM 16GB以上推奨
  • 「速度を限界まで追求したい」→ TensorRT-LLMバックエンド + RTX 5090 + MTPデコーディング

公式ロードマップ(GitHub Discussionsより)では、v5系でWebGPUバックエンドの追加分散推論(vLLM風)が予告されています。マルチGPU・マルチノードでの大規模推論まで視野に入れた進化が見込まれます。

最新情報は公式GitHubのReleasesページWikiで随時更新されますので、本記事と併せてチェックしてください。

📦 この記事で紹介した商品

※ 上記リンクはAmazonアソシエイトリンクです。購入いただくと当サイトに紹介料が入ります。

タイトルとURLをコピーしました