Fortgeschritten 14 Min.llama.cpp

llama-server: lokale OpenAI-API mit llama.cpp

Direkte Antwort

llama-server ist der in llama.cpp integrierte HTTP-Server. Mit einem einzigen Befehl (llama-server -m modele.gguf -ngl 99) lädt er eine GGUF-Datei und stellt unter http://localhost:8080 eine OpenAI-kompatible API samt integrierter Weboberfläche bereit. Im Gegensatz zu Ollama ermöglicht er die direkte Kontrolle über das GPU-Offloading (--n-gpu-layers), den Kontext und das Batching, ohne Daemon oder Abstraktionsschicht.

Ollama ist praktisch, verbirgt vor Ihnen aber alles: wohin Ihre Modellschichten ausgelagert werden, wie der Kontext eingestellt wird und was tatsächlich auf der GPU läuft. llama-server, der mit llama.cpp gelieferte HTTP-Server, macht es umgekehrt. Mit einem einzigen Befehl lässt sich jede GGUF-Datei über eine OpenAI-kompatible API bereitstellen, mit einer Weboberfläche und voller Kontrolle über das Offloading. Dieser Leitfaden zeigt, wie Sie den Server starten, Ihre Anwendungen damit verbinden und wann er Ollama mit Vorteilen ersetzt.

Von Mohamed Meguedmi·Aktualisierung 2026-08-27·Unter Windows, macOS und Linux getestet

#Warum llama-server?

Ollama, LM Studio und Jan basieren im Hintergrund alle auf derselben Engine: llama.cpp. Diese Engine bringt ihren eigenen HTTP-Server mit, llama-server, der keine dieser zusätzlichen Schichten benötigt. Sie geben eine GGUF-Datei an und erhalten eine API sowie eine Weboberfläche. Mehr nicht.

Der Nutzen ist nicht bloß kosmetischer Natur. Während Ollama für Sie entscheidet, wie viele Schichten auf die GPU ausgelagert werden, wie groß der Kontext ist und wie das Modell aufgeteilt wird, macht llama-server jeden Parameter über die Kommandozeile zugänglich. Sie sehen, was passiert, und können es einstellen. Das ist der „manuelle“ Modus der lokalen KI – ausführlicher, aber ohne Blackbox.

i
Kurz gesagt
llama-server = die HTTP-Binärdatei von llama.cpp. Ein Prozess, ein GGUF-Modell, eine OpenAI-kompatible API auf Port 8080, eine integrierte Weboberfläche. Kein Daemon im Hintergrund, keine Modellbibliothek, die für Sie verwaltet wird.
OpenAI-kompatible API
Endpunkte /v1/chat/completions, /v1/completions, /v1/models, /v1/embeddings. Jeder OpenAI-Client lässt sich ohne Änderungen daran anbinden.
Steuerung des Offloadings
--n-gpu-layers legt genau fest, wie viele Schichten in den VRAM ausgelagert werden. Unverzichtbar, wenn das Modell die Speicherkapazität Ihrer Grafikkarte überschreitet.
Integriertes Webinterface
Ein Chat, der direkt unter dem Wurzelpfad des Servers bereitgestellt wird, ohne Open WebUI oder Docker installieren zu müssen.
Keine umfangreichen Abhängigkeiten
Eine einzige Binärdatei (einige Dutzend MB). Weder Python noch ein Container oder ein Systemdienst sind zwingend erforderlich.
Batchverarbeitung und Parallelverarbeitung
Continuous Batching standardmäßig aktiviert, mehrere gleichzeitige Anfragen über Slots.

#Voraussetzungen

Das Lokale-KI-Paket

Ihr privates, kostenloses ChatGPT auf Ihrem Rechner in einer Stunde – mit LM Studio, Ollama, Open WebUI und Ihren Dokumenten, ganz ohne Cloud.

  • Lebenslanger Online-Zugang
  • PDF + Dateien
  • Erstattung binnen 30 Tagen
