Lokale Chatbots und LLMs mit Ollama & Open WebUI: Die einfache Art, Compliance-sichere AI für Unternehmen aufzubauen

🕒 Lesedauer: 9 Minuten

Von Chatbots bis hin zu automatisierten Textgeneratoren – viele Unternehmen fragen sich, wie sie diese Technologie für sich nutzen können, ohne dabei auf die Cloud und Dritte angewiesen zu sein. Der wahre Mehrwert liegt nicht nur in der Technologie selbst, sondern in der Kontrolle über die Daten und die Modelle. Was wäre, wenn Sie Ihre eigene KI mit voller Kontrolle, lokal und sicher betreiben könnten?

Mit Ollama und Open WebUI wird dieser Traum Realität. In diesem Artikel zeigen wir Ihnen, wie Sie in kürzester Zeit ein leistungsfähiges, datenschutzkonformes LLM-System aufbauen – für Ihre eigenen, lokal gehosteten Chatbots oder KI-gestützte Anwendungen. Ohne Abhängigkeit von Cloud-Anbietern. Ohne komplizierte Setup-Routinen. Nur Sie, Ihr System und die Kontrolle über Ihre KI. Sind Sie bereit, den nächsten Schritt zu gehen?

 

Architektur & Komponenten (technischer Überblick)

Lassen Sie uns einen Blick auf die Architektur werfen. Diese besteht aus mehreren Komponenten, die zusammen eine flexible und skalierbare Lösung für den Betrieb von LLMs bieten. Im Wesentlichen setzen wir auf Docker-Container, die sowohl für das benutzerfreundliche Frontend als auch für die leistungsstarken Modelle im Hintergrund verantwortlich sind. Diese Kombination sorgt für eine saubere Trennung der Aufgaben und ermöglicht eine einfache Skalierbarkeit.

Im Folgenden gehen wir auf die wichtigsten Teile ein, nämlich Open WebUI als Frontend und Ollama als Modell-Runner, die zusammen eine effiziente und wartungsfreundliche Infrastruktur bilden.

Open WebUI: Das benutzerfreundliche Frontend

Open WebUI dient als benutzerfreundliche Oberfläche, über die Sie mit den Modellen interagieren können. Sie ermöglicht eine einfache und visuelle Verwaltung der LLMs, ohne dass eine komplexe Kommandozeilenoberfläche erforderlich ist. Über die WebUI können Sie die verfügbaren Modelle auswählen, Anfragen stellen und die Antworten direkt im Browser erhalten – eine einfache und effiziente Möglichkeit, die Funktionen Ihrer KI-Lösung zu nutzen.

Die Benutzeroberfläche zeigt Ihnen alle relevanten Modelle an und ermöglicht es, verschiedene Parameter anzupassen, um spezifische Ergebnisse zu erzielen. Darüber hinaus können Sie über die WebUI die Verwaltung der Backend-Daten vornehmen, beispielsweise durch das Speichern und Abrufen von Anfragen und Antworten. Dies macht das System besonders zugänglich für weniger technisch versierte Benutzer, die trotzdem mit fortschrittlichen LLMs arbeiten möchten.

Die WebUI wird über einen Docker-Container bereitgestellt, der das Frontend des Systems aufruft. Dies sorgt für eine klare Trennung zwischen der Benutzeroberfläche und den eigentlichen Modellprozessen, was die Wartung und Skalierbarkeit der Lösung vereinfacht.

Image
Mistral
Bild: Lokal gestartet [Quelle: Qytera]

Ollama: Der Modell-Runner im Hintergrund

Im Hintergrund sorgt Ollama dafür, dass die Modelle ausgeführt werden. Ollama ist eine leichtgewichtige Lösung, die speziell für den Betrieb von LLMs auf lokalen Maschinen entwickelt wurde. Im Vergleich zu anderen, komplexeren Lösungen bietet Ollama eine einfache CLI und eine effiziente Ressourcennutzung, sodass Sie auch größere Modelle problemlos auf Standard-Hardware ausführen können.

