Zum Hauptinhalt springen
Warnung

Dieses Tutorial ist ein Community-Beitrag und wird nicht vom Open WebUI-Team unterstützt. Es dient lediglich als Demonstration, wie Open WebUI für Ihren spezifischen Anwendungsfall angepasst werden kann. Möchten Sie beitragen? Schauen Sie sich das Tutorial zum Beitragen an.

Open WebUI im Offline-Modus ausführen 🔌

Wenn Sie Open WebUI im Offline-Modus ausführen möchten, müssen Sie Ihren Installationsansatz berücksichtigen und Ihre gewünschten Funktionen entsprechend anpassen. In dieser Anleitung werden wir die verschiedenen Möglichkeiten durchgehen, um eine weitgehend ähnliche Einrichtung wie die Online-Version zu erreichen.

Was bedeutet Offline-Modus?

Der Offline-Modus von Open WebUI ermöglicht es Ihnen, die Anwendung ohne aktive Internetverbindung auszuführen. Dies ermöglicht es Ihnen, eine 'Air-Gapped'-Umgebung für Ihre LLMs und Tools zu erstellen (eine vollständig 'Air-Gapped'-Umgebung erfordert die Isolierung der Instanz vom Internet).

Info

Deaktivierte Funktionalität bei aktiviertem Offline-Modus

  • Automatische Überprüfung auf Versionsaktualisierungen
  • Downloads von Embedding-Modellen vom Hugging Face Hub
    • Wenn Sie vor der Aktivierung von OFFLINE_MODE kein Embedding-Modell heruntergeladen haben, funktionieren RAG-, Websuche- und Dokumentenanalysefunktionen möglicherweise nicht richtig.
  • Update-Benachrichtigungen in der Benutzeroberfläche

Weiterhin funktionsfähig

  • Externe LLM-API-Verbindungen (OpenAI, etc.)
  • OAuth-Authentifizierungsanbieter
  • Websuche und RAG mit externen APIs

Wie aktiviere ich den Offline-Modus?

Der Offline-Modus muss über die Umgebungsvariable OFFLINE_MODE aktiviert werden. Wenden Sie die Umgebungsvariable je nach Ihrer Methode zur Bereitstellung von Open WebUI an.

Tipp

Überlegen Sie, ob Sie die Anwendung von Anfang an offline starten müssen. Wenn Ihr Anwendungsfall keine sofortige Offline-Fähigkeit erfordert, folgen Sie Ansatz II für eine einfachere Einrichtung.

Ansatz I

I: Speech-To-Text

Die lokale whisper-Installation enthält das Modell standardmäßig nicht. In dieser Hinsicht können Sie die Anleitung nur teilweise befolgen, wenn Sie ein externes Modell/einen externen Anbieter verwenden möchten. Um die lokale whisper-Anwendung zu nutzen, müssen Sie zuerst das Modell Ihrer Wahl herunterladen (z. B. Huggingface - Systran).

from faster_whisper import WhisperModel

faster_whisper_kwargs = {
"model_size_or_path": "Systran/faster-whisper-large-v3",
"device": "cuda", # set this to download the cuda adjusted model
"compute_type": "int8",
"download_root": "/path/of/your/choice"
}

WhisperModel(**faster_whisper_kwargs)

Der Inhalt des Download-Verzeichnisses muss in /app/backend/data/cache/whisper/models/ innerhalb Ihrer Open WebUI-Bereitstellung kopiert werden. Es ist sinnvoll, Ihr whisper-Modell direkt über die Umgebungsvariable zu deklarieren, wie folgt: WHISPER_MODEL=Systran/faster-whisper-large-v3.

I: Text-To-Speech

Der lokale Standard-Transformer kann die Text-to-Speech-Funktion bereits verarbeiten. Wenn Sie einen anderen Ansatz bevorzugen, folgen Sie einer der Anleitungen.

I: Embedding-Modell

Für verschiedene Zwecke benötigen Sie ein Embedding-Modell (z. B. RAG). Sie müssen zuerst ein solches Modell Ihrer Wahl herunterladen (z. B. Huggingface - sentence-transformers).

from huggingface_hub import snapshot_download

snapshot_download(repo_id="sentence-transformers/all-MiniLM-L6-v2", cache_dir="/path/of/your/choice")

Der Inhalt des Download-Verzeichnisses muss in /app/backend/data/cache/embedding/models/ innerhalb Ihrer Open WebUI-Bereitstellung kopiert werden. Es ist sinnvoll, Ihr Embedding-Modell direkt über die Umgebungsvariable zu deklarieren, wie folgt: RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2.

Ansatz II

Open WebUI während der Einrichtung mit Internetverbindung ausführen

Dies ist der einfachste Ansatz, um die Offline-Einrichtung mit fast allen Funktionen der Online-Version zu erreichen. Wenden Sie nur die Funktionen an, die Sie für Ihre Bereitstellung verwenden möchten.

II: Speech-To-Text

Folgen Sie der Anleitung.

II: Text-To-Speech

Folgen Sie einer der Anleitungen.

II: Embedding-Modell

Navigieren Sie in Ihrer Open WebUI-Installation zu Admin Settings > Settings > Documents und wählen Sie das gewünschte Embedding-Modell aus (z. B. sentence-transformer/all-MiniLM-L6-v2). Klicken Sie nach der Auswahl auf die Schaltfläche "Herunterladen" daneben.


Nachdem Sie alle gewünschten Funktionen installiert haben, setzen Sie die Umgebungsvariable OFFLINE_MODE=True, abhängig von Ihrer Art der Open WebUI-Bereitstellung.

Hinweis

Wie bereits erwähnt, müssen Sie Ihre Instanz vom Internet trennen, um ein vollständig offline-Erlebnis mit Open WebUI zu erreichen. Der Offline-Modus verhindert nur Fehler innerhalb von Open WebUI, wenn keine Internetverbindung besteht.

Wie Sie Ihre Instanz trennen, bleibt Ihnen überlassen. Hier ist ein Beispiel über docker-compose

services:
# requires a reverse-proxy
open-webui:
image: ghcr.io/open-webui/open-webui:main
restart: unless-stopped
environment:
- OFFLINE_MODE=True
- RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
- WHISPER_MODEL=Systran/faster-whisper-large-v3
volume:
- ./open-webui-data:/app/backend/data
- ./models/sentence-transformers/all-MiniLM-L6-v2:/app/backend/data/cache/embedding/models/
- ./models/Systran/faster-whisper-large-v3:/app/backend/data/cache/whisper/models/
networks:
- open-webui-internal

networks:
open-webui-internal:
name: open-webui-internal-network
driver: bridge
internal: true