Künstliche Intelligenz und Large Language Models (LLMs) revolutionieren den Umgang mit Daten. Doch viele Unternehmen stehen vor der Herausforderung, eine kosteneffiziente und flexible Infrastruktur für den Einsatz von LLMs bereitzustellen. Hier kommt der portable Ollama Server ins Spiel – betrieben in Docker. Wir zeigen, wie du ihn direkt nutzen kannst.
Vorteile des Ollama Servers
- Geringere Kosten: Im Vergleich zur Nutzung von cloudbasierten Diensten wie ChatGPT entfallen bei einem lokalen Server die kontinuierlichen API-Kosten.
- Größere Modellauswahl: Der Ollama Server unterstützt verschiedene LLMs und ermöglicht die Nutzung von Modellen, die optimal auf individuelle Bedürfnisse zugeschnitten sind.
- Datensouveränität: Die Daten bleiben lokal, was gerade bei sensiblen Unternehmensdaten ein entscheidender Vorteil ist.
- Portabilität: Durch die Containerisierung in Docker lässt sich der Ollama Server leicht portieren und sowohl lokal, als auch in vielen Cloud-Umgebungen ausführen.
Einrichtung der Docker-basierten Infrastruktur
Die Installation des Ollama Servers in einer Docker-Umgebung bietet eine flexible und portable Lösung, die einfach in bestehende Systeme integriert werden kann.
Wir zeigen dir die passende Config, damit du den Server sofort nutzen kannst.
Docker-Compose Config
version: '3.8'
services:
ollama:
build:
context: .
dockerfile: Dockerfile
container_name: ollama
ports:
- "11434:11434"
restart: always
Dockerfile für den Ollama Server
FROM ollama/ollama:latest COPY run.sh /run.sh RUN chmod +x /run.sh ENTRYPOINT ["/run.sh"]
Start-Skript
#!/bin/bash echo "Starting Ollama server..." ollama serve & SERVE_PID=$! echo "Waiting for Ollama server to be active..." while ! ollama list | grep -q 'NAME'; do sleep 1 done ollama pull llama3.2 wait $SERVE_PID
Diese Konfiguration sorgt dafür, dass der Ollama Server gestartet wird und automatisch das gewünschte Modell (z. B. llama3.2) herunterlädt.
Nutzung eines LLMs
Um mit dem LLM zu interagieren, kannst du dich per CMD im Container mit dem LLM verbinden, sobald der Container gestartet wurde. Die Nutzung eines LLMs geht mittels:
docker exec -it <CONTAINER_ID> ollama run llama3.2
Alternativ können HTTP-Anfragen über den Port 11434 an den Ollama-Server gestellt werden. Die API-Doc hierfür ist im Ollama GitHub Project zu finden.
Potential für mehr Performance
Der vorgestellte Docker-Container nutzt die CPU für die Verarbeitung von LLM-Operationen. Um die Verarbeitungsgeschwindigkeit noch zu verbessern, kann der Container auf die Nutzung der GPU angepasst werden, sofern auf dem Host eine entsprechend performante GPU verfügbar ist.
- Installiere das NVIDIA Container Toolkit: Stelle sicher, dass das Host-System korrekt eingerichtet ist, indem du das NVIDIA Container Toolkit installierst und konfigurierst.
- Verwende ein CUDA-kompatibles Docker-Image: Nutze ein NVIDIA CUDA-Base-Image als Grundlage im Dockerfile, um GPU-Unterstützung sicherzustellen, wie zum Beispiel das ollama/ollama Image aus dem obigen Beispiel.
- Starte den Container mit GPU-Zugriff: Verwende beim Start des Containers die Option
--gpus all, um die GPU des Hosts für den Ollama-Server verfügbar zu machen.
Fazit
Die Nutzung des Ollama Servers in Docker bietet eine überzeugende Alternative zu cloudbasierten Diensten wie ChatGpt. Geringere Kosten, eine größere Modellauswahl und volle Datensouveränität machen diese Lösung besonders attraktiv für Unternehmen, die LLMs effizient und sicher einsetzen möchten.
Wie ein solches portables LLM für effizientes Datenmapping genutzt werden kann, zeigen wir im nächsten Blogbeitrag.



