Sie fragen - wir antworten!

Apps & Leitfäden

Open WebUI: Alles in einem

Open WebUI wurde ursprünglich für Ollama entwickelt, über das wir in einem unserer Artikel berichtet haben. Zuvor hieß es Ollama WebUI, aber mit der Zeit verlagerte sich der Schwerpunkt auf die Universalität der Anwendung, und der Name wurde in Open WebUI geändert. Diese Software löst das Hauptproblem der bequemen Arbeit mit großen neuronalen Netzmodellen, die lokal oder auf benutzergesteuerten Servern platziert sind.

Installation

Die wichtigste und am meisten bevorzugte Installationsmethode ist die Bereitstellung eines Docker-Containers. Dadurch müssen Sie sich keine Gedanken über das Vorhandensein von Abhängigkeiten oder anderen Komponenten machen, die den korrekten Betrieb der Software gewährleisten. Sie können Open WebUI jedoch auch installieren, indem Sie das Projekt-Repository von GitHub klonen und es aus dem Quellcode erstellen. In diesem Artikel werden wir beide Optionen betrachten.

Bevor Sie beginnen, stellen Sie sicher, dass die GPU-Treiber auf dem Server installiert sind. Unsere Anleitung Nvidia-Treiber unter Linux installieren wird Ihnen dabei helfen.

Docker verwenden

Wenn Sie gerade einen Server bestellt haben, fehlen die Docker-Engine selbst und die notwendigen Tools, um GPUs an den Container zu übergeben. Wir raten davon ab, Docker aus dem Standard-Ubuntu-Repository zu installieren, da es möglicherweise veraltet ist und nicht alle modernen Optionen unterstützt. Es wäre besser, das Installationsskript zu verwenden, das auf der offiziellen Website bereitgestellt wird:

curl -sSL https://get.docker.com/ | sh

Zusätzlich zu Docker müssen Sie das NVIDIA® Container Toolkit installieren, also aktivieren Sie das Nvidia-Repository:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Aktualisieren Sie Ihren Paket-Cache und installieren Sie NVIDIA® Container Toolkit:

sudo apt update && sudo apt -y install nvidia-container-toolkit

Damit die Toolchain funktioniert, müssen Sie den Docker-Daemon neu starten:

sudo systemctl restart docker

Nun können Sie den gewünschten Container starten. Beachten Sie, dass der folgende Befehl die Container nicht vom Host-Netzwerk isoliert, da Sie später zusätzliche Optionen aktivieren können, z. B. die Erstellung von Images über die Stable Diffusion WebUI. Mit diesem Befehl werden automatisch alle Schichten des Images heruntergeladen und ausgeführt:

sudo docker run -d --network=host --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

Git verwenden

Ubuntu 22.04

Zuerst müssen Sie den Inhalt des Repositorys klonen:

git clone https://github.com/open-webui/open-webui.git

Öffnen Sie das heruntergeladene Verzeichnis:

cd open-webui/

Kopieren Sie die Beispielkonfiguration (Sie können sie bei Bedarf ändern), die die Umgebungsvariablen für den Build setzt:

cp -RPp .env.example .env

Installieren Sie das NVM-Installationsprogramm, mit dem Sie die erforderliche Version von Node.js auf dem Server installieren können:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Danach müssen Sie die SSH-Sitzung schließen und erneut öffnen, damit der nächste Befehl korrekt funktioniert.

Installieren Sie den Node Package Manager:

sudo apt -y install npm

Installieren Sie Node.js Version 22 (zum Zeitpunkt der Erstellung dieses Artikels aktuell):

npm install 22

Installieren Sie die für die weitere Montage erforderlichen Abhängigkeiten:

npm install

Starten wir den Build. Bitte beachten Sie, dass mehr als 4 GB freier Arbeitsspeicher erforderlich sind:

npm run build

Das Frontend ist fertig; jetzt ist es an der Zeit, das Backend vorzubereiten. Wechseln Sie in das Verzeichnis mit dem gleichen Namen:

cd ./backend

Installieren Sie die Pakete pip und ffmpeg:

sudo apt -y install python3-pip ffmpeg

Vor der Installation müssen Sie der Umgebungsvariablen einen neuen Pfad hinzufügen:

sudo nano ~/.bashrc

Fügen Sie die folgende Zeile am Ende der Datei ein:

export PATH="/home/usergpu/.local/bin:$PATH"

Aktualisieren wir sie auf die neueste Version:

python3 -m pip install --upgrade pip

Jetzt können Sie die Abhängigkeiten installieren:

pip install -r requirements.txt -U

Installieren Sie Ollama:

curl -fsSL https://ollama.com/install.sh | sh

Alles ist bereit, um die Anwendung zu starten:

bash start.sh

Ubuntu 24.04 / 24.10

Bei der Installation von OpenWebUI auf Ubuntu 24.04/24.10 stehen Sie vor einer wichtigen Herausforderung: Das Betriebssystem verwendet standardmäßig Python 3.12, während OpenWebUI nur Version 3.11 unterstützt. Sie können Python nicht einfach downgraden, das würde das Betriebssystem zerstören. Da das Paket python3.11 nicht in den Standard-Repositories verfügbar ist, müssen Sie eine virtuelle Umgebung erstellen, um die richtige Python-Version zu verwenden.

Die beste Lösung ist die Verwendung des Paketverwaltungssystems Conda. Conda funktioniert wie pip, unterstützt aber zusätzlich virtuelle Umgebungen, ähnlich wie venv. Da Sie nur grundlegende Funktionen benötigen, werden Sie Miniconda verwenden, eine leichtgewichtige Distribution. Laden Sie die neueste Version von GitHub herunter:

curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"

Führen Sie das Skript aus:

bash Miniforge3-$(uname)-$(uname -m).sh
Erstellen wir eine virtuelle Umgebung namens pyenv und geben wir die Python-Version 3.11 an:
conda create -n pyenv python=3.11

Aktivieren Sie die erstellte Umgebung:

conda activate pyenv

Nun können Sie mit den Standard-Installationsschritten für OpenWebUI unter Ubuntu 22.04 fortfahren. Die virtuelle Umgebung stellt sicher, dass alle Installationsskripte reibungslos und ohne Paketversionskonflikte ausgeführt werden.

Modelle

Ollama-Bibliothek

Mit Open WebUI können Sie Modelle direkt von der Weboberfläche hochladen, wobei Sie nur den Namen im Format model:size angeben müssen. Navigieren Sie dazu zu http://192.168.88.20:8080/admin/settings und klicken Sie auf Connections. Klicken Sie dann auf das Schraubenschlüssel-Symbol gegenüber der Zeichenfolge http://localhost:11434. Nachdem Sie sich die Namen der Modelle in der Bibliothek angesehen haben, geben Sie den Namen ein und klicken auf das Symbol zum Hochladen:

Open WebUI manage models

Daraufhin lädt das System das gewünschte Modell automatisch herunter, und es steht sofort zur Verfügung. Je nach ausgewählter Größe kann der Download unterschiedlich lange dauern. Vergewissern Sie sich vor dem Herunterladen, dass genügend Speicherplatz auf der Festplatte vorhanden ist. Weitere Informationen finden Sie im Artikel Festplattenpartitionierung in Linux.

Benutzerdefinierte Modelle

Wenn Sie ein neuronales Netzwerkmodell integrieren möchten, das nicht in der Ollama-Bibliothek enthalten ist, können Sie die experimentelle Funktion verwenden und ein beliebiges Modell im GGUF-Format laden. Gehen Sie dazu auf Settings - Admin Settings - Connections und klicken Sie auf das Schraubenschlüssel-Symbol gegenüber von http://localhost:11434. Klicken Sie auf Show im Bereich Experimental. Standardmäßig ist der Dateimodus aktiviert, der es Ihnen erlaubt, eine Datei von Ihrem lokalen Computer zu laden. Wenn Sie auf File Mode klicken, wechselt der Modus zu URL Mode, wo Sie die URL der Modelldatei angeben können, die dann automatisch vom Server heruntergeladen wird:

Open WebUI upload gguf model

RAG

Zusätzlich zu einer bequemen und funktionalen Webschnittstelle hilft Open WebUI, die Möglichkeiten verschiedener Modelle zu erweitern und ihre gemeinsame Nutzung zu gewährleisten. Zum Beispiel ist es einfach, Dokumente hochzuladen, um eine RAG (Retrieval-augmented generation) Vektordatenbank zu bilden. Bei der Generierung einer Antwort an den Benutzer kann sich LLM nicht nur auf Daten stützen, die direkt aus dem Training stammen, sondern auch auf Daten, die in einer ähnlichen Vektordatenbank gespeichert sind.

Dokumente

Standardmäßig durchsucht Open WebUI das Verzeichnis /data/docs nach Dateien, die im Vektorraum der Datenbank platziert werden können, und führt die Transformation mit dem eingebauten Modell all-MiniLM-L6-v2 durch. Dies ist nicht das einzige Modell, das für diese Aufgabe geeignet ist, daher ist es sinnvoll, andere Optionen auszuprobieren, zum Beispiel aus dieser Liste.

Textdokumente, die von Tags und anderen Sonderzeichen befreit sind, sind am besten für RAG geeignet. Natürlich können Sie Dokumente auch unverändert hochladen, doch kann dies die Genauigkeit der generierten Antworten stark beeinträchtigen. Wenn Sie z. B. eine Wissensdatenbank im Markdown-Format haben, können Sie diese zunächst von Formatierungen befreien und erst dann in /data/docs hochladen.

Web-Suche

Zusätzlich zu lokalen Dokumenten kann das neuronale Netzmodell angewiesen werden, beliebige Websites als Datenquelle zu verwenden. Auf diese Weise kann es Fragen nicht nur anhand der Daten beantworten, auf denen es trainiert wurde, sondern auch anhand von Daten, die sich auf vom Benutzer angegebenen Websites befinden.

Es handelt sich dabei um eine Art RAG, das HTML-Seiten als Input erhält und diese dann auf besondere Weise umwandelt, indem es sie in eine Vektordatenbank aufnimmt. Die Suche in einer solchen Datenbank ist sehr schnell, so dass das neuronale Netzmodell in der Lage ist, auf der Grundlage seiner Ergebnisse schnell eine Antwort zu generieren. Open WebUI unterstützt verschiedene Suchmaschinen, kann aber jeweils nur mit einer arbeiten, die in den Einstellungen festgelegt ist.

Um Websuchergebnisse in die Antworten des neuronalen Netzes einzubeziehen, klicken Sie auf + (Plussymbol) und schieben Sie den Schalter Websuche:

Open WebUI enable Web Search

Bilderzeugung

Das Besondere an Open WebUI ist, dass diese Software es Ihnen ermöglicht, mehrere neuronale Netze mit unterschiedlichen Aufgaben zu kombinieren, um ein einziges Problem zu lösen. Zum Beispiel führt Llama 3.1 perfekt einen Dialog mit dem Benutzer in mehreren Sprachen, aber seine Antworten sind ausschließlich Text. Es kann keine Bilder erzeugen, so dass es keine Möglichkeit gibt, seine Antworten zu illustrieren.

Stable Diffusion, über das wir schon oft geschrieben haben, ist das Gegenteil: Dieses neuronale Netz erzeugt perfekt Bilder, kann aber überhaupt nicht mit Texten arbeiten. Die Entwickler von Open WebUI haben versucht, die Stärken beider neuronaler Netze in einem Dialog zu vereinen und haben das folgende Arbeitsschema implementiert.

Wenn Sie einen Dialog in Open WebUI führen, erscheint neben jeder Antwort des neuronalen Netzes eine spezielle Schaltfläche. Wenn Sie darauf klicken, erhalten Sie eine Illustration dieser Antwort direkt im Chat:

Open WebUI images in dialogue

Dies wird durch den Aufruf der Stable Diffusion WebUI API erreicht, und derzeit ist eine Verbindung mit Versionen von Automatic1111 und eine Verbindung zu ComfyUI verfügbar. Sie können auch Bilder über das neuronale Netzwerk Dall-E generieren, aber es kann nicht lokal eingesetzt werden - dies ist ein kostenpflichtiger Bilderzeugungsdienst mit geschlossenem Quellcode.

Diese Funktion funktioniert nur, wenn zusätzlich zu Open WebUI mit Ollama auch Stable Diffusion WebUI auf dem Server installiert ist. Die Installationsanweisungen finden Sie hier. Erwähnenswert ist lediglich, dass Sie beim Ausführen des Skripts ./webui.sh einen zusätzlichen Schlüssel angeben müssen, um die API zu aktivieren:

./webui.sh --listen --api --gradio-auth user:password

Ein weiterer Fallstrick kann durch einen Mangel an Videospeicher entstehen. In diesem Fall können Sie zwei nützliche Schlüssel verwenden: --medvram und --lowvram. Dadurch wird der Fehler "Out-of-memory" beim Starten der Generierung vermieden.

Siehe auch:



Aktualisiert: 12.08.2025

Veröffentlicht: 20.01.2025