Что такое Text Generation WebUI
Text Generation WebUI — открытый интерфейс для работы с языковыми моделями через браузер: чат, режим блокнота для свободного текста и панель параметров генерации без командной строки. Проект поддерживает несколько backend-движков: llama.cpp для CPU и лёгких GPU-серверов, Transformers и ExLlama для полноценного GPU-инференса.
Инструмент удобен, когда модель нужно тестировать интерактивно, сравнивать ответы при разных настройках температуры и подключать расширения — от голосового ввода до генерации изображений. Для чистого API без интерфейса лучше подойдёт vLLM, а WebUI закрывает сценарий ручной работы человека с моделью.
Требования к серверу
Минимальная конфигурация зависит от выбранного backend'а и размера модели.
| Сценарий | CPU | RAM | GPU |
|---|---|---|---|
| llama.cpp, модель 7B | 4 ядра | 16 ГБ | не обязателен |
| Transformers, модель 7B | 4 ядра | 16 ГБ | 8 ГБ VRAM |
| ExLlama, модель 13B | 6 ядер | 24 ГБ | 16 ГБ VRAM |
Точный объём видеопамяти под конкретную модель проще прикинуть заранее — см. статью сколько VRAM нужно модели.
Установка на VDS
Проект распространяется как обычный Python-репозиторий со скриптом установки зависимостей.
sudo apt update
sudo apt install -y git python3.11-venv
git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui
python3.11 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Установка зависимостей занимает несколько минут: скрипт ставит PyTorch, поддержку выбранных backend'ов и веб-сервер на Gradio.
Первый запуск и загрузка модели
После установки запустите сервер и укажите порт, доступный извне, чтобы открыть интерфейс с рабочего компьютера.
python server.py --listen --listen-port 7860 --api
Модель загружается через вкладку Model: файлы GGUF кладутся в каталог models/, после чего модель появляется в выпадающем списке. Флаг --api дополнительно открывает OpenAI-совместимый эндпоинт, поэтому WebUI можно использовать и как сервер для сторонних приложений, не только как чат в браузере.
Полезные расширения и режимы работы
WebUI закрывает не только диалоговый режим — расширения покрывают большинство рабочих сценариев:
- Режим Notebook — свободный текст без ролей ассистента и пользователя, удобен для дописывания и экспериментов с промптом.
- Расширение superbooga добавляет простой поиск по документам прямо в диалоге.
- Character-карточки задают личность и стиль ответа модели через отдельный JSON-профиль.
- Встроенный API-режим позволяет подключать WebUI к сторонним скриптам так же, как OpenAI API — впрочем, для продакшен-нагрузки надёжнее отдельный inference-сервер вроде llama.cpp напрямую.
Что делать при типичных проблемах
Большинство сбоев решаются проверкой версии зависимостей или параметров запуска:
- Интерфейс не открывается снаружи — проверьте флаг
--listenи правило файрвола для порта 7860. - Модель не грузится и падает с ошибкой памяти — уменьшите уровень контекста в настройках модели или возьмите более лёгкое квантование.
- Backend ExLlama не находит библиотеку CUDA — переустановите PyTorch версии, указанной в файле requirements для GPU.
- Ответы обрываются на середине фразы — увеличьте параметр max_new_tokens на вкладке генерации.
После настройки WebUI превращается в удобный рабочий стенд: можно быстро переключать модели, сравнивать квантования и делиться доступом с коллегами через один и тот же VDS.