Eine GGUF-Datei
Das Format von llama.cpp. Auf Hugging Face erhältlich oder direkt von llama-server über -hf herunterladbar (siehe unten).
VRAM oder RAM
Bei Q4_K_M betragen die Größen etwa 2 GB für ein 3B, etwa 5 GB für ein 7B, etwa 9 GB für ein 14B, etwa 19 GB für ein 32B und etwa 40 GB für ein 70B.
Eine GPU (dringend empfohlen)
RTX 3060 mit 12 GB für den Einstieg, RTX 4070/4080 in der Mittelklasse, RTX 4090 mit 24 GB oder Mac M4 Pro für große Modelle. Der Betrieb allein auf der CPU funktioniert, ist aber langsam.
Ein Terminal
llama-server wird über die Kommandozeile gesteuert. Das ist keine unüberwindbare Hürde, aber es ist keine Anwendung, die sich wie LM Studio per Doppelklick starten lässt.
→
Sie kommen von Ollama?
Die von Ollama heruntergeladenen Modelle sind bereits GGUF-Dateien, die im blobs-Verzeichnis unter einem gehashten Namen gespeichert sind. Einfacher: Laden Sie den gewünschten GGUF direkt von Hugging Face herunter oder lassen Sie llama-server ihn mit -hf abrufen.

#1. llama-server beschaffen

Drei Wege, vom schnellsten bis zum leistungsfähigsten. Unter macOS installiert Homebrew die Binärdatei mit einem einzigen Befehl:

macOS — Homebrew
brew install llama.cpp

# le binaire s'appelle llama-server
llama-server --version

Unter Windows und Linux ist es am einfachsten, eine vorkompilierte Binärdatei aus den offiziellen GitHub-Releases von llama.cpp herunterzuladen (wählen Sie die zu Ihrer Hardware passende Variante: CUDA für NVIDIA, Vulkan für eine generische GPU oder CPU).

Offizielle Releases
https://github.com/ggml-org/llama.cpp/releases

Um möglichst viele Tokens pro Sekunde zu erreichen, kompilieren Sie aus dem Quellcode mit dem Backend Ihrer GPU. Beispiel für NVIDIA mit CUDA:

Mit CUDA kompilieren
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j

# le binaire se trouve dans build/bin/
./build/bin/llama-server --version
i
Die Binärdatei wurde umbenannt
Ursprünglich war dieser Server das Beispiel „server“ in llama.cpp. Seit der Neuorganisation der Tools heißt er llama-server. Wenn ein älteres Tutorial von ./server spricht, ist damit dasselbe Programm gemeint.

#2. Ein GGUF-Modell mit einem einzigen Befehl starten

Der minimale Befehl gibt ein Modell an und startet den Server. Hier ein Qwen 3.5 9B in Q4_K_M (die Referenzempfehlung für 8 GB im Jahr 2026, 256k Kontext), bei dem alle Schichten auf die GPU ausgelagert werden:

Terminal
llama-server -m ./qwen3.5-9b-instruct-q4_k_m.gguf -ngl 99 -c 8192
-m
Pfad zur GGUF-Datei, die vom Server bereitgestellt werden soll.
-ngl 99
Anzahl der auf die GPU ausgelagerten Schichten. 99 = „alle“ (das Modell hat weniger Schichten; der überschüssige Wert wird ohne Fehlermeldung ignoriert).
-c 8192
Kontextgröße in Tokens. Der Standardwert liegt häufig bei 4096; passen Sie ihn an Ihren Bedarf und den verfügbaren VRAM an.

Sie haben die Datei nicht bei sich? llama-server kann sie direkt von Hugging Face herunterladen und im Cache speichern, wie ein ollama pull mais integriert:

Herunterladen von Hugging Face
llama-server -hf bartowski/Qwen3.5-9B-Instruct-GGUF:Q4_K_M -ngl 99 -c 8192

Nach dem Start lauscht der Server standardmäßig auf http://127.0.0.1:8080. Prüfen Sie, ob er läuft:

Health-Check
curl http://localhost:8080/health
# {"status":"ok"}
!
Im Netzwerk zugänglich machen = Risiko
Standardmäßig lauscht llama-server nur auf localhost. Um ihn von anderen Rechnern aus zugänglich zu machen, fügen Sie --host 0.0.0.0 hinzu – dann steht die API jedoch jedem im Netzwerk offen. Schützen Sie sie mit --api-key und idealerweise mit einem Reverse-Proxy über HTTPS.

#3. Die OpenAI-kompatible API: jede beliebige App anbinden

Das ist das stärkste Argument für llama-server. Er unterstützt das OpenAI-Protokoll, sodass jedes für die OpenAI-API entwickelte Tool funktioniert, wenn Sie lediglich die Basis-URL ändern. Ein direkter Chat-Aufruf mit curl:

Aufruf von /v1/chat/completions
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "local",
    "messages": [
      {"role": "system", "content": "Tu réponds en français, de façon concise."},
      {"role": "user", "content": "Explique le format GGUF en une phrase."}
    ],
    "temperature": 0.7
  }'

Das Feld model ist frei wählbar: llama-server stellt jeweils nur ein Modell bereit und ignoriert diesen Wert weitgehend. Im Python-SDK von OpenAI genügt es, base_url auf Ihren Server umzuleiten. Der API-Schlüssel kann eine beliebige Zeichenfolge sein, wenn Sie --api-key nicht festgelegt haben:

OpenAI Python-Client
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="sk-no-key-required",
)

resp = client.chat.completions.create(
    model="local",
    messages=[
        {"role": "user", "content": "Donne-moi trois idées de noms pour un projet open source."}
    ],
)
print(resp.choices[0].message.content)
/v1/chat/completions
Konversationsmodus mit automatischer Anwendung der Chat-Vorlage des Modells.
/v1/completions
Reine Textvervollständigung ohne Rollenformatierung.
/v1/models
Listet das geladene Modell auf – nützlich für Clients, die zuerst die verfügbaren Modelle abfragen.
/v1/embeddings
Erzeugt Embeddings, wenn der Server mit --embedding gestartet wird (praktisch für ein selbst gebautes RAG-System).
→
Die Chat-Vorlage ist wichtig
Damit das Modell die Unterhaltung korrekt formatiert, fügen Sie beim Start --jinja hinzu: llama-server wendet dann die im GGUF enthaltene Chat-Vorlage an. Ohne diesen Parameter geben einige neuere Modelle fehlerhafte Antworten.

#4. n-gpu-layers: das fein steuerbare Offloading, das Ollama verbirgt

Ein Modell besteht aus einem Stapel von Schichten (Layers). Jede in den VRAM geladene Schicht wird von der GPU sehr schnell verarbeitet; die Schichten, die im RAM bleiben, werden von der CPU langsam verarbeitet. --n-gpu-layers (oder -ngl) bestimmt, wie viele Schichten auf die GPU geladen werden. Das ist die wichtigste Einstellung für die Geschwindigkeit.

-ngl 99
Alles auf der GPU. Anstreben, wenn das Modell vollständig in den VRAM passt. Maximale Geschwindigkeit.
-ngl 20
Teilweises Offloading: 20 Schichten auf der GPU, der Rest auf der CPU. Der Kompromiss, wenn das Modell nicht vollständig in den VRAM passt.
-ngl 0
Alles auf der CPU. Langsam, ermöglicht aber den Betrieb eines Modells, das deutlich größer ist, als Ihre Grafikkarte aufnehmen kann.

Die Strategie: -ngl so hoch wie möglich einstellen, ohne den VRAM vollständig auszulasten. Ein 14B-Modell in Q4 (≈9 GB) passt mit -ngl 99 vollständig auf eine RTX 3060 mit 12 GB. Ein Qwen 3.8 27B in Q4 (≈18 GB) passt nicht vollständig hinein; auf derselben Karte lagert man nur einen Teil auf die GPU aus — beispielsweise mit -ngl 40 — und nimmt eine geringere Geschwindigkeit in Kauf.

Teilweises Offloading eines großen Modells
# Qwen 3.8 27B Q4 (~18 Go) sur un GPU 12 Go : une partie sur GPU, le reste sur CPU
llama-server -m ./qwen3.8-27b-instruct-q4_k_m.gguf -ngl 40 -c 4096

Um tatsächlich den VRAM-Verbrauch während des Ladevorgangs zu überwachen, beobachten Sie nvidia-smi in einem separaten Fenster:

VRAM-Überwachung
nvidia-smi -l 1
i
Flash-Attention und Batching
Fügen Sie --flash-attn hinzu, um den Speicherbedarf des Kontexts auf GPUs mit entsprechender Unterstützung zu reduzieren. Continuous Batching (-cb) ist standardmäßig aktiviert: Mehrere gleichzeitige Anfragen werden effizient über parallele Slots (--parallel N) verarbeitet.

#5. Die integrierte Weboberfläche

Zum Chatten sind weder Open WebUI noch Docker nötig: llama-server stellt direkt unter seiner Root-URL eine Chatoberfläche bereit. Öffnen Sie einfach die Serveradresse in einem Browser.

Webinterface
http://localhost:8080

Dort finden Sie einen voll ausgestatteten Chat: Gesprächsverlauf, Einstellungen für Temperatur und Sampling-Parameter, Unterstützung für Systemprompts und Markdown-Darstellung. Das reicht für den täglichen persönlichen Gebrauch aus, ohne eine zusätzliche Software-Schicht installieren zu müssen.

→
Das angezeigte Modell benennen
Verwenden Sie -a (oder --alias), um dem Modell einen lesbaren Namen zu geben, der in /v1/models und in der Benutzeroberfläche angezeigt wird: llama-server -m modele.gguf -a qwen3.5-9b -ngl 99.

#Wann Sie llama-server gegenüber Ollama bevorzugen sollten (und wann Sie bei Ollama bleiben sollten)

llama-server und Ollama verwenden dieselbe Engine. Bei der Wahl geht es um die Abwägung zwischen Kontrolle und Komfort.

Wählen Sie llama-server
Wenn Sie das Offloading fein abstimmen, eine bestimmte GGUF-Datei eines bestimmten Quantisierers testen, einen dauerhaft laufenden Daemon vermeiden oder eine einzelne Binärdatei ohne Abhängigkeiten auf einem Server bereitstellen möchten.
Wählen Sie llama-server
Wenn ein Modell mehr Speicher benötigt, als Ihr VRAM bietet: Die direkte Kontrolle über -ngl und die Speicheroptionen macht den Unterschied zwischen „unbrauchbar“ und „langsam, aber funktionsfähig“.
Bleiben Sie bei Ollama
Wenn Sie zwischen mehreren Modellen sofort wechseln möchten, ohne Prozesse neu zu starten, eine Bibliothek mit ollama pull/list verwalten oder automatisch nach Bedarf laden oder entladen möchten.
Bleiben Sie bei Ollama
Wenn mehrere Anwendungen unterschiedliche Modelle über denselben Port 11434 ansprechen: Ollama übernimmt für Sie das Routing und den Modellwechsel, während llama-server pro Prozess nur ein Modell unterstützt.
i
Beide können nebeneinander genutzt werden
Sie müssen sich nicht entscheiden. Viele behalten Ollama für den Komfort im Alltag und starten einen dedizierten llama-server, um ein bestimmtes Modell in der Produktion bereitzustellen oder eine Offloading-Einstellung zu nutzen, die Ollama nicht ermöglicht.

#Fehlerbehebung

« CUDA out of memory » beim Laden
Ihr -ngl-Wert ist für den verfügbaren VRAM zu hoch. Senken Sie ihn (teilweises Offloading), reduzieren Sie -c oder wechseln Sie zu einer speichersparenderen Quantisierung (Q4_K_M statt Q5/Q8).
Die GPU wird nicht genutzt
Die ausführbare Datei ist möglicherweise die CPU-Variante. Prüfen Sie, ob Sie einen CUDA/Metal/Vulkan-Build verwenden und ob -ngl größer als 0 ist. nvidia-smi muss belegten VRAM anzeigen.
Unkonsistente Antworten oder sichtbare Tags
Die Chat-Vorlage wird nicht angewendet. Starten Sie erneut mit --jinja, um die im GGUF eingebettete Vorlage zu verwenden.
Die Client-Anwendung findet das Modell nicht
Einige Clients fragen zunächst /v1/models ab. Geben Sie mit -a einen Alias an und tragen Sie genau diesen Namen in das Feld model Ihrer Anwendung ein.
Abgeschnittener Kontext / abgebrochene Antworten
-c ist zu klein. Erhöhen Sie die Kontextgröße, wobei Sie berücksichtigen müssen, dass ein großer Kontext mehr VRAM verbraucht.

#Weiterführende Informationen

llama-server entfaltet seinen vollen Nutzen mit einem gut kompilierten llama.cpp und einem sorgfältig ausgewählten GGUF. Diese Anleitungen auf unserer Website ergänzen die Einrichtung:

llama.cpp mit CUDA kompilieren
Für eine auf NVIDIA optimierte Binärdatei und die maximale Anzahl an Tokens pro Sekunde auf Ihrer Grafikkarte.
Q4, Q5, Q8: Welche Quantisierung wählen?
Um Qualität, Geschwindigkeit und VRAM-Bedarf gegeneinander abzuwägen, bevor Sie eine GGUF-Datei herunterladen.
llama.cpp vs. vLLM vs. Exllama
Um llama-server je nach Ihrem Durchsatzbedarf mit anderen Inferenz-Engines zu vergleichen.
Hat Ihnen dieser Guide geholfen?

Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.