Open WebUI: Die Kraft von Sprachmodellen entfesseln
Open WebUI, früher bekannt als Ollama WebUI, ist eine leistungsstarke Open-Source-Plattform, die es Benutzern ermöglicht, über eine benutzerfreundliche Web-Schnittstelle mit großen Sprachmodellen (LLMs) zu interagieren und deren Fähigkeiten zu nutzen. Open WebUI basiert auf der Hugging Face Transformers-Bibliothek und bietet eine nahtlose Möglichkeit, modernste Sprachmodelle für verschiedene Aufgaben der natürlichen Sprachverarbeitung (NLP) zu erkunden und zu nutzen.
In diesem Artikel werden wir uns eingehend mit Open WebUI beschäftigen und seine Funktionen, den Installationsprozess und die effektive Verwendung mit Beispielcode-Snippets untersuchen. Wir werden auch den Prozess der Erstellung einer ChatGPT-ähnlichen Benutzeroberfläche für Ihre KI-Projekte abdecken, wie im YouTube-Video "Erstellen einer ChatGPT-ähnlichen Benutzeroberfläche für alle Ihre KI-Projekte" von Alejandro AO gezeigt.
Dann dürfen Sie Anakin AI nicht verpassen!
Anakin AI ist eine All-in-One-Plattform für die Workflow-Automatisierung. Erstellen Sie leistungsstarke KI-Apps mit einem benutzerfreundlichen No-Code-App-Builder, mit Llama 3, Claude, GPT-4, Unzensierte LLMs, Stable Diffusion...
Erstellen Sie Ihre Traum-KI-App in Minuten, nicht Wochen, mit Anakin AI!
Funktionen von Open WebUI
Open WebUI bietet eine Vielzahl von Funktionen, die es für Entwickler und Forscher, die mit Sprachmodellen arbeiten, attraktiv machen:
Intuitive Web-Benutzeroberfläche: Open WebUI bietet eine saubere und intuitive Web-Benutzeroberfläche, die Benutzern ermöglicht, mit Sprachmodellen zu interagieren, ohne komplexe Einrichtung oder Programmierung zu benötigen.
Unterstützung für mehrere Modelle: Open WebUI unterstützt eine Vielzahl von Sprachmodellen, darunter GPT-2, GPT-Neo und BERT. Diese Flexibilität ermöglicht es den Benutzern, das am besten geeignete Modell für ihren spezifischen Anwendungsfall auszuwählen.
Echtzeit-Inferenz: Mit Open WebUI können Benutzer Echtzeit-Inferenz auf Eingabetext durchführen und Ausgaben basierend auf dem ausgewählten Sprachmodell und den Parametern generieren.
Anpassbare Parameter: Open WebUI ermöglicht es Benutzern, verschiedene Parameter wie Temperatur, top-k und top-p anzupassen, um die generierten Ausgaben gemäß ihren Präferenzen feinabzustimmen.
API-Integration: Open WebUI bietet einen API-Endpunkt, der problemlos in vorhandene Anwendungen oder Workflows integriert werden kann und programmbasierten Zugriff auf die Sprachmodelle ermöglicht.
Lokale und Remote-RAG-Integration: Open WebUI unterstützt Retrieval Augmented Generation (RAG), mit der Benutzer lokale und webbasierte Inhalte nahtlos in ihre Chats integrieren können, indem sie einen Prompt mit # starten. Diese Funktion befindet sich noch in der Alpha-Phase und kann gelegentlich auf Probleme stoßen.
Unterstützung für Prompt-Presets: Benutzer können sofort auf vordefinierte Prompts über den Befehl /command in der Chat-Eingabe zugreifen, um vorgegebene Gesprächsstarter zu laden und die Interaktion zu beschleunigen. Prompts können auch über die Open WebUI Community-Integration importiert werden.
RLHF Annotation: Open WebUI ermöglicht es Benutzern, Nachrichten mit Daumen hoch und Daumen runter zu bewerten und so die Erstellung von Datensätzen für das "Reinforcement Learning from Human Feedback" (RLHF) zu erleichtern. Diese Nachrichten können verwendet werden, um Modelle zu trainieren oder feinzutunen, während die Vertraulichkeit der lokal gespeicherten Daten gewährleistet bleibt.
Modelfile Builder: Open WebUI enthält einen Modelfile Builder, mit dem Benutzer Ollama-Modelfiles über die Web-Benutzeroberfläche einfach erstellen können. Benutzer können Charaktere/Agenten erstellen und hinzufügen, Chat-Elemente anpassen und Modelfiles mühelos über die Open-WebUI-Community-Integration importieren.
Integration der Bildgenerierung: Open WebUI integriert nahtlos die Bildgenerierungsfunktionen unter Verwendung der AUTOMATIC1111-API (lokal) und DALL-E, um das Chat-Erlebnis mit dynamischen visuellen Inhalten zu bereichern.
So installieren Sie Open WebUI
Um mit Open WebUI zu beginnen, befolgen Sie diese schrittweisen Anleitungen:
Repository klonen:
git clone https://github.com/open-webui/open-webui.git
cd open-webui
Abhängigkeiten installieren:
pip install -r requirements.txt
Anwendung ausführen:
python app.py
Zugriff auf die Web-Benutzeroberfläche:
Öffnen Sie Ihren Webbrowser und navigieren Sie zu http://localhost:5000
, um auf die Open-WebUI-Benutzeroberfläche zuzugreifen.
So verwenden Sie Open WebUI
Nachdem Sie Open WebUI installiert und aktiviert haben, können Sie beginnen, dessen Funktionen zu erkunden. Hier ist eine schrittweise Anleitung, wie Sie Open WebUI verwenden können:
- Sprachmodell auswählen: Wählen Sie aus dem Dropdown-Menü auf der Open WebUI-Benutzeroberfläche das gewünschte Sprachmodell aus, mit dem Sie arbeiten möchten.
- Text eingeben: Geben Sie den Eingabetext oder -prompt in das bereitgestellte Textfeld ein. Dieser Text dient als Ausgangspunkt für das Sprachmodell, um eine Antwort zu generieren.
- Parameter anpassen (optional): Wenn gewünscht, können Sie die Generierungsparameter wie Temperatur, Top-k und Top-p anpassen, um die Zufälligkeit und Vielfalt der generierten Ausgaben zu steuern.
- Ausgabe generieren: Klicken Sie auf die Schaltfläche "Generieren", um den Inferenzprozess zu starten. Open WebUI sendet den Eingabetext an das ausgewählte Sprachmodell und zeigt die generierte Ausgabe in der Benutzeroberfläche an.
- Iteration und Verfeinerung: Sie können den Eingabetext weiter bearbeiten, Parameter anpassen und neue Ausgaben generieren, bis Sie die gewünschten Ergebnisse erzielen.
So erstellen Sie eine ChatGPT-ähnliche Benutzeroberfläche für Ihre KI-Projekte mit Open WebUI
In dem YouTube-Video "Erstellen einer ChatGPT-ähnlichen Benutzeroberfläche für alle Ihre KI-Projekte" von Alejandro AO wird eine schrittweise Anleitung gegeben, wie Sie eine benutzerfreundliche Chat-Benutzeroberfläche ähnlich wie ChatGPT für Ihre KI-Projekte erstellen können. Hier ist eine Zusammenfassung der wichtigsten Schritte:
- Projekt einrichten: Erstellen Sie ein neues Projektverzeichnis und initialisieren Sie eine neue React-Anwendung mithilfe des Befehls
create-react-app
. - Abhängigkeiten installieren: Installieren Sie die erforderlichen Abhängigkeiten wie
react-chat-ui
undaxios
, um die Chat-Benutzeroberfläche und die API-Kommunikation zu erleichtern. - Chat-Komponente erstellen: Erstellen Sie eine neue Komponente namens
Chat
, die als Haupt-Chat-Benutzeroberfläche dient. Importieren Sie die erforderlichen Komponenten ausreact-chat-ui
und richten Sie den anfänglichen Zustand für Nachrichten und Benutzereingabe ein. - Chat-Funktionalität implementieren: Definieren Sie Funktionen, um die Benutzereingabe zu verarbeiten, Nachrichten an die Backend-API zu senden und Antworten zu empfangen. Aktualisieren Sie entsprechend den Zustand, um die Nachrichten in der Chat-Benutzeroberfläche anzuzeigen.
- Integration mit der Backend-API: Verwenden Sie
axios
, um API-Aufrufe an den Backend-Server zu machen, indem Sie Benutzer-Nachrichten senden und generierte Antworten vom Sprachmodell empfangen. - Gestalten Sie die Chat-Benutzeroberfläche: Wenden Sie CSS-Stile an, um das Erscheinungsbild der Chat-Benutzeroberfläche anzupassen und sie optisch ansprechend und benutzerfreundlich zu gestalten.
- Testen und verfeinern: Führen Sie die Anwendung aus und testen Sie die Chat-Funktionalität. Iterieren und verfeinern Sie den Code bei Bedarf, um ein reibungsloses und responsives Benutzererlebnis sicherzustellen.
Indem Sie diesen Schritten folgen, können Sie eine ChatGPT-ähnliche Benutzeroberfläche für Ihre KI-Projekte erstellen und Benutzern eine intuitive und ansprechende Möglichkeit bieten, mit Sprachmodellen zu interagieren.
Erweiterte Tipps für die Verwendung von Open WebUI
Open WebUI ist eine leistungsstarke Plattform, die eine Vielzahl von Funktionen und Anpassungsoptionen bietet. In diesem Artikel werden einige erweiterte Tipps und Techniken untersucht, mit denen Sie das Beste aus Open WebUI herausholen können. Es werden Themen wie Lastverteilung, OpenAI API-Endpunkte, Bildgenerierung und Retrieval Augmented Generation (RAG) behandelt.
Ollama Lastverteilung mit Open WebUI
Lastverteilung ermöglicht es Ihnen, die Verarbeitungslast auf mehrere Ollama-Instanzen zu verteilen, um die Leistung und Zuverlässigkeit zu verbessern. Hier erfahren Sie, wie Sie Open WebUI so konfigurieren können, dass es über Umgebungsvariablen mit mehreren Ollama-Instanzen verbunden wird:
Mit Docker Run
Verwenden Sie den folgenden Befehl, um Open WebUI mit Docker auszuführen und mit mehreren Ollama-Instanzen zu verbinden:
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-e OLLAMA_BASE_URLS="http://ollama-one:11434;http://ollama-two:11434" \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Die Umgebungsvariable OLLAMA_BASE_URLS
gibt die Basis-URLs für jede Ollama-Instanz an, durch Semikolon getrennt (;
). Stellen Sie sicher, dass beide Ollama-Instanzen dieselbe Version verwenden und für jedes gemeinsam genutzte Modell übereinstimmende Tags haben.
Mit Docker Compose
Wenn Sie docker-compose
bevorzugen, können Sie die Umgebungsvariable OLLAMA_BASE_URLS
in Ihrer docker-compose.yaml
-Datei definieren:
services:
open-webui:
environment:
- OLLAMA_BASE_URLS=http://ollama-one:11434;http://ollama-two:11434
Alternativ können Sie den Wert der OLLAMA_BASE_URLS
-Variable in einer .env
-Datei definieren, die sich im selben Verzeichnis wie Ihre docker-compose.yaml
-Datei befindet:
OLLAMA_BASE_URLS="http://ollama-one:11434;http://ollama-two:11434"
Sicherstellung der Modellkonsistenz
Um Probleme zu vermeiden, stellen Sie sicher, dass beide Ollama-Instanzen identische Versionen und Tags für jedes gemeinsam genutzte Modell verwenden. Sie können die Schaltfläche "Alle Modelle aktualisieren" im Einstellungen> Modelle-Bildschirm verwenden, um die Modelle über Instanzen hinweg synchronisiert zu halten.
OpenAI API-Endpunkte mit Open WebUI
Open WebUI ermöglicht es Ihnen, mehrere OpenAI (oder kompatible) API-Endpunkte mit Hilfe von Umgebungsvariablen zu konfigurieren. Dadurch können Sie zwischen verschiedenen API-Anbietern wechseln oder mehrere Anbieter gleichzeitig nutzen.
Mit Docker Run
Verwenden Sie den folgenden Befehl, um Open WebUI mit Docker auszuführen und mehrere OpenAI API-Endpunkte zu konfigurieren:
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-e OPENAI_API_BASE_URLS="https://api.openai.com/v1;https://api.mistral.ai/v1" \
-e OPENAI_API_KEYS="<OPENAI_API_KEY_1>;<OPENAI_API_KEY_2>" \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Ersetzen Sie <OPENAI_API_KEY_1>
und <OPENAI_API_KEY_2>
durch Ihre tatsächlichen API-Schlüssel.
Mit Docker Compose
In Ihrer docker-compose.yaml
-Datei definieren Sie die Umgebungsvariablen OPENAI_API_BASE_URLS
und OPENAI_API_KEYS
:
services:
open-webui:
environment:
- 'OPENAI_API_BASE_URLS=${OPENAI_API_BASE_URLS}'
- 'OPENAI_API_KEYS=${OPENAI_API_KEYS}'
Sie können die Werte dieser Variablen in einer .env
-Datei definieren:
OPENAI_API_BASE_URLS="https://api.openai.com/v1;https://api.mistral.ai/v1"
OPENAI_API_KEYS="<OPENAI_API_KEY_1>;<OPENAI_API_KEY_2>"
Bildgenerierung mit Open WebUI
Open WebUI unterstützt die Bildgenerierung über zwei Backends: AUTOMATIC1111 und OpenAI DALL·E.
Verwendung von AUTOMATIC1111 Stable Diffusion mit Open WebUI
Um AUTOMATIC1111 für die Bildgenerierung zu verwenden, befolgen Sie diese Schritte:
Installieren Sie AUTOMATIC1111 und starten Sie es mit folgendem Befehl:
./webui.sh --api --listen
Für die Docker-Installation verwenden Sie den folgenden Befehl:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e AUTOMATIC1111_BASE_URL=http://host.docker.internal:7860/ -e IMAGE_GENERATION_ENABLED=True -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Gehen Sie in Open WebUI zu Einstellungen> Bilder und geben Sie die Adresse ein, unter der die AUTOMATIC1111-API erreichbar ist, in das Feld "API-URL".
Verwendung von ComfyUI mit Open WebUI
ComfyUI ist eine alternative Oberfläche zur Verwaltung und Interaktion mit Bildgenerierungsmodellen. Um ComfyUI einzurichten:
Laden Sie das ComfyUI-Softwarepaket von GitHub herunter und extrahieren Sie es.
Starten Sie ComfyUI mit folgendem Befehl:
python main.py
Für Systeme mit niedrigem VRAM verwenden Sie die Option --lowvram
:
python main.py --lowvram
Für die Docker-Installation verwenden Sie den folgenden Befehl:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -e COMFYUI_BASE_URL=http://host.docker.internal:7860/ -e IMAGE_GENERATION_ENABLED=True -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Gehen Sie in Open WebUI zu Einstellungen> Bilder und geben Sie die Adresse ein, unter der die ComfyUI-API erreichbar ist, in das Feld "API-URL".
Verwendung von OpenAI DALL·E mit Open WebUI
Um OpenAI DALL·E für die Bildgenerierung in Open WebUI zu verwenden, befolgen Sie diese Schritte:
Holen Sie sich einen API-Schlüssel von OpenAI:
- Gehen Sie zur OpenAI-Website (https://www.openai.com/) und registrieren Sie sich für ein Konto.
- Navigieren Sie zum API-Bereich und generieren Sie einen API-Schlüssel.
Konfigurieren Sie Open WebUI für die Verwendung von OpenAI DALL·E:
- Gehen Sie in Open WebUI zum Abschnitt Einstellungen> Bilder.
- Wählen Sie "OpenAI" als Backend für die Bildgenerierung aus.
- Geben Sie Ihren OpenAI API-Schlüssel in das dafür vorgesehene Feld ein.
Wählen Sie das DALL·E-Modell aus:
- Gehen Sie in den Einstellungen> Bilder-Bereich zu dem gewünschten DALL·E-Modell.
- DALL·E 2 unterstützt Bildgrößen von 256x256, 512x512 oder 1024x1024.
- DALL·E 3 unterstützt Bildgrößen von 1024x1024, 1792x1024 oder 1024x1792.
Generieren Sie Bilder mit DALL·E:
- Verwenden Sie ein Textgenerierungsmodell, um einen Prompt für die Bildgenerierung zu schreiben.
- Klicken Sie nach Abschluss der Antwort auf das Bild-Symbol, um basierend auf dem Prompt ein Bild zu generieren.
Beispielcode zur Generierung eines Bildes mit der OpenAI-API:
import openai
openai.api_key = "IHR_API_SCHLÜSSEL"
response = openai.Image.create(
prompt="Ein wunderschöner Sonnenuntergang über einem ruhigen Strand",
n=1,
size="1024x1024"
)
image_url = response['data'][0]['url']
print(image_url)
Retrieval Augmented Generation (RAG) mit Open WebUI
Retrieval Augmented Generation (RAG) ermöglicht es Ihnen, Kontext aus verschiedenen Quellen in Ihren Chats zu berücksichtigen. Text aus verschiedenen Quellen wird mit der RAG-Vorlage kombiniert und dem Benutzerprompt vorangestellt.
Externe Quellen in Chats einbinden
Aktivieren Sie RAG, indem Sie den Prompt mit einem #
-Symbol starten.
- Eine Liste der verfügbaren Quellen wird angezeigt.
Wählen Sie die gewünschte Quelle aus der Liste.
- Nach der Auswahl wird oben im Prompt ein Dokumentsymbol angezeigt, das einen erfolgreichen Abruf anzeigt.
Lokale Quellen
Um lokale Dokumente als Quellen für RAG zu verwenden:
Laden Sie die gewünschten Dokumente über den Bereich Dokumente in Open WebUI hoch.
- Gehen Sie zum Bereich Dokumente und klicken Sie auf die Schaltfläche "Hochladen".
- Wählen Sie die lokalen Dateien aus, die Sie als Quellen nutzen möchten.
Aktivieren Sie RAG und wählen Sie die hochgeladenen lokalen Dokumente als Quellen aus.
Quellen aus dem Web beziehen
Um Webseiten als Quellen für RAG zu verwenden:
Starten Sie den Prompt mit #
, gefolgt von der Ziel-URL.
- Open WebUI ruft den Inhalt der angegebenen URL ab und analysiert ihn.
Tipp: Verlinken Sie für bessere Ergebnisse mit einer Roh- oder lesefreundlichen Version der Seite, um überflüssige Informationen zu vermeiden.
Beispielcode zum Abrufen und Analysieren einer Webseite:
import requests
from bs4 import BeautifulSoup
url = "https://example.com/article"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
content = soup.find("div", class_="article-content").get_text()
print(content)
Dokument-Analyse
Open WebUI verwendet verschiedene Parser, um Inhalte aus lokalen und entfernten Dokumenten zu extrahieren. Der Analyseprozess erfolgt intern im System.
Anpassung der RAG-Vorlage
Um die RAG-Vorlage anzupassen:
- Gehen Sie in Open WebUI zum Bereich Dokumente.
- Klicken Sie auf das Symbol "Einstellungen".
- Passen Sie die RAG-Vorlage nach Ihren Anforderungen an.
Indem Sie diese erweiterten Funktionen und Techniken nutzen, können Sie Ihre Erfahrungen mit Open WebUI verbessern und sein volles Potenzial für Ihre KI-Projekte ausschöpfen. Experimentieren Sie mit verschiedenen Quellen, Vorlagen und Optionen für die Bildgenerierung, um leistungsstarke und fesselnde KI-Anwendungen zu erstellen.
Fazit
Open WebUI bietet eine leistungsstarke und benutzerfreundliche Plattform für die Interaktion mit großen Sprachmodellen. Mit seiner intuitiven Web-Benutzeroberfläche, der Unterstützung für mehrere Modelle und anpassbaren Parametern ermöglicht Open WebUI Entwicklern und Forschern eine mühelose Exploration und Nutzung von LLMs.
Dann dürfen Sie Anakin AI nicht verpassen!
Anakin AI ist eine All-in-One-Plattform für die Workflow-Automatisierung. Erstellen Sie leistungsstarke KI-Apps mit einem benutzerfreundlichen No-Code-App-Builder, mit Llama 3, Claude, GPT-4, Unzensierte LLMs, Stable Diffusion...
Erstellen Sie Ihre Traum-KI-App in Minuten, nicht Wochen, mit Anakin AI!
Indem Sie den Installationsschritten folgen, eine ChatGPT-ähnliche Benutzeroberfläche erstellen und den bereitgestellten Code verwenden, können Sie schnell mit Open WebUI beginnen und hochwertige Textausgaben für verschiedene NLP-Aufgaben generieren. Egal, ob Sie an der Textgenerierung, Fragebeantwortung oder einer anderen sprachbezogenen Anwendung arbeiten, Open WebUI bietet eine flexible und zugängliche Lösung.
Wenn Sie sich tiefer in Open WebUI einarbeiten, zögern Sie nicht, die Dokumentation und die Community-Ressourcen für weitere Anleitungen und fortgeschrittene Anwendungsfälle zu erkunden. Mit Open WebUI stehen Ihnen unzählige Möglichkeiten offen, die Kraft von Sprachmodellen zu nutzen.