llama-server: lokale OpenAI-API mit llama.cpp
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.
#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.
- 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
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.
#1. llama-server beschaffen
Drei Wege, vom schnellsten bis zum leistungsfähigsten. Unter macOS installiert Homebrew die Binärdatei mit einem einzigen Befehl:
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).
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:
#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:
- -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:
Nach dem Start lauscht der Server standardmäßig auf http://127.0.0.1:8080. Prüfen Sie, ob er läuft:
#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:
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:
- /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).
#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.
Um tatsächlich den VRAM-Verbrauch während des Ladevorgangs zu überwachen, beobachten Sie nvidia-smi in einem separaten Fenster:
#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.
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.
#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.
#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.
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.