Tutorials  /  AI/ML

Was ist Ollama? Funktionsweise, Modelle und Einsatzgebiete

LLudwig · August 2026 ·11 Min. Lesezeit ·AI/ML, Tutorial

Große Sprachmodelle lokal zu betreiben scheitert selten am Modell selbst, sondern an der Toolchain: Gewichte konvertieren, Runtime kompilieren, GPU-Layer konfigurieren. Ollama fasst diese Schritte in einem einzigen Dienst zusammen und stellt die Modelle über eine HTTP-API bereit. Dieser Artikel erklärt, wie Ollama intern arbeitet, welche Modelle es unterstützt und wo der Einsatz technisch sinnvoll ist.

Was ist Ollama?

Ollama ist eine quelloffene Laufzeitumgebung für große Sprachmodelle, die Modellgewichte im GGUF-Format verwaltet, sie über einen lokalen HTTP-Server auf Port 11434 bereitstellt und die Inferenz wahlweise auf CPU oder GPU ausführt.

Technisch besteht Ollama aus zwei Teilen: einem Kommandozeilen-Client und einem Hintergrunddienst. Der Dienst verwaltet den Modellspeicher, lädt Modelle aus einer Registry und startet für jede Anfrage einen Runner-Prozess, der auf llama.cpp aufsetzt. Modelle liegen dabei nicht als einzelne Dateien vor, sondern als inhaltsadressierte Blobs mit einem Manifest, ähnlich dem Aufbau von Container-Images.

Komponente Aufgabe
CLI (ollama) Nutzerbefehle, spricht per HTTP mit dem Dienst
Server (ollama serve) Modellverwaltung, Scheduling, REST-API
Runner Eigentliche Inferenz auf Basis von llama.cpp
Model Store Blobs und Manifeste unter /usr/share/ollama/.ollama/models

Voraussetzungen

  • Ein Linux-Host mit x86_64- oder ARM64-CPU, zum Beispiel eine skalierbare Cloud-VPS für Linux-Workloads
  • Mindestens 8 GB RAM für 7B-Modelle, 16 GB für komfortables Arbeiten
  • 20 GB freier Speicherplatz unter /usr/share/ollama für Modell-Blobs
  • Ein Benutzerkonto mit sudo-Rechten
  • Optional: NVIDIA-GPU mit installiertem Treiber ab Version 535 für CUDA-Beschleunigung

Wie funktioniert Ollama intern?

Ollama trennt Client und Server: Der Befehl ollama run schickt eine HTTP-Anfrage an den lokalen Dienst, der das Modell bei Bedarf aus der Registry lädt, die GGUF-Gewichte in den Speicher legt und die Antwort als Token-Stream zurückgibt.

Die Entscheidung, ob Layer in den VRAM ausgelagert werden, trifft der Dienst automatisch anhand der erkannten GPU und der Modellgröße. Passt ein Modell nicht vollständig in den Grafikspeicher, läuft ein Teil der Layer auf der CPU. Das funktioniert, kostet aber deutlich Durchsatz.

graph TD
    A["ollama run llama3.2:3b"] --> B["Ollama-CLI"]
    B -->|HTTP 127.0.0.1:11434| C["Ollama-Server"]
    C --> D{"Modell lokal vorhanden?"}
    D -->|nein| E["Download aus der Registry"]
    E --> F["Blobs im Model Store"]
    D -->|ja| F
    F --> G["Runner lädt GGUF-Gewichte"]
    G --> H{"GPU verfügbar?"}
    H -->|ja| I["Layer in den VRAM auslagern"]
    H -->|nein| J["Inferenz über CPU und RAM"]
    I --> K["Antwort als Token-Stream"]
    J --> K
GPU

Passende Infrastruktur bei centron

Dedizierte NVIDIA-GPUs aus deutschen Rechenzentren, stundengenau abgerechnet und in Minuten startklar. GPU-Server mieten →

Ollama installieren

Das offizielle Installationsskript legt das Binary unter /usr/local/bin/ollama ab, erzeugt den Systembenutzer ollama und registriert eine systemd-Unit.

Konsole
$ curl -fsSL https://ollama.com/install.sh | sh

Prüfe danach Version und Dienststatus:

Konsole
$ ollama --version
$ systemctl status ollama --no-pager

Der Dienst lauscht standardmäßig ausschließlich auf 127.0.0.1:11434. Das ist die richtige Voreinstellung, denn die API kennt keine eigene Authentifizierung.

Erstes Modell laden und ausführen

Mit ollama pull lädst du ein Modell in den lokalen Store, mit ollama run startest du eine interaktive Sitzung oder schickst einen einzelnen Prompt.

Konsole
$ ollama pull llama3.2:3b
$ ollama run llama3.2:3b "Erkläre den Unterschied zwischen TCP und UDP in drei Sätzen."
$ ollama list

Der Tag hinter dem Doppelpunkt bezeichnet die Variante. llama3.2:3b meint die 3-Milliarden-Parameter-Version, llama3.2:3b-instruct-q8_0 zusätzlich eine bestimmte Quantisierung. Ohne Tag zieht Ollama :latest, was in der Regel eine 4-Bit-Quantisierung der mittleren Größe ist.

Welche Modelle unterstützt Ollama?

Ollama unterstützt alle Modelle im GGUF-Format aus der offiziellen Registry, darunter Llama, Mistral, Qwen, Gemma, Phi und DeepSeek, ergänzt um spezialisierte Embedding-, Code- und Vision-Modelle.

Modell Größe Speicherbedarf (Q4) Typischer Einsatz
llama3.2:3b 3B ca. 2,5 GB Chat auf schwacher Hardware
qwen2.5:7b 7B ca. 4,7 GB Allrounder, mehrsprachig
mistral:7b 7B ca. 4,4 GB Zusammenfassungen, RAG
qwen2.5-coder:14b 14B ca. 9 GB Code-Vervollständigung
nomic-embed-text 137M ca. 0,3 GB Embeddings für Vektorsuche
llava:7b 7B ca. 4,7 GB Bildbeschreibung, OCR-nah

Eigene GGUF-Dateien lassen sich ebenfalls einbinden, indem du sie im Modelfile mit FROM /pfad/zur/datei.gguf referenzierst. Modelle im Safetensors-Format akzeptiert Ollama seit Version 0.3 direkt für Llama-, Mistral- und Gemma-Architekturen.

Quantisierung und Speicherbedarf

Die Quantisierung bestimmt, mit wie vielen Bit pro Gewicht ein Modell gespeichert wird, und entscheidet damit über Speicherbedarf, Geschwindigkeit und Antwortqualität.

Quantisierung Bit pro Gewicht Faktor zum RAM-Bedarf (7B) Bewertung
q4_K_M ca. 4,5 ca. 4,4 GB Standard, bestes Verhältnis
q5_K_M ca. 5,5 ca. 5,1 GB Etwas genauer, spürbar größer
q8_0 8 ca. 7,6 GB Nahe am Original, hoher Bedarf
fp16 16 ca. 14 GB Nur mit ausreichend VRAM sinnvoll

Als Faustregel gilt: Ein größeres Modell mit q4_K_M liefert bessere Ergebnisse als ein kleineres Modell mit q8_0 bei gleichem Speicherbedarf. Rechne zusätzlich rund 1 bis 2 GB für den KV-Cache ein, bei großen Kontextfenstern deutlich mehr.

Die REST-API nutzen

Der Ollama-Server stellt unter http://127.0.0.1:11434 eine eigene REST-API bereit und zusätzlich seit Version 0.1.24 einen OpenAI-kompatiblen Endpunkt unter /v1.

Konsole
$ curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Was ist ein Reverse Proxy?","stream":false}'

Der OpenAI-kompatible Pfad erlaubt es, bestehende Clients ohne Codeänderung umzubiegen. Als API-Key genügt ein beliebiger Platzhalter:

Konsole
$ curl http://127.0.0.1:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ollama" \
  -d '{"model":"llama3.2:3b","messages":[{"role":"user","content":"Nenne drei systemd-Befehle."}]}'

Wichtige Endpunkte: /api/generate für einzelne Prompts, /api/chat für Konversationen mit Verlauf, /api/embeddings für Vektoren und /api/tags für die Liste der lokalen Modelle.

Eigene Modellvarianten per Modelfile

Ein Modelfile definiert Basismodell, Inferenzparameter und System-Prompt. Daraus erzeugt ollama create eine benannte Variante, die sich wie jedes andere Modell ansprechen lässt.

Modelfile
FROM llama3.2:3b
PARAMETER temperature 0.2
PARAMETER num_ctx 8192
PARAMETER repeat_penalty 1.1
SYSTEM """Du bist ein Assistent für Linux-Systemadministration. Antworte knapp und nenne immer den konkreten Befehl."""
Konsole
$ ollama create ops-assistent -f /opt/ollama/Modelfile
$ ollama run ops-assistent "Wie prüfe ich offene Ports?"

num_ctx verdient besondere Aufmerksamkeit: Der Standardwert liegt je nach Modell bei 2048 oder 4096 Token. Wer ihn auf 32768 hochzieht, vervielfacht den Speicherbedarf des KV-Cache und riskiert, dass Layer aus dem VRAM in den RAM zurückfallen.

GPU-Nutzung prüfen und steuern

Der Befehl ollama ps zeigt in der Spalte PROCESSOR, welcher Anteil eines geladenen Modells im VRAM und welcher im RAM liegt.

Konsole
$ ollama ps
NAME            ID              SIZE      PROCESSOR    UNTIL
llama3.2:3b     a80c4f17acd5    3.5 GB    100% GPU     4 minutes from now

Steht dort 100% GPU, läuft die Inferenz vollständig auf der Grafikkarte. Ein Wert wie 62%/38% CPU/GPU bedeutet, dass VRAM fehlt. Für 14B-Modelle und größer sowie für parallele Anfragen lohnt sich eine dedizierte GPU-Instanz für LLM-Inferenz mit ausreichend VRAM, weil dort die gesamten Layer im Grafikspeicher bleiben.

Das Verhalten des Dienstes steuerst du über Umgebungsvariablen in einem systemd-Override:

Konsole
$ sudo systemctl edit ollama
ini
[Service]
Environment="OLLAMA_KEEP_ALIVE=30m"
Environment="OLLAMA_NUM_PARALLEL=2"
Environment="OLLAMA_MAX_LOADED_MODELS=2"

OLLAMA_KEEP_ALIVE legt fest, wie lange ein Modell nach der letzten Anfrage im Speicher bleibt. Der Standard sind 5 Minuten. Bei Diensten mit unregelmäßigem Traffic vermeidet ein höherer Wert wiederholte Ladezeiten von mehreren Sekunden. Wenn du OLLAMA_HOST=0.0.0.0:11434 setzt, ist die API ohne jede Authentifizierung im Netz erreichbar. Setze in dem Fall zwingend eine Firewall-Regel oder einen Reverse Proxy mit Auth davor.

Wofür wird Ollama eingesetzt?

Ollama wird überall dort eingesetzt, wo Prompts und Ergebnisse die eigene Infrastruktur nicht verlassen dürfen oder wo Inferenzkosten pro Token durch feste Serverkosten ersetzt werden sollen.

  • Datenschutzkritische Verarbeitung: Vertrags-, Personal- oder Patientendaten bleiben auf dem eigenen Host.
  • RAG-Systeme: nomic-embed-text erzeugt Embeddings, ein Chat-Modell formuliert die Antwort. Beides über dieselbe API.
  • Entwicklung und Tests: Anwendungen gegen die OpenAI-kompatible Schnittstelle entwickeln, ohne API-Kosten zu erzeugen.
  • Batch-Verarbeitung: Klassifikation, Zusammenfassung oder Übersetzung großer Dokumentmengen über Nacht.
  • Code-Assistenz: qwen2.5-coder oder vergleichbare Modelle als Backend für Editor-Plugins.

Nicht geeignet ist Ollama als Hochlast-Serving-Stack für viele gleichzeitige Nutzer. Dafür sind Systeme mit Continuous Batching wie vLLM die passendere Wahl.

Verifikation

Drei Befehle bestätigen, dass die Installation vollständig funktioniert:

Konsole
$ systemctl is-active ollama
active
$ curl -s http://127.0.0.1:11434/api/tags | head -c 120
{"models":[{"name":"llama3.2:3b","model":"llama3.2:3b","modified_at":
$ ollama run llama3.2:3b "Antworte nur mit OK."
OK

Liefern alle drei Befehle diese Ausgaben, sind Dienst, API und Inferenz einsatzbereit.

Troubleshooting

Error: listen tcp 127.0.0.1:11434: bind: address already in use: Es läuft bereits eine Ollama-Instanz, meist der systemd-Dienst. Stoppe entweder den Dienst mit sudo systemctl stop ollama oder verzichte auf den manuellen Start von ollama serve.

Modell läuft trotz GPU auf der CPU: Prüfe mit nvidia-smi, ob der Treiber die Karte erkennt, und sieh in journalctl -u ollama -n 50 nach Meldungen zur Library-Erkennung. Häufigste Ursache ist ein Treiber älter als Version 535 oder eine fehlende Neustart des Dienstes nach der Treiberinstallation.

Prozess wird vom OOM-Killer beendet: Das Modell passt nicht in den Arbeitsspeicher. Wechsle auf eine kleinere Quantisierung, reduziere num_ctx oder setze OLLAMA_MAX_LOADED_MODELS=1, damit nicht mehrere Modelle gleichzeitig im Speicher gehalten werden.

Fazit

Ollama reduziert den Betrieb lokaler Sprachmodelle auf drei Befehle: installieren, pull, run. Die eigentliche Arbeit liegt danach in der Dimensionierung. Wähle Modellgröße und Quantisierung passend zum verfügbaren VRAM, kontrolliere das Ergebnis mit ollama ps und passe num_ctx sowie OLLAMA_KEEP_ALIVE an dein Lastprofil an. Als nächster Schritt bietet sich ein Modelfile mit festem System-Prompt an, damit die Anwendungslogik nicht bei jedem Aufruf denselben Kontext mitschicken muss.

Weiterlesen

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

Ludwig Technische Redaktion

Schreibt bei centron über Linux-Administration, Container und Datenbanken – mit Fokus auf Anleitungen, die im Betrieb tatsächlich funktionieren.

Kategorie AI/ML
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren