Local LLM
text-generation-webui (oobabooga) — Swiss-Army Local LLM UI logo

text-generation-webui (oobabooga) — le couteau suisse des LLM locaux

text-generation-webui est l’interface multi-loader basée sur Gradio vers laquelle se tournent les chercheurs quand ils ont besoin de tout — plusieurs backends, entraînement LoRA, expérimentations de quantification, extensions et une interface de chat familière, le tout dans un seul outil.

Why text-generation-webui

Bien avant qu’Ollama n’ait une API, avant l’existence de LM Studio, le text-generation-webui d’oobabooga était la façon dont la communauté open source LLM faisait tourner ses modèles à la maison. C’est une app Gradio avec les onglets « Chat », « Instruct », « Model », « Parameters », « Training », « Session » et « Extensions » — chaque bouton exposé, chaque backend enfichable. Pour les chercheurs et enthousiastes qui veulent comprendre ce que leur modèle fait, plutôt que simplement discuter avec, il reste l’outil le plus complet de l’écosystème.

Le prix, c’est la complexité. Comparé à la commande unique d’Ollama, text-generation-webui est une installation Python complète avec plusieurs loaders (Transformers, llama.cpp, ExLlamaV2, HQQ, AQLM) et leurs chaînes de dépendances. Les mises à jour cassent occasionnellement des installations existantes. Pour un usage occasionnel, les outils plus simples gagnent. Pour les power users qui veulent changer de loader, expérimenter avec les samplers, entraîner des LoRA et installer des extensions, text-generation-webui reste sans égal.

Il possède aussi la plus forte communauté roleplay / écriture créative de toutes les UI LLM locales. Les persona cards, les templates d’instruction et beaucoup d’extensions orientées personnages sont nés ici. Si votre cas d’usage n’est pas instruction ni chatbot (fiction interactive, roleplay de personnages, narration agentique), text-generation-webui a la culture qu’il faut.

Quick Start — One-Click Install + Web UI

Les scripts start_* gèrent automatiquement un environnement conda et l’installation des loaders. --api expose des endpoints compatibles OpenAI sur le port 5000. La flexibilité de format de modèle est la raison d’être — la même UI charge GGUF (llama.cpp), GPTQ (AutoGPTQ), EXL2 (ExLlamaV2), HQQ, AWQ et des safetensors non quantifiés. Faites correspondre le loader au format du modèle dans l’onglet « Model ».

# 1. Clone and run the appropriate installer for your OS
git clone https://github.com/oobabooga/text-generation-webui.git
cd text-generation-webui

# macOS:
./start_macos.sh
# Linux:
# ./start_linux.sh
# Windows:
# .\start_windows.bat

# The script creates a conda env, asks about GPU (CUDA / ROCm / CPU / MPS),
# and installs the right loaders. First run takes 5-15 minutes.

# 2. Open http://localhost:7860 in your browser.
#    - "Model" tab → download a model from Hugging Face (e.g. Qwen2.5-14B-Instruct-GGUF)
#    - "Chat" tab → start chatting

# 3. Or expose the OpenAI-compatible API for programmatic access
#    --api flag enables the API extension (usually on by default in recent builds)
./start_macos.sh --api --listen --model-dir models
# API endpoint: http://localhost:5000/v1/chat/completions

# 4. Train a LoRA (research workflow)
#    "Training" tab → pick dataset → configure hyperparams → run
#    Output LoRA adapter written to loras/<name>; re-load in Model tab.

Fonctionnalités clés

Plusieurs backends d’inférence

Transformers (pleine précision ou 8-bit), llama.cpp (GGUF), ExLlamaV2 (EXL2), HQQ, AQLM, AutoAWQ, GPTQ. Choisissez le meilleur loader selon votre modèle et votre matériel.

Entraînement (LoRA / QLoRA)

Entraînement LoRA et QLoRA intégré depuis l’onglet « Training ». Pas aussi rapide qu’Axolotl/Unsloth, mais l’UI la plus accessible pour « entraîner un LoRA sur mon dataset ».

Écosystème d’extensions

Intégration SD, TTS, mémoire long terme, vision multimodale, recherche web et des dizaines d’autres. Installation via l’UI intégrée depuis le hub ooba-extensions.

Modes Chat + Instruct + Notebook

Chat pour les échanges, Instruct pour les prompts zero-shot, Notebook pour la complétion libre et le prompt hacking. Changez à tout moment.

Contrôle fin du sampling

Chaque paramètre de sampling exposé : temperature, top_p, top_k, min_p, repetition penalty, dynamic temperature, mirostat, etc. Utile pour l’écriture créative et la recherche.

Character cards

Character cards style Tavern, gestion de personas et templates orientés roleplay. L’écosystème autour des cas d’usage basés sur les personnages est plus développé ici que partout ailleurs dans le monde du LLM local.

Comparaison

 AudienceFlexibilityLearning CurveBest Fit
text-generation-webuicelui-ciPower users, researchersVery highMedium-highExperimentation, LoRA, roleplay
OllamaDevelopersMediumLowShip fast, API-first
LM StudioAll usersMediumVery lowNon-developer GUI
JanAll usersMediumVery lowOSS-purist desktop app

Cas d'usage

01. Expérimentation de modèles

Changez de loader, testez des quantifications, comparez des samplers sur le même prompt. L’UI Gradio montre les résultats immédiatement — itération bien plus rapide qu’en CLI.

02. Fine-tuning LoRA

Entraînez de petits adaptateurs LoRA sur des datasets personnalisés sans quitter l’UI. Utile pour la recherche et la personnalisation orientée domaine avant de basculer sur des pipelines Axolotl/Unsloth.

03. AI créative / roleplay / personnages

L’écosystème de character cards et de personas le plus solide. Si votre cas d’usage est la fiction interactive ou le chat persistant avec un personnage, c’est ici que se passe cette communauté et son outillage.

Tarification et licence

text-generation-webui : open source sous licence AGPL-3.0. Gratuit pour usage personnel et non-SaaS. Attention à l’AGPL : si vous l’hébergez en tant que service, le code dérivé doit aussi être sous AGPL — vérifiez les implications juridiques avant de l’embarquer dans des produits commerciaux.

Coût matériel : évolue selon le loader et le modèle. Transformers en pleine précision est gourmand en RAM ; llama.cpp GGUF est le plus tolérant. EXL2 est rapide sur GPU avec une bonne qualité.

Coût opérationnel : plus lourd qu’Ollama ou Jan — les installations multi-loader peuvent casser lors des mises à jour Python/CUDA. Prévoyez du temps pour le premier setup et pour les casses occasionnelles lors des upgrades.

Assets associés sur TokRepo

Questions fréquentes

text-generation-webui est-il encore pertinent en 2026 ?+

Oui, pour des audiences spécifiques. Pour le chat piloté par API, Ollama a gagné. Pour le chat en GUI, LM Studio a gagné. Pour la recherche, l’entraînement LoRA et le roleplay, text-generation-webui reste l’outil le plus complet. Choisissez selon votre cas d’usage.

Puis-je utiliser text-generation-webui comme backend API ?+

Oui — activez --api au démarrage. L’API compatible OpenAI expose les endpoints chat completions et completions sur le port 5000 par défaut. La qualité de compatibilité est bonne mais pas identique à Ollama/vLLM ; vérifiez les cas limites pour vos intégrations d’outils.

Comment l’entraînement se compare-t-il à Axolotl ou Unsloth ?+

L’UI d’entraînement de text-generation-webui est la façon la plus accessible d’entraîner un LoRA sans écrire de config YAML. Axolotl et Unsloth sont plus flexibles, plus rapides et plus efficaces en mémoire — indispensables pour du fine-tuning sérieux. text-generation-webui est super pour « tester l’entraînement » et itérer sur de petits datasets.

Tourne-t-il sur Apple Silicon ?+

Oui. Choisissez le loader llama.cpp avec Metal activé ou le backend MPS de Transformers. Pas aussi optimisé que MLX, mais utilisable. Pour du chat pur sur Apple Silicon, Ollama ou les outils basés sur MLX sont plus rapides.

Et la licence AGPL ?+

AGPL-3.0 signifie : vous pouvez l’utiliser librement ; si vous le modifiez et l’exposez sur le réseau, la source modifiée doit aussi être AGPL. Pour usage personnel ou outils internes, pas de problème. Pour des produits SaaS qui embarquent le code, consultez le juridique. Alternative : utilisez Gradio ou construisez votre propre UI au-dessus de llama.cpp / vLLM (tous deux MIT / Apache).

Comparer les alternatives