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
| Audience | Flexibility | Learning Curve | Best Fit | |
|---|---|---|---|---|
| text-generation-webuicelui-ci | Power users, researchers | Very high | Medium-high | Experimentation, LoRA, roleplay |
| Ollama | Developers | Medium | Low | Ship fast, API-first |
| LM Studio | All users | Medium | Very low | Non-developer GUI |
| Jan | All users | Medium | Very low | OSS-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
Text Embeddings Inference — High-Performance Embedding Server by Hugging Face
A blazing-fast inference server for text embedding and reranking models. TEI serves any Sentence Transformers or cross-encoder model with optimized Rust and CUDA kernels, token-based dynamic batching, and an OpenAI-compatible API.
text-generation-webui — A Gradio Web UI for Local LLMs
oobabooga's text-generation-webui is the "AUTOMATIC1111 of LLMs": a feature-rich Gradio interface for chatting with and serving local language models. It supports llama.cpp, Transformers, ExLlamaV2, and dozens of model formats.
Text Generation WebUI — Local LLM Chat Interface
Text Generation WebUI is a Gradio interface for running LLMs locally. 46.4K+ GitHub stars. Multiple backends, vision, training, image gen, OpenAI-compatible API. 100% offline.
Text Generation Inference (TGI) — Hugging Face Production LLM Server
TGI is Hugging Face's production-grade LLM inference server. It powers HF Inference Endpoints with continuous batching, tensor parallelism, quantization, and OpenAI-compatible APIs — handling thousands of requests per second.
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).