Thursday, 12 November 2026 | Mise à jour quotidienne L'intelligence artificielle au service des constructeurs

Text Generation WebUI (Oobabooga) : installation, chargeurs et guide d'utilisation

  • text-generation-webui (largement appelée oobabooga d'après l'auteur GitHub) est une interface gratuite, open-source, basée sur navigateur pour exécuter les LLM localement sur votre propre matériel.
  • Installation via des scripts en un clic — start_windows.bat, start_linux.sh, ou start_macos.sh — aucune configuration manuelle d'environnement Python requise.
  • Prend en charge plusieurs backends : llama.cpp pour les fichiers GGUF, ExLlamaV2 pour EXL2/GPTQ sur NVIDIA, et Transformers pour les modèles HuggingFace.
  • Inclut une extension API compatible OpenAI (--extensions openai) afin que d'autres applications puissent se connecter à votre modèle local sans modification de code.

text-generation-webui est une interface Web open-source et auto-hébergée pour exécuter de grands modèles de langage localement. Maintenue sur GitHub en tant que oobabooga/text-generation-webui, elle s'exécute dans votre navigateur à http://localhost:7860, prend en charge un large éventail de formats de modèles via des backends d'inférence interchangeables, et expose une API REST compatible avec OpenAI. C'est l'interface la plus complète LLM local disponible, au prix d'une courbe d'installation plus abrupte que les applications de bureau comme LM Studio.

Ce qu'est text-generation-webui (et pourquoi les gens l'appellent Oobabooga)

Le nom d'utilisateur GitHub du projet est oobabooga, qui est devenu le raccourci communautaire pour l'outil lui-même. Les deux noms font référence au même projet sur github.com/oobabooga/text-generation-webui.

L'interface est construite sur Gradio et s'exécute entièrement sur votre machine locale — aucune donnée ne quitte votre système. Au-delà du chat de base, elle prend en charge :

  • Trois modes d'entrée : Chat (instruct), Chat (roleplay avec des cartes de personnages) et Notebook (complétions brutes)
  • Chargement de LoRA pour les poids d'adaptateurs affinés sur un modèle de base
  • Un système d'extensions avec des plugins communautaires pour la résumé, la synthèse vocale, le captionnage d'images, et bien plus
  • Un point de terminaison API compatible avec OpenAI pour connecter des clients tiers et des scripts d'automatisation

Avant de choisir un modèle, utilisez le calculatrice VRAM pour confirmer que votre GPU peut le charger — les exigences varient largement selon la taille du modèle et le niveau de quantification.

Installer text-generation-webui

Le chemin recommandé sur chaque plateforme est l'installateur en un clic. Il crée un environnement Conda isolé et installe automatiquement toutes les dépendances Python. N'installez pas dans votre Python système sauf si vous avez une raison spécifique.

Windows

  1. Clonez le référentiel ou téléchargez une version zip depuis la page GitHub :
    git clone https://github.com/oobabooga/text-generation-webui
  2. Double-cliquer start_windows.bat dans le dossier cloné.
  3. Le script détecte votre type de GPU (NVIDIA, AMD ou CPU uniquement) et installe les dépendances correspondantes — sélectionnez l'option appropriée quand vous y êtes invité.
  4. Une fois la configuration terminée, le serveur se lance automatiquement. Ouvrez http://localhost:7860 dans votre navigateur.

Lors des prochains lancements, double-cliquez sur start_windows.bat à nouveau. L'environnement Conda est déjà construit ; le démarrage ne prend que quelques secondes.

Linux

  1. Clonez le référentiel et entrez le répertoire :
    git clone https://github.com/oobabooga/text-generation-webui
    cd text-generation-webui
  2. Rendez le script exécutable et lancez-le :
    chmod +x start_linux.sh
    ./start_linux.sh
  3. Sélectionnez votre type de GPU quand vous y êtes invité : NVIDIA, AMD, CPU uniquement, ou Apple Silicon (non applicable sur Linux, mais l'invite apparaît).
  4. Accédez à l'interface à http://localhost:7860 une fois que le serveur est en cours d'exécution.

macOS

  1. Clonez le référentiel et lancez le script de démarrage :
    git clone https://github.com/oobabooga/text-generation-webui
    cd text-generation-webui
    ./start_macos.sh
  2. Sélectionnez l'option D (Apple Silicon / Metal) ou C (CPU uniquement) quand vous y êtes invité.
  3. Le backend llama.cpp utilise Metal pour l'accélération GPU sur les puces de série M — aucun CUDA requis.

Les utilisateurs macOS sont limités aux chargeurs llama.cpp et Transformers. ExLlamaV2 nécessite CUDA et ne s'exécute pas sur Apple Silicon.

Chargeurs de modèles : lequel utiliser

text-generation-webui dissocie le moteur d'inférence de l'interface. Vous sélectionnez un chargeur par modèle à partir de l'onglet Modèle . Chaque chargeur accepte des formats de fichier spécifiques et a des exigences matérielles différentes.

Chargeur Format Matériel Quand utiliser
llama.cpp GGUF NVIDIA, AMD, Apple Silicon, CPU Par défaut pour les fichiers GGUF ; le plus portable entre les plateformes
ExLlamaV2 EXL2, GPTQ NVIDIA CUDA uniquement Débit NVIDIA le plus rapide ; préféré à AutoGPTQ pour les nouveaux modèles
Transformers HuggingFace (fp16, bf16, int8, int4) NVIDIA, CPU Modèles HuggingFace au format original ; plus lent mais compatibilité la plus large
AutoAWQ AWQ NVIDIA CUDA Modèles quantifiés AWQ
AutoGPTQ GPTQ NVIDIA CUDA Anciens modèles GPTQ ; ExLlamaV2 est plus rapide pour le même format

Par défaut pratique : Si vous avez téléchargé un .gguf fichier (le format le plus courant sur les pages de modèles HuggingFace), utilisez llama.cpp. Si vous avez un GPU NVIDIA et souhaitez une vitesse de génération maximale, recherchez une variante EXL2 du même modèle et utilisez ExLlamaV2.

Pour une ventilation des modèles qui s'adaptent réalistement à quels GPU, consultez Exigences en VRAM pour les LLM majeurs.

Charger un modèle GGUF étape par étape

  1. Copiez le fichier dans text-generation-webui/models/. Les GGUF à fichier unique (par ex., mistral-7b-instruct.Q4_K_M.gguf) vont directement dans ce dossier. Les fichiers fractionnés multi-parties doivent aller dans un sous-dossier nommé.
  2. Ouvrez l'onglet Modèle à http://localhost:7860.
  3. Sélectionnez votre fichier dans la liste déroulante des modèles (cliquez sur l'icône d'actualisation s'il n'apparaît pas).
  4. Définir Chargeur pour llama.cpp.
  5. Définir n-gpu-layers pour contrôler le déchargement GPU. Entrez un grand nombre (par ex., 999) pour pousser autant de couches que possible dans la VRAM ; entrez 0 pour l'inférence CPU uniquement.
  6. Cliquer Charger. Un message de confirmation apparaît dans la zone d'état une fois que le modèle est prêt.

Basculez vers l'onglet Chat pour commencer une conversation, ou l'onglet Par défaut pour la complétion brute d'invite. Le modèle d'instruction est défini automatiquement pour les familles de modèles connues ; pour les modèles inconnus, sélectionnez-le manuellement dans la liste déroulante Instruction template de l'onglet Paramètres.

L'extension API compatible avec OpenAI

L'extension intégrée openai expose des points de terminaison REST qui reflètent le format de l'API OpenAI Chat Completions et Completions. Tout client acceptant une URL de base personnalisée — LangChain, Open WebUI, Continue.dev, ou un simple curl script — peut se connecter à votre modèle local sans modifications de code.

Activez-la en passant un drapeau au démarrage :

# Linux / macOS
./start_linux.sh --extensions openai

# ou lancez server.py directement dans l'environnement Conda
python server.py --extensions openai

Vous pouvez également l'activer depuis l'onglet Session dans l'interface utilisateur, puis cliquez sur Appliquer les drapeaux / Redémarrer.

Par défaut, l'API écoute sur le port 5000, séparé de l'interface Gradio sur le port 7860. Pointez votre client vers :

base_url = "http://localhost:5000/v1"
api_key  = "anything"  # requis par la plupart des clients mais non validé localement

Les points de terminaison pris en charge incluent /v1/chat/completions, /v1/completions, et /v1/models. Le port est configurable via le drapeau de démarrage --api-port .

text-generation-webui vs LM Studio vs Jan

Les trois outils exécutent les modèles localement sans dépendances cloud. Ils ciblent différents utilisateurs et cas d'usage.

text-generation-webui LM Studio Jan
Interface Navigateur (Gradio) Application de bureau native Application de bureau native
Complexité de la configuration Moyenne (script en un clic) Faible (programme d'installation GUI) Faible (programme d'installation GUI)
Formats de modèle GGUF, EXL2, GPTQ, AWQ, HF fp16 GGUF principalement GGUF principalement
Navigateur de modèles intégré Non Oui Oui
API compatible OpenAI Oui (extension) Oui (intégré) Oui (intégré)
Système d'extension / plugin Oui Limité Limité
Apple Silicon (Metal) Oui (llama.cpp) Oui Oui
Meilleur pour Utilisateurs avancés, automatisation, recherche Débutants, utilisation quotidienne de chat Utilisateurs axés sur l'open source

Choisissez text-generation-webui lorsque vous avez besoin de plusieurs backends de chargement, de performances EXL2 sur NVIDIA, du chargement LoRA, de l'écosystème d'extensions, ou d'un accès API scriptable pour les flux de travail d'automatisation et de développement.

Choisir LM Studio or Jan si vous voulez un programme d'installation soigné, une recherche de modèles intégrée avec téléchargements en un clic et une configuration minimale. Consultez le Guide complet LM Studio pour une explication détaillée de cette option.

Si vous décidez si l'inférence locale vaut le coût matériel, le Calculatrice du seuil de rentabilité auto-hébergement vs API peut quantifier le compromis par rapport au paiement de l'accès API selon votre volume d'utilisation.

Questions fréquemment posées

Pourquoi le programme d'installation en un clic prend-il tant de temps la première fois ?

Il télécharge Miniconda et crée un environnement Python isolé avec PyTorch et toutes les bibliothèques de chargement de modèles à partir de zéro. Sur une connexion rapide, cela prend généralement 5 à 15 minutes. Les lancements suivants ignorent cette étape et démarrent en quelques secondes.

Puis-je exécuter text-generation-webui sans GPU ?

Oui. Sélectionnez l'option CPU uniquement lors de l'installation, puis définissez n-gpu-layers pour 0 lors du chargement d'un GGUF. Un modèle 7B peut produire 2 à 5 tokens par seconde sur un processeur de bureau moderne — utilisable pour les tests mais lent pour la conversation. Les quantifications plus petites (Q4 et inférieur) améliorent le débit. Vérifiez meilleurs GPUs pour les LLMs locaux si vous envisagez une mise à niveau matérielle.

Comment mettre à jour text-generation-webui ?

Exécuter git pull dans le répertoire du dépôt pour récupérer le dernier code, puis réexécutez le script de démarrage. Le script détecte les modifications d'environnement et met à jour automatiquement les dépendances. Vous pouvez également exécuter pip install -r requirements.txt manuellement dans l'environnement Conda actif si vous préférez une mise à jour ciblée.

Quelle est la différence entre GGUF et EXL2 ?

Les deux sont des formats quantifiés qui réduisent la taille des fichiers de modèle et les besoins en VRAM. GGUF (via llama.cpp) s'exécute sur NVIDIA, AMD et Apple Silicon — c'est le choix le plus portable et dispose de la plus large disponibilité de modèles. EXL2 (via ExLlamaV2) est réservé à NVIDIA mais génère généralement des tokens plus rapidement à qualité équivalente. Si vous avez un GPU NVIDIA et que la vitesse est la priorité, EXL2 vaut la peine d'être recherché.

Où les journaux de conversation sont-ils enregistrés ?

Les journaux sont stockés dans text-generation-webui/logs/. Chaque conversation est enregistrée en tant que fichier JSON. Vous pouvez également exporter directement à partir de l'onglet Chat de l'interface utilisateur en utilisant le bouton de téléchargement sous la fenêtre de conversation.

Plusieurs utilisateurs peuvent-ils se connecter à une instance ?

Le --listen le drapeau de démarrage rend le serveur accessible sur votre réseau local au lieu de localhost uniquement. Cependant, text-generation-webui n'est pas conçu pour les déploiements en production multi-utilisateurs — il n'y a pas d'authentification intégrée et l'interface Gradio est à session unique. L'extension API OpenAI gère mieux les demandes API simultanées que l'interface Web pour les scénarios multi-clients, mais vous devez ajouter un proxy inverse avec authentification en face si vous l'exposez au-delà de localhost.

Écrit par Mustafa Ihsan

Mustafa Ihsan est le fondateur et rédacteur en chef de Convly.ai. Il a construit et maintient la base de données des modèles IA en direct du site, son indice prix-performance, et ses calculateurs gratuits pour les exigences VRAM, les coûts API et l'économie de l'auto-hébergement. Il écrit sur les prix des modèles, les résultats des repères et le matériel nécessaire pour exécuter des modèles IA localement, et préfère systématiquement les chiffres mesurés aux réclamations des fournisseurs.

Défiler vers le haut