Zum Inhalt springen

Ollama inkl. Modelle mit NVIDIA GPU-Unterstützung unter Docker offline ausführen + OpenWebUI

    Hier wurde Ollama mit NVIDIA-GPU-Unterstützung unter Docker auf einem Windows-11-System ausgeführt. Dabei kam OpenWebUI als benutzerfreundliche Oberfläche zum Einsatz, um lokal KI-Modelle zu betreiben. OpenWebUI bietet den Vorteil, dass Nutzer einfach zwischen verschiedenen Modellen wechseln, Anfragen verwalten und die Nutzung der KI komfortabel über eine grafische Oberfläche steuern können. Zudem ermöglicht es eine bessere Übersicht über laufende Instanzen und erleichtert das Testen unterschiedlicher Modelle ohne manuelle Konfigurationsänderungen.

    WSL 2 Installieren

    wsl --install
    WSL2 und GPU-Unterstützung aktivieren
    wsl --set-default-version 2
    Falls WSL bereits installiert ist, setze WSL2 als Standard:

    NVIDIA CUDA-Treiber installieren

    Damit Docker-Container auf die GPU zugreifen können, wird die NVIDIA Container Runtime benötigt. Dies ermöglicht eine schnellere und effizientere Berechnung von KI-Modellen, da rechenintensive Prozesse nicht von der CPU, sondern von der leistungsfähigeren GPU übernommen werden.
    https://developer.nvidia.com/cuda/wsl

    wsl
    nvidia-smi
    Nach der Installation WSL öffnen und prüfen, ob die GPU erkannt wird.

    Docker Desktop installieren und überprüfen, ob Docker WSL2 verwendet.

    Docker wird benötigt, um Ollama und OpenWebUI in Containern auszuführen. Dadurch wird eine isolierte Umgebung geschaffen, die unabhängig vom restlichen System funktioniert und sich einfach verwalten lässt.

    Ollama-Container downloaden und starten

    Der Ollama-Container wird heruntergeladen und gestartet, um eine Umgebung bereitzustellen, in der KI-Modelle effizient ausgeführt werden können (LLM-Laufzeitumgebung).

    # Aktuellste Ollama-Version herunterladen
    docker pull ollama/ollama:latest

    # Falls eine bestimmte Version nötig ist (z. B. v0.5.6):
    docker pull ollama/ollama:v0.5.6

    # Container starten
    docker run -d --name ollama --gpus all -p 11434:11434 -v ollama_data:/root/.ollama ollama/ollama:latest

    # Falls eine bestimmte Version nötig ist (z. B. v0.5.6):
    docker run -d --name ollama --gpus all -p 11434:11434 -v ollama_data:/root/.ollama ollama/ollama:v0.5.6
    Container erstellen & starten
    # Prüfen, ob der Container läuft
    docker ps

    # Prüfen, ob Ollama die GPU verwendet
    docker logs ollama | Select-String "GPU"
    Container prüfen

    LLM Modelle downloaden

    # Deepseek-R1 Modell herunterladen
    docker exec -it ollama ollama pull deepseek-r1

    # Teuken Modell herunterladen
    # fl0id/teuken-7b-instruct-commercial-v0.4

    # Liste der geladenen Modelle anzeigen
    docker exec -it ollama ollama list

    # Modell testen
    docker exec -it ollama ollama run deepseek-r1 "Wer war Albert Einstein?"
    Modell laden & testen
    docker exec -it ollama ollama pull llama3.2:latest
    docker exec -it ollama ollama run llama3.2 "Erkläre die Relativitätstheorie in einfachen Worten."
    Zusätzliches Modell installieren
    # Container stoppen & entfernen
    docker stop ollama
    docker rm ollama

    # Gespeicherte Modelle & Daten löschen
    docker volume rm ollama_data

    # Optional: ALLE nicht verwendeten Docker-Daten entfernen
    docker system prune -a
    Falls notwenig: Docker-Container & Modelle vollständig löschen

    OpenWebUI Installieren

    OpenWebUI wird gestartet, um eine visuelle Schnittstelle für die Steuerung der KI-Modelle bereitzustellen. Nutzer können hier verschiedene Modelle auswählen, Abfragen stellen und Ergebnisse verwalten.

    docker pull ghcr.io/open-webui/open-webui:main

    # Falls eine bestimmte Version nötig ist
    docker pull ghcr.io/open-webui/open-webui:v0.1.0
    OpenWebUI Docker-Image herunterladen
    docker run -d --name openwebui -p 8080:8080 -v openwebui_data:/app/data ghcr.io/open-webui/open-webui:main

    # Überprüfen, ob der Docker Container unter Port 8080 läuft
    docker logs openwebui | Select-String "Uvicorn running"
    OpenWebUI-Container unter Port 8080 starten
    http://localhost:8080/
    OpenWebUI starten