Ollama übernimmt die Aufgabe, Modelle wie LLaMA2 oder Mistral zu laden und sie auf Anfragen zu reagieren. Es bietet eine hohe Flexibilität, da Sie nicht auf vorgefertigte Modelle angewiesen sind, sondern auch eigene Modelle in das System integrieren können. Ollama läuft ebenfalls in einem Docker-Container, wodurch der gesamte Betrieb des Modells in einer isolierten Umgebung stattfindet. Dies stellt sicher, dass keine Konflikte zwischen verschiedenen Modellen oder Systemen auftreten und ermöglicht eine einfache Verwaltung und Wartung.

Die Interaktion zwischen Open WebUI und Ollama erfolgt über eine API, die es ermöglicht, Anfragen aus der WebUI an Ollama zu senden und die Ergebnisse zurückzugeben. So können Sie sicherstellen, dass sowohl die Benutzeroberfläche als auch die Modellverarbeitung stets nahtlos zusammenarbeiten.

Flexibilität durch benutzerdefinierte Modelle

Ein weiterer großer Vorteil dieser Architektur ist die Möglichkeit, eigene Modelle hinzuzufügen. Ollama erlaubt es Ihnen, maßgeschneiderte Modelle zu integrieren, die speziell auf Ihre Bedürfnisse zugeschnitten sind. Dies ist besonders in Unternehmensumgebungen von Bedeutung, in denen häufig angepasste Lösungen gefragt sind. Die Integration neuer Modelle ist denkbar einfach – Sie müssen lediglich die Modelle auf den vorgesehenen Speicherort kopieren, und Ollama übernimmt den Rest.

Docker Compose Setup

Das gesamte Setup wird mit Docker Compose verwaltet. Hier ist eine grundlegende compose.yml-Datei, die beide Container – Ollama und Open WebUI – definiert:

services: 
  ollama: 
    image: ollama/ollama 
    container_name: ollama 
    ports: 
      - 11434:11434 
    volumes: 
      - ollama:/root/.ollama 
    restart: unless-stopped 
  open-webui: 
    image: ghcr.io/open-webui/open-webui:main 
    container_name: open-webui 
    ports: 
      - 3000:8080 
    environment: 
      - WEBUI_AUTH=False 
    volumes: 
      - open-webui:/app/backend/data 
    depends_on: 
      - ollama 
    restart: unless-stopped 
volumes: 
  open-webui: 
  ollama: 

Mit diesem Setup können Sie die Container ganz einfach starten und stoppen:

Um das Setup zu starten, verwenden Sie den Befehl:

docker compose up -d

Dieser Befehl startet beide Container im Hintergrund, sodass Sie sofort auf das Open WebUI zugreifen können, indem Sie http://localhost:3000 in Ihrem Browser öffnen.

Um das Setup zu stoppen, verwenden Sie:

docker-compose down

Dieser Befehl stoppt alle Container und entfernt sie, sodass keine unnötigen Ressourcen verbraucht werden.

Mit diesem einfachen Setup können Sie sowohl das Frontend als auch die Modell-Ausführung effizient verwalten und bei Bedarf schnell skalieren. Die heruntergeladenen Modelle und gespeicherten Userdaten bleiben in den Docker Volumes auch nach einem Stop bestehen.

Das coolste: Der Code kann natürlich auch direkt ausgeführt werden 

Image
lokal gestartet
Bild: Lokal gestartet [Quelle: Qytera]

Modellvielfalt & Auswahl

Ein entscheidender Vorteil von Ollama ist die große Auswahl an verfügbaren Modellen, die Ihnen eine hohe Flexibilität und Anpassungsfähigkeit bei der Auswahl der besten Lösung für Ihre Bedürfnisse bieten. Hier werfen wir einen Blick auf die beliebtesten Modelle, die bei Ollama zur Verfügung stehen, und welche Unterschiede es zwischen ihnen gibt.

Welche Modelle gibt es bei Ollama?

Ollama unterstützt eine Vielzahl von leistungsstarken Large Language Models (LLMs), die je nach Anforderungen an Geschwindigkeit, Qualität und Größe eingesetzt werden können. Zu den bekanntesten Modellen gehören:

  • LLaMA2: Ein leistungsstarkes Modell, das für viele allgemeine Anwendungsfälle geeignet ist. LLaMA2 zeichnet sich durch ein ausgewogenes Verhältnis zwischen Qualität und Geschwindigkeit aus und eignet sich hervorragend für Textgenerierung, Übersetzungen und mehr.
  • Mistral: Ein noch leistungsfähigeres Modell, das bei sehr anspruchsvollen Aufgaben hervorragende Ergebnisse liefert. Mistral ist besonders für Anwendungen geeignet, die hohe Präzision und detaillierte Antwortgeneration erfordern.
  • Gemma: Ein Modell, das sich auf spezifische, häufig in Unternehmen verwendete Anwendungsfälle fokussiert. Es bietet eine besonders schnelle Antwortzeit bei gleichzeitig guter Qualität.
     

Desweiteren gibt es viele beispielsweise auf Programmieren optimierte Modelle wie codellama, codegemma, codestral, qwen2.5-coder oder deepseek-coder-v2. Alles in einer UI auswählbar.

Unterschiede: Speed vs. Quality vs. Size

Die Auswahl des richtigen Modells hängt vor allem von Ihren Anforderungen an Geschwindigkeit, Qualität und Größe ab. Jedes Modell hat seine eigenen Stärken und Schwächen:

  • Speed: Modelle wie Gemma sind auf Geschwindigkeit optimiert und liefern schnelle Antworten, jedoch auf Kosten der maximalen Qualität. Diese Modelle sind ideal für Anwendungsfälle, bei denen Reaktionszeiten eine hohe Priorität haben.
  • Quality: Mistral bietet in der Regel die höchste Qualität, erfordert jedoch mehr Rechenressourcen und ist langsamer als Modelle, die auf Geschwindigkeit optimiert sind. Ideal für präzise, hochqualitative Antworten.
  • Size: Größere Modelle bieten eine höhere Leistungsfähigkeit und Genauigkeit, benötigen jedoch auch mehr Speicher und Rechenleistung. Wenn Sie über die entsprechenden Ressourcen verfügen, können diese Modelle die besten Ergebnisse liefern, insbesondere bei komplexen Aufgaben.

Lizenzen: Open vs. kommerziell eingeschränkt nutzbar

Ein wichtiger Aspekt bei der Auswahl eines Modells ist die Lizenz. Einige Modelle stehen unter Open-Source-Lizenzen zur Verfügung, was bedeutet, dass Sie diese ohne Einschränkungen herunterladen und verwenden können. Andere Modelle sind kommerziell eingeschränkt nutzbar und benötigen eine Lizenzierung, wenn sie für kommerzielle Zwecke eingesetzt werden sollen. Dies sollte vor der Auswahl eines Modells berücksichtigt werden, insbesondere wenn Ihre Anwendung in einem kommerziellen Umfeld eingesetzt wird.

Empfohlene Modelle für erste Tests

Für den Einstieg empfehlen wir, mit einem ausgewogenen Modell zu beginnen, das eine gute Mischung aus Geschwindigkeit und Qualität bietet. LLaMA2 und mistral:instruct sind hervorragende Modelle für erste Tests, da sie eine breite Palette von Anwendungsfällen abdecken und schnelle Ergebnisse liefern, ohne auf Qualität zu verzichten. Wenn Sie jedoch sehr schnelle Antworten benötigen und die Qualität weniger im Vordergrund steht, könnte Gemma die bessere Wahl sein. Für anspruchsvollere Anwendungsfälle, bei denen hohe Qualität gefragt ist, bietet sich Mistral an.

Neue Modelle einfach über das Frontend herunterladen

Ein weiterer Vorteil von Ollama ist, wie einfach es ist, neue Modelle herunterzuladen und in Ihr Setup zu integrieren. Über das Open WebUI können Sie direkt neue Modelle aus der Ollama-Quelle herunterladen und installieren. Die Benutzeroberfläche ermöglicht es Ihnen, das gewünschte Modell auszuwählen und mit nur wenigen Klicks hinzuzufügen. So können Sie schnell auf neue Modelle zugreifen, die regelmäßig aktualisiert werden, und Ihr System nach Bedarf anpassen.

 

Hardware-Anforderungen & GPU-Nutzung

Der Betrieb von LLMs auf lokalen Maschinen ist eine großartige Möglichkeit, die Kontrolle über Ihre KI-Systeme zu behalten. Jedoch erfordert der Betrieb dieser Modelle bestimmte Hardware-Ressourcen, um eine optimale Leistung zu gewährleisten. Die genaue Hardware-Anforderung hängt stark von der Modellgröße und dem Einsatzszenario ab.

RAM-Bedarf je nach Modellgröße

Die Größe des verwendeten Modells hat einen direkten Einfluss auf den RAM-Bedarf. Hier ist ein Überblick über die typischen Anforderungen für einige gängige Modellgrößen:

  • 7B Modelle: Modelle mit 7 Milliarden Parametern (z.B. kleinere Varianten von LLaMA oder Mistral) benötigen typischerweise zwischen 8 GB und 16 GB RAM. Diese Modelle bieten eine gute Balance zwischen Leistung und Hardwareanforderungen und sind daher für die meisten Desktop-Systeme geeignet.
  • 13B Modelle: Mit 13 Milliarden Parametern steigt der RAM-Bedarf erheblich auf etwa 16 GB bis 32 GB RAM. Diese Modelle bieten eine höhere Genauigkeit und besseres Verständnis, aber die Anforderungen an den Speicher sind bereits spürbar höher.
  • 70B Modelle: Sehr große Modelle wie Mistral mit 70 Milliarden Parametern benötigen 32 GB bis 64 GB RAM oder mehr, je nach Komplexität der Anfragen. Solche Modelle sind besonders anspruchsvoll und eignen sich besser für Server- oder Workstation-Umgebungen.

Die Wahl des Modells sollte also in erster Linie davon abhängen, wie viel Arbeitsspeicher Ihr System zur Verfügung stellen kann und welche Leistung Sie benötigen.

 

GPU: Nice-to-Have oder Must-Have?

Die Frage, ob eine GPU erforderlich ist, hängt stark von der Modellgröße und dem angestrebten Anwendungsfall ab.

  • Für kleinere Modelle (bis 13B) ist eine GPU meist nicht zwingend notwendig, insbesondere wenn es sich um einfachere Anwendungen handelt, bei denen Geschwindigkeit weniger kritisch ist. In diesen Fällen reicht der Arbeitsspeicher in der Regel aus, und die Modelle können auch auf einem leistungsfähigen Desktop ohne GPU betrieben werden. Die Verarbeitung kann jedoch langsamer sein.
  • Für größere Modelle (ab 70B) wird eine GPU (idealerweise mit mehr als 12 GB VRAM) nahezu unumgänglich. Solche Modelle sind aufgrund ihrer Größe extrem ressourcenintensiv und profitieren erheblich von der Parallelverarbeitung einer GPU. Der Einsatz einer GPU verbessert die Verarbeitungszeit und stellt sicher, dass komplexe Anfragen effizient bearbeitet werden können.

Fazit: Eine GPU ist also nice-to-have für kleinere Modelle, aber für größere Modelle und eine hohe Verarbeitungsgeschwindigkeit wird sie zu einem Must-Have.

Tipps für Desktop vs. Serverbetrieb

  • Desktopbetrieb: Wenn Sie LLMs auf einem Desktop-PC betreiben, achten Sie darauf, dass der Desktop über ausreichend RAM (mindestens 16 GB) und, wenn möglich, eine leistungsfähige GPU (z.B. NVIDIA RTX 3060 oder besser) verfügt. Ein gutes Beispiel für Desktop-PCs ist der Betrieb von Modellen bis zu 13B. Bei größeren Modellen kann die Verarbeitungsgeschwindigkeit ohne GPU deutlich leiden.
  • Serverbetrieb: Für den Betrieb von sehr großen Modellen (ab 70B) oder für den Einsatz in einer Produktionsumgebung ist ein Server die bessere Wahl. Hier sollten Sie auf eine starke GPU (z.B. NVIDIA A100 oder V100) und mindestens 64 GB RAM setzen, um eine flüssige und skalierbare Leistung zu gewährleisten. Server bieten außerdem den Vorteil, dass sie bei Bedarf einfach aufgerüstet werden können, um mit den wachsenden Anforderungen Schritt zu halten.
     

Für Unternehmen, die auf LLMs angewiesen sind, kann es sinnvoll sein, auf dedizierte GPU-Server oder Cloud-GPUs zurückzugreifen, um sicherzustellen, dass die Leistung in jeder Situation konstant bleibt.

 

 

Fazit und Ausblick

Erste Schritte in die „eigene AI“ in unter 10 Minuten

Mit Ollama und Open WebUI können Sie in weniger als 10 Minuten Ihre eigene KI-Umgebung aufbauen – ganz ohne Cloud, ohne komplexe Setups und ohne große Investitionen in Hardware. Einfach Docker starten, Modelle herunterladen und loslegen!

Grenzen lokaler LLMs (vs. GPT-4)

Obwohl lokale LLMs wie LLaMA oder Mistral beeindruckende Leistungen bieten, haben sie in bestimmten Bereichen noch ihre Grenzen im Vergleich zu GPT-4. Besonders bei der Komplexität und Vielfalt von Aufgaben könnten Cloud-basierte Modelle wie GPT-4 überlegen sein, da sie auf massive Datenmengen zugreifen und kontinuierlich aktualisiert werden. Mit Open WebUI lässt sich sogar beides kombinieren.

Mögliche Erweiterungen

Der Weg ist jedoch nicht zu Ende: Mit Tools wie Langchain für komplexere Workflows oder RAG (Retrieval-Augmented Generation) können Sie die Fähigkeiten Ihrer LLMs erweitern. Auch die Integration von Vektordatenbanken ermöglicht eine bessere Handhabung und Suche von Inhalten, was vor allem in spezialisierten Unternehmensanwendungen nützlich ist.

Die Möglichkeiten, Ihre lokale KI-Lösung zu erweitern und anzupassen, sind nahezu unbegrenzt – und die nächste Stufe Ihrer AI-Reise liegt in Ihren Händen!

Veröffentlicht am 23.April 2025

Aktualisiert am 23.April 2025

Matthias Eggert

DevOps Engineer

Matthias Eggert ist ein erfahrener DevOps-Engineer mit starkem Fokus auf Testautomatisierung und Qualitätssicherung. Nach vielen Jahren in der Automobilbranche, wo er sicherheitskritische Systeme wie Bremssysteme und Batteriemanagementlösungen betreute, brachte er sein Wissen auch bei Qytera ein. Sein Schwerpunkt lag dort auf modernen Testing-Strategien, CI/CD-Pipelines und Cloud-Technologien. Als Jenkins- und AWS-zertifizierter Experte kombinierte er bei Qytera sein tiefes Verständnis für DevOps mit innovativen Testansätzen, um robuste und effiziente Softwarelösungen zu gewährleisten.

Finden Sie weitere interessante Artikel zum Thema: