text-generation-webui (oobabooga) — la navaja suiza para LLM locales
text-generation-webui es la interfaz multi-loader basada en Gradio a la que recurren los investigadores cuando lo necesitan todo — múltiples backends, entrenamiento LoRA, experimentos de cuantización, extensiones y una interfaz de chat familiar en un solo paquete.
Why text-generation-webui
Mucho antes de que Ollama tuviera una API, antes de que existiera LM Studio, el text-generation-webui de oobabooga era la forma en que la comunidad open source de LLM hacía funcionar modelos en casa. Es una app Gradio con pestañas «Chat», «Instruct», «Model», «Parameters», «Training», «Session» y «Extensions» — cada perilla expuesta, cada backend enchufable. Para investigadores y entusiastas que quieren entender lo que hace su modelo en lugar de simplemente chatear con él, sigue siendo la herramienta más completa del ecosistema.
El coste es la complejidad. Comparado con el comando único de Ollama, text-generation-webui es una instalación Python completa con varios loaders (Transformers, llama.cpp, ExLlamaV2, HQQ, AQLM) y sus cadenas de dependencias. Las actualizaciones rompen ocasionalmente instalaciones existentes. Para uso casual, ganan las herramientas más simples. Para power users que quieren cambiar de loader, experimentar con samplers, entrenar LoRAs e instalar extensiones, text-generation-webui sigue siendo insuperable.
También tiene la comunidad de roleplay / escritura creativa más fuerte de cualquier UI LLM local. Las persona cards, los templates de instrucción y muchas extensiones orientadas a personajes nacieron aquí. Si tu caso de uso no es instrucción ni chatbot (ficción interactiva, roleplay de personajes, narrativa agéntica), text-generation-webui tiene la cultura.
Quick Start — One-Click Install + Web UI
Los scripts start_* gestionan automáticamente un entorno conda y la instalación de loaders. --api expone endpoints compatibles con OpenAI en el puerto 5000. La flexibilidad de formato de modelo es la razón de ser — la misma UI carga GGUF (llama.cpp), GPTQ (AutoGPTQ), EXL2 (ExLlamaV2), HQQ, AWQ y safetensors sin cuantizar. Empareja el loader con el formato del modelo en la pestaña «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.Características clave
Varios backends de inferencia
Transformers (precisión completa o 8-bit), llama.cpp (GGUF), ExLlamaV2 (EXL2), HQQ, AQLM, AutoAWQ, GPTQ. Elige el mejor loader según tu modelo y tu hardware.
Entrenamiento (LoRA / QLoRA)
Entrenamiento LoRA y QLoRA integrado desde la pestaña «Training». No es tan rápido como Axolotl/Unsloth, pero es la UI más accesible para «entrenar un LoRA con mi dataset».
Ecosistema de extensiones
Integración SD, TTS, memoria a largo plazo, visión multimodal, búsqueda web y decenas más. Instalación desde la UI integrada vía el hub ooba-extensions.
Modos Chat + Instruct + Notebook
Chat para ida y vuelta, Instruct para prompts zero-shot, Notebook para completion libre y prompt hacking. Cambia cuando quieras.
Control fino del sampling
Cada parámetro de sampling expuesto: temperature, top_p, top_k, min_p, repetition penalty, dynamic temperature, mirostat, etc. Útil para escritura creativa e investigación.
Character cards
Character cards estilo Tavern, gestión de personas y templates orientados al roleplay. El ecosistema en torno a casos de uso basados en personajes está más desarrollado aquí que en ningún otro lugar del mundo LLM local.
Comparación
| Audience | Flexibility | Learning Curve | Best Fit | |
|---|---|---|---|---|
| text-generation-webuiesta | 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 |
Casos de uso
01. Experimentación con modelos
Cambia de loader, prueba cuantizaciones, compara samplers sobre el mismo prompt. La UI Gradio muestra resultados al instante — iteración mucho más rápida que con una CLI.
02. Fine-tuning con LoRA
Entrena pequeños adaptadores LoRA en datasets personalizados sin salir de la UI. Útil para investigación y personalización por dominio antes de pasarte a pipelines Axolotl/Unsloth.
03. AI creativa / roleplay / personajes
El ecosistema más sólido de character cards y personas. Si tu caso de uso es ficción interactiva o chat persistente con un personaje, esta comunidad y este tooling son el sitio.
Precios y licencia
text-generation-webui: open source con licencia AGPL-3.0. Gratis para uso personal y no-SaaS. Atención a la AGPL: si lo alojas como servicio, el código derivado también debe estar bajo AGPL — comprueba las implicaciones legales antes de embeberlo en productos comerciales.
Coste de hardware: escala con loader y modelo. Transformers a precisión completa consume mucha RAM; llama.cpp GGUF es el más tolerante. EXL2 es rápido en GPU con buena calidad.
Coste operativo: más pesado que Ollama o Jan — las instalaciones multi-loader pueden romperse al actualizar Python/CUDA. Reserva tiempo para el primer setup y para roturas ocasionales al actualizar.
Activos relacionados en 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.
Preguntas frecuentes
¿text-generation-webui sigue siendo relevante en 2026?+
Sí, para audiencias específicas. Para chat pilotado por API, ha ganado Ollama. Para chat en GUI, ha ganado LM Studio. Para investigación, entrenamiento LoRA y roleplay, text-generation-webui sigue siendo la herramienta más completa. Elige según tu caso de uso.
¿Puedo usar text-generation-webui como backend API?+
Sí — activa --api al arrancar. La API compatible con OpenAI expone los endpoints chat completions y completions en el puerto 5000 por defecto. La calidad de compatibilidad es buena pero no idéntica a Ollama/vLLM; verifica los casos límite para tus integraciones de herramientas.
¿Cómo se compara el entrenamiento aquí con Axolotl o Unsloth?+
La UI de entrenamiento de text-generation-webui es la forma más accesible de entrenar un LoRA sin escribir configs YAML. Axolotl y Unsloth son más flexibles, más rápidos y más eficientes en memoria — imprescindibles para fine-tuning serio. text-generation-webui es genial para «probar entrenamiento» e iterar sobre datasets pequeños.
¿Funciona en Apple Silicon?+
Sí. Elige el loader llama.cpp con Metal habilitado o el backend MPS de Transformers. No tan optimizado como MLX, pero funcional. Para chat puro en Apple Silicon, Ollama o las herramientas basadas en MLX son más rápidas.
¿Y la licencia AGPL?+
AGPL-3.0 significa: puedes usarlo libremente; si lo modificas y lo expones en red, el código modificado también debe ser AGPL. Para uso personal o herramientas internas, no hay problema. Para productos SaaS que embeben el código, consulta con legal. Alternativa: usa Gradio o construye tu propia UI sobre llama.cpp / vLLM (ambos MIT / Apache).