Kurz gesagt. Text Generation WebUI ist eine browserbasierte Open-Source-Oberfläche, mit der du große Sprachmodelle auf eigener Hardware ausführst. Auf einem GPU VPS erhältst du eine private Chatoberfläche und eine API mit dedizierter NVIDIA-GPU. Du klonst das Repository, führst das Startskript aus, lädst ein Modell und öffnest die Oberfläche über einen SSH-Tunnel. Das eignet sich für Entwickler und kleine Teams, die LLMs selbst hosten möchten.
Ein lokales Sprachmodell ist in wenigen Minuten gestartet. Die dauerhafte Bedienung über ein Terminal wird jedoch schnell umständlich, weil jede Änderung an einem Prompt-Template oder einer Einstellung neue Flags und einen Neustart des Prozesses erfordert. Text Generation WebUI setzt eine Browseroberfläche vor das Modell, sodass du es in einem Tab lädst und konfigurierst.
Diese Anleitung zeigt, welche Funktionen das Tool bietet, wie du es auf einem GPU VPS einrichtest und für welche Nutzer sich dieses Setup eignet. Zuerst ein Hinweis zum Namen: Das vom Entwickler oobabooga erstellte Projekt heißt inzwischen TextGen, und die alte GitHub-Adresse leitet zum Repository oobabooga/textgen weiter. Ältere Tutorials verwenden den früheren Namen und andere Befehle. Prüfe daher die README-Datei des Repositorys, falls ein Schritt hier von deiner Bildschirmanzeige abweicht.
Was bietet Text Generation WebUI?
Text Generation WebUI ist eine auf Gradio basierende Weboberfläche, mit der du große Sprachmodelle (LLMs) lokal ausführst. Chat, freie Textgenerierung und eine OpenAI-kompatible API sind in einer Anwendung vereint. Das Tool arbeitet ohne Telemetrie oder externe Aufrufe, sodass deine Prompts und Dokumente auf dem Server bleiben, auf dem du es bereitstellst.
Die Oberfläche ist in Tabs gegliedert. Der Tab „Chat“ dient für Unterhaltungen und unterstützt eigene Charaktere sowie Instruction-Templates. Im Tab „Notebook“ kann das Modell beliebige Texte ohne Chatwechsel fortsetzen, was beim Entwerfen von Texten und Testen von Prompts hilft. Sampling-Parameter und Generierungsoptionen befinden sich direkt in der Oberfläche, sodass du das Verhalten des Modells ohne Änderungen an einer Konfigurationsdatei anpasst. Du kannst außerdem Textdateien, PDFs und Word-Dokumente anhängen und das Modell zu deren Inhalten befragen.
Der Unterschied zu einem reinen API-Server liegt darin, dass Oberfläche und API dasselbe geladene Modell verwenden. Ein einfacher Inferenzserver beantwortet Anfragen und bietet keine weiteren Funktionen. Hier testest du einen Prompt im Browser und verbindest anschließend deine eigene Anwendung mit derselben Instanz, sobald die Ausgabe passt. Die API stellt OpenAI-kompatible Endpunkte für Chat und Completions einschließlich Tool Calling bereit. Client-Code für die OpenAI API benötigt daher meist nur eine andere Basis-URL.
Der dritte Unterschied ist die Erweiterbarkeit. Erweiterungen ergänzen Funktionen wie Text-to-Speech, Spracheingabe und Übersetzung, während die Community zahlreiche weitere Optionen pflegt. Das Tool lädt Modelle außerdem über mehrere Backends, darunter llama.cpp, Transformers und ExLlamaV3. Diese Auswahl spielt auf einem GPU Server eine wichtige Rolle, weil Modellformat und Quantisierung bestimmen, wie viel VRAM ein Modell benötigt und wie schnell es antwortet.
Wie richtest du Text Generation WebUI auf einem GPU VPS ein?
Du richtest Text Generation WebUI auf einem GPU VPS in fünf Schritten ein: Prüfe die GPU, klone das Repository und führe das Startskript aus, lade ein Modell, öffne die Oberfläche über einen SSH-Tunnel und aktiviere bei Bedarf die API. Ein Contabo GPU VPS wird mit Ubuntu 24.04 sowie vorinstalliertem CUDA und nvidia-container-toolkit ausgeliefert. Die bei GPU-Servern übliche vorherige Installation der Treiber und von CUDA entfällt dadurch.
- Verbinde dich per SSH mit deinem GPU VPS und prüfe, ob die GPU erkannt wird. Der Befehl
nvidia-smisollte die NVIDIA-Karte und ihren VRAM auflisten. - Klone das Repository und führe das Startskript aus. Wenn das Skript nach dem verwendeten GPU-Anbieter fragt, wähle NVIDIA. Es erstellt im Ordner
installer_fileseine eigenständige Conda-Umgebung und verändert dein systemweites Python nicht. Die vollständige Installation benötigt etwa 10 GB Speicherplatz. - Lade ein Modell. Lade im Tab „Model“ ein Modell von Hugging Face herunter, wähle es aus, lege einen Loader fest und lade das Modell. Bei GGUF-Modellen auf NVIDIA-Hardware verschiebt der Loader die Layer automatisch auf die GPU.
- Öffne die Oberfläche über einen SSH-Tunnel. Die Weboberfläche lauscht auf Port 7860 und ist standardmäßig an den lokalen Rechner gebunden. Leite diesen Port daher an deinen eigenen Computer weiter und rufe die Oberfläche dort im Browser auf.
- Aktiviere bei Bedarf die API. Füge
--apizuuser_data/CMD_FLAGS.txthinzu und starte den Server neu. Die API lauscht standardmäßig auf Port 5000 und damit getrennt von der Weboberfläche auf Port 7860. Sie benötigt deshalb einen eigenen Zugriffsweg. Leite Port 5000 durch denselben SSH-Tunnel weiter und sende dann OpenAI-kompatible Anfragen von deinem Computer anhttp://127.0.0.1:5000/v1.
Wenn du ausschließlich GGUF-Modelle ausführen möchtest, kannst du alternativ einen portablen Build verwenden. Du lädst ein Release herunter, entpackst es und führst es ohne zu verwaltende Conda-Umgebung aus. Aktuelle portable Builds öffnen ein natives Desktopfenster. Auf einem Server ohne grafische Oberfläche übergibst du deshalb --listen oder --nowebui, um den Server direkt zu starten. Andere Modellformate und Erweiterungen benötigen die hier gezeigte vollständige Installation.
Auf dem Server sehen die Schritte 1 und 2 so aus:
nvidia-smi
git clone https://github.com/oobabooga/textgen
cd textgen
./start_linux.shAuf deinem eigenen Computer sehen die Schritte 4 und 5 wie folgt aus. Ersetze user und YOUR_SERVER_IP durch deine Anmeldedaten und die Serveradresse:
ssh -L 7860:127.0.0.1:7860 -L 5000:127.0.0.1:5000 user@YOUR_SERVER_IPRufe bei geöffnetem Tunnel http://127.0.0.1:7860 in deinem lokalen Browser auf. Die Oberfläche lädt so, als würde sie auf deinem Computer laufen, während das Modell auf dem GPU VPS ausgeführt wird.
Server dauerhaft ausführen und aktuell halten
Der Server wird beendet, sobald deine SSH-Sitzung endet, sofern du ihn nicht davon trennst. Starte ihn in tmux oder screen. Wenn er Neustarts überstehen soll, kannst du das Startskript auch in einen systemd-Dienst einbinden. Um die Installation später zu aktualisieren, führst du update_wizard_linux.sh im selben Ordner aus.
Warum ein Tunnel statt eines offenen Ports?
Wenn du den Server mit --listen startest, ist er über das Netzwerk erreichbar. Aus diesem Grund beschränken aktuelle Releases den Cross-Origin-Zugriff (CORS) standardmäßig auf localhost. Ein Tunnel hält die Oberfläche vollständig vom öffentlichen Internet fern. Das ist die sicherere Standardeinstellung für ein Tool, das du nicht ohne Zugriffskontrolle veröffentlichen möchtest. Benötigt ein Team direkten Zugriff, öffne Port 7860 und bei aktivierter API zusätzlich Port 5000 über die Contabo Firewall im Customer Control Panel. Erlaube den Zugriff ausschließlich von deinen eigenen Quell-IP-Adressen. Lege für die API außerdem mit --api-key einen Schlüssel fest. Falls du einen Reverse Proxy davorschaltest, füge beide Ports zu dessen Konfiguration hinzu.
Wie viel VRAM brauchst du?
Der verfügbare VRAM bestimmt nicht nur die Geschwindigkeit, sondern auch, welche Modelle du laden kannst. Auf einer Karte mit 96 GB belegen die Gewichte eines Modells mit 70 Milliarden Parametern bei FP8-Präzision ungefähr 70 GB. Dadurch bleibt noch Speicher für den Kontext. Eine Quantisierung auf 4 Bit verkleinert die Gewichte weiter, während ein Modell mit 7 Milliarden Parametern nur einen kleinen Teil davon benötigt. Auch die Kontextlänge verbraucht VRAM, weil der Cache mit jedem Token im Gespräch wächst. Schlägt das Laden wegen unzureichenden Speichers fehl, reduziere zuerst die Kontextgröße, bevor du zu einem kleineren Modell wechselst. Beginne mit einem quantisierten GGUF-Modell, beobachte die Speichernutzung mit nvidia-smi und teste anschließend größere Modelle. Die 900 GB große NVMe-SSD eines GPU VPS bietet Platz für eine umfangreiche Modellsammlung, da bereits eine einzelne große Modelldatei mehrere Dutzend Gigabyte belegen kann.
Für wen eignet sich dieses Setup?
Dieses Setup eignet sich für Entwickler und kleine Teams, die ein privates browserbasiertes LLM konfigurieren, testen und aus eigenem Code aufrufen möchten, ohne Prompts an die API eines Drittanbieters zu senden. Vier Anwendungsfälle stechen hervor.
Der erste ist die Bewertung von Prompts und Modellen. Über die Oberfläche vergleichst du Modelle, Loader und Sampling-Einstellungen schnell nebeneinander auf derselben Hardware. Die passende Konfiguration übernimmst du anschließend über die API in eine Anwendung.
Der zweite ist die Entwicklung mit sensiblen Daten. Wenn Dokumente, Quellcode oder Kundentexte deine eigene Infrastruktur nicht verlassen dürfen, beseitigt eine selbst gehostete Instanz ohne Telemetrie eine Risikokategorie.
Der dritte ist ein interner Assistent für eine kleine Gruppe. Einige Kollegen können sich eine Instanz hinter einem Tunnel oder einer Firewall-Regel teilen. Das Erweiterungssystem ergänzt bei Bedarf Spracheingabe und Übersetzung.
Der vierte ist ein Backend für deine eigene Anwendung. Über die OpenAI-kompatible API kommuniziert ein vorhandener Client mit einem von dir gehosteten Modell. Das eignet sich für die Entwicklung und den Produktiveinsatz mit geringem Anfragevolumen.
Der Contabo GPU VPS kombiniert eine dedizierte NVIDIA RTX PRO 6000 mit 96 GB GDDR7-VRAM, 18 vCPUs, 96 GB RAM und 900 GB NVMe-Speicher. Die GPU steht deinem Server vollständig zur Verfügung und ist kein geteilter oder anteiliger GPU-Bereich. Da der Preis feststeht, kostet ein Monat mit Experimenten genauso viel wie ein Monat ohne Auslastung.
Dieser Festpreis ist zugleich der größte Nachteil. Wenn du ein kleines Modell nur wenige Stunden pro Woche ausführst, kann die stundenbasierte Abrechnung eines Pay-as-you-go-Anbieters günstiger sein. Ein GPU VPS lohnt sich bei regelmäßiger Servernutzung. Er ist außerdem für eine einzelne GPU ausgelegt und eignet sich deshalb weder für Multi-GPU-Training noch für die gleichzeitige Bedienung vieler Nutzer im Produktivbetrieb.
FAQ: Text Generation WebUI
Ist Text Generation WebUI für Einsteiger geeignet?
Text Generation WebUI eignet sich für Einsteiger, die sicher mit einem Terminal umgehen können. Das Startskript erstellt die Python-Umgebung für dich, während die Oberfläche statt Konfigurationsdateien Tabs und Schaltflächen verwendet. Die meiste Zeit verbringen neue Nutzer damit, ein zum verfügbaren VRAM passendes Modell und einen Loader auszuwählen. Portable Builds verkürzen die Einrichtung für GGUF-Modelle weiter, da du sie nur herunterladen, entpacken und ausführen musst.
Benötigt Text Generation WebUI eine GPU?
Text Generation WebUI benötigt keine GPU. GGUF-Modelle laufen über llama.cpp, das auch mit einer CPU arbeiten kann. Eine GPU beschleunigt die Antworten deutlich und erlaubt größere Modelle, weil die Gewichte im VRAM statt im Arbeitsspeicher liegen. Auf einem Contabo GPU VPS übernimmt die dedizierte NVIDIA-Karte diese Beschleunigung.
Können mehrere Personen eine Instanz von Text Generation WebUI verwenden?
Mehrere Personen können eine Instanz von Text Generation WebUI mit gewissen Einschränkungen verwenden. Sie teilen sich ein geladenes Modell und eine GPU. Die API verarbeitet parallele Anfragen mit ExLlamaV3 direkt und mit llama.cpp über das Flag `–parallel N`. Das Flag `–multi-user` verhindert, dass Chatverläufe sitzungsübergreifend gespeichert werden. Schütze die Instanz mit SSH-Tunneln, einem VPN oder einer Firewall-Regel.
Welche Modellformate unterstützt Text Generation WebUI?
Text Generation WebUI unterstützt über separate Backends mehrere Modellformate. GGUF-Modelle werden über llama.cpp geladen, und portable Builds decken dieses Format ab. Transformers-Modelle mit voller Präzision und EXL3-Quantisierungen über ExLlamaV3 benötigen die vollständige Installation. Wähle das Format anhand deines verfügbaren VRAM, da Format und Quantisierung den Speicherbedarf eines Modells bestimmen.
Wie schützt du Text Generation WebUI auf einem GPU VPS vor öffentlichem Zugriff?
Lass Text Generation WebUI an den lokalen Rechner gebunden und greife über einen SSH-Tunnel auf Port 7860 darauf zu. Bei aktivierter API leitest du zusätzlich Port 5000 weiter. Vermeide das Flag `–listen`, sofern du keinen Netzwerkzugriff benötigst. Wenn du es aktivierst, öffne Port 7860 mit der Contabo Firewall im Customer Control Panel und erlaube ausschließlich deine eigenen Quell-IP-Adressen.

