До основного вмісту

Text Generation WebUI: вебінтерфейс для LLM на сервері

AI-агенти на VDS · · 4 хв читання
Ілюстрація до статті «Text Generation WebUI: вебінтерфейс для LLM на сервері»

Що таке Text Generation WebUI

Text Generation WebUI — відкритий інтерфейс для роботи з мовними моделями через браузер: чат, режим блокнота для вільного тексту і панель параметрів генерації без командного рядка. Проєкт підтримує кілька backend-рушіїв: llama.cpp для CPU і легких GPU-серверів, Transformers та ExLlama для повноцінного GPU-інференсу.

Інструмент зручний, коли модель потрібно тестувати інтерактивно, порівнювати відповіді за різних налаштувань температури і підключати розширення — від голосового вводу до генерації зображень. Для чистого API без інтерфейсу краще підійде vLLM, а WebUI закриває сценарій ручної роботи людини з моделлю.

Вимоги до сервера

Мінімальна конфігурація залежить від обраного backend-рушія та розміру моделі.

СценарійCPURAMGPU
llama.cpp, модель 7B4 ядра16 ГБне обов'язковий
Transformers, модель 7B4 ядра16 ГБ8 ГБ VRAM
ExLlama, модель 13B6 ядер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.

Часті питання

Чи можна працювати з Text Generation WebUI взагалі без відеокарти, використовуючи лише процесор?

Так, backend llama.cpp від самого початку розрахований на роботу без GPU: модель у форматі GGUF завантажується просто на процесор, і для не надто важких моделей вистачає звичайного VDS з достатнім обсягом оперативної пам'яті. Швидкість генерації тексту при цьому помітно нижча, ніж на відеокарті, але для тестів і рідкісного використання варіант цілком робочий.

Чим цей інтерфейс відрізняється від окремого API-сервера для продакшен-навантаження?

WebUI створений для ручної роботи людини з моделлю: чат, блокнот, порівняння відповідей за різних налаштувань. Вбудований API-режим зручний для розробки і невеликих скриптів, але для стабільної роботи під реальним навантаженням надійніший окремий inference-сервер на кшталт llama.cpp напряму чи vLLM — вони не витрачають ресурси на відображення вебінтерфейсу і розраховані саме на обслуговування запитів.

Як зрозуміти заздалегідь, скільки відеопам'яті потрібно для конкретної моделі, перш ніж її завантажувати?

Обсяг відеопам'яті залежить від розміру моделі і обраного рівня квантування, а не лише від backend-рушія: чим сильніше стиснена модель, тим менше VRAM їй потрібно ціною певної втрати якості відповідей. Перед орендою сервера під конкретну модель варто прикинути потрібний обсяг пам'яті заздалегідь, а не з'ясовувати це методом спроб після встановлення WebUI.

Чи можна дати доступ до одного сервера Text Generation WebUI одразу кільком колегам?

Технічно так: інтерфейс працює як звичайний вебсервер, і посилання можна передати декільком людям для роботи з тими самими моделями на спільному VDS. Але вбудованого поділу на окремі облікові записи з особистою історією листування і ролями тут немає, тому для командної роботи з розмежуванням доступу зручніший інструмент із повноцінною багатокористувацькою системою.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці