Fortgeschritten 11 Min.Server

LocalAI: vollständige OpenAI-API, 100 % selbst gehostet

Direkte Antwort

LocalAI (Open-Source-Projekt mudler/LocalAI, MIT-Lizenz) ist ein selbst gehosteter Inferenzserver, der die APIs von OpenAI und inzwischen auch von Anthropic und ElevenLabs auf mehr als 60 Backends (llama.cpp, vLLM, MLX, whisper.cpp, diffusers…) nachbildet. Eine einzige Docker-Instanz stellt Text, Embeddings, Audio, Bilder und Videos bereit, mit integrierten KI-Agenten (RAG, MCP, Tools). Planen Sie etwa 30 Minuten für eine erste funktionsfähige Bereitstellung auf einer NVIDIA-GPU ein.

LocalAI ist ein Open-Source-Inferenzserver, der genau dieselben Endpunkte wie die OpenAI-API bereitstellt – alles läuft jedoch auf Ihrem Rechner. Während sich Ollama auf Textchats konzentriert, deckt LocalAI über eine einzige API Text, Embeddings, Transkription und Audiosynthese sowie Bildgenerierung ab. Dieser Leitfaden zeigt, wie Sie LocalAI mit Docker bereitstellen, Modelle aus seiner Galerie installieren und eine bestehende OpenAI-Anwendung ohne Änderungen am Code neu anbinden.

Von Mohamed Meguedmi·Aktualisierung 2026-09-28·Unter Windows, macOS und Linux getestet

#Warum LocalAI?

LocalAI (das GitHub-Projekt mudler/LocalAI unter MIT-Lizenz, erstellt und gepflegt von Ettore Di Giacinto und dem LocalAI-Team) bezeichnet sich als „drop-in replacement“ für die OpenAI-API. Konkret gehen Ihre Anfragen an /v1/chat/completions, /v1/embeddings, /v1/audio/transcriptions, /v1/audio/speech oder /v1/images/generations an einen Server, den Sie selbst hosten, statt an die Server von OpenAI. Kein Token verlässt Ihr Netzwerk, keine nutzungsabhängige Abrechnung, keine Kontingente.

Der eigentliche Vorteil von LocalAI besteht nicht darin, einen weiteren Chat zu betreiben, sondern darin, mehrere Modalitäten hinter einem einzigen kompatiblen Endpunkt zu bündeln. Dieselbe Instanz stellt ein LLM für Text, ein Embedding-Modell für Ihr RAG, Whisper für die Transkription, Stable Diffusion für Bilder und inzwischen auch Videomodelle bereit. Für eine Anwendung, die mehrere Komponenten benötigt, entfällt damit die Notwendigkeit, drei oder vier separate Server einzurichten und zu warten und sich in deren jeweils eigene API einzuarbeiten.

OpenAI-kompatible API
Dieselben Pfade, dieselben JSON-Payloads. Ihre offiziellen SDKs (openai-python, openai-node) funktionieren, wenn Sie lediglich die Basis-URL ändern.
Multi-backend
LocalAI basiert auf llama.cpp (GGUF), whisper.cpp, diffusers, piper und anderen je nach Modell. Sie müssen diese nicht einzeln installieren.
Multimodal
Text, Embeddings, Audio (STT + TTS) und Bilder auf derselben Instanz, jeweils über einen eigenen OpenAI-Endpunkt.
100 % lokal
Funktioniert offline nach dem Download der Modelle. Keine Inferenz-Telemetrie, keine Cloud-Abhängigkeit.
i
Open-Weight, keine Magie
LocalAI ist ein Server, kein Modell. Die Qualität der Ausgabe hängt vollständig von den Open-Weight-Modellen ab, die Sie darauf laden – und von Ihrem VRAM. Ein 7B-Modell im GGUF-Format Q4_K_M bleibt ein 7B-Modell, egal ob Sie es über Ollama, llama.cpp oder LocalAI bereitstellen.

Das Projekt hat sich seit seiner ursprünglichen Beschreibung als einfacher Klon der OpenAI-API über die Versionen hinweg deutlich erweitert. Seine „Drop-in“-Kompatibilität umfasst inzwischen auch die APIs von Anthropic und ElevenLabs, und zwar auf jedem seiner Backends. Mehr als 60 Backends werden unterstützt — darunter llama.cpp, vLLM, SGLang, transformers, whisper.cpp, diffusers sowie MLX und MLX-VLM für Apple Silicon — und lassen sich bei Bedarf aus einer Backend-Galerie installieren, ohne dass alle vorab in einem einzigen Image enthalten sein müssen.

LocalAI integriert auch autonome KI-Agenten mit Werkzeugnutzung, RAG und Unterstützung des MCP-Protokolls sowie einen Mehrbenutzermodus mit Authentifizierung per API-Schlüssel, Kontingenten und rollenbasierter Zugriffskontrolle. Version 4.1.0 (April 2026) ergänzte einen verteilten Cluster-Modus mit intelligentem Routing abhängig vom verfügbaren VRAM und automatischer Skalierung; Version 4.2.0 (Mai 2026) ergänzte Sprach- und Gesichtserkennung, Sprecherdiarisierung, eine Ollama-kompatible API und Videogenerierung.


#LocalAI oder Ollama, je nach Bedarf

Das Kit Lokale KI

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
  • Lebenslange Updates

Beide führen GGUF über llama.cpp aus und stellen eine OpenAI-kompatible API für Text bereit. Der Unterschied liegt im Funktionsumfang und in der Philosophie. Ollama setzt bei Text (und in gewissem Umfang bei Bildverarbeitung) auf Einfachheit mit einer schlanken CLI; LocalAI strebt eine breite Abdeckung an – mehrere Modalitäten, mehr Backends, mehr Einstellungen, integrierte Agenten –, erfordert dafür aber beim Einrichten eine deutlich umfangreichere Konfiguration.

LocalAI oder Ollama, schneller Vergleich
KriteriumOllamaLocalAI
EinführungSofort („ollama run“)Ausführlicher, YAML-Modellbeschreibung
ModalitätenText (und etwas Vision)Text, Embeddings, Audio, Bilder, Video
Kompatible APIsOpenAIOpenAI, Anthropic, ElevenLabs
Backendshauptsächlich llama.cpp60+ Backends (llama.cpp, vLLM, SGLang, MLX…)
Agenten / MCPNicht nativIntegrierte Agenten mit RAG und MCP
Multi-utilisateursNicht nativAPI-Schlüssel, Quoten, Rollen
Ökosystem von InterfacesSehr umfangreichStärker eingeschränkt
Gute Wahl, wennEinfacher Textchat mit hoher GeschwindigkeitMehrere Modalitäten über eine einzige API

Nichts hindert Sie daran, beide auf derselben Maschine zu betreiben: Ollama für den interaktiven Chat im Alltag, LocalAI als multimodales Gateway für Ihre Anwendungen, die Embeddings, Audio oder Bilder über dieselbe API benötigen.

→
Der richtige Ansatz
Wenn Sie lediglich „mit einem lokalen LLM chatten“ möchten, bleiben Sie bei Ollama – das ist einfacher. Wechseln Sie zu LocalAI, sobald „Embeddings“, „Transkription“ oder „Bildgenerierung“ zu den Anforderungen gehören.

#Voraussetzungen

LocalAI lässt sich am saubersten über Docker bereitstellen, mit einem für Ihre Hardware passenden Image. Planen Sie den Speicherbedarf anhand der vorgesehenen Modelle: Letztlich bestimmt der VRAM (oder bei reinem CPU-Betrieb der RAM), welche Modelle Sie tatsächlich bereitstellen können.

Docker
Eine aktuelle Version von Docker Engine oder Docker Desktop. Docker Compose wird für eine reproduzierbare Bereitstellung empfohlen.
GPU (optional)
NVIDIA mit dem NVIDIA Container Toolkit für die Beschleunigung über CUDA 12 oder 13. LocalAI unterstützt auch die Beschleunigung auf AMD (ROCm), Intel (oneAPI/SYCL) und Apple Silicon (Metal), mit Vulkan als allgemeiner Ausweichlösung, wenn keiner dieser Wege infrage kommt. Ohne GPU läuft alles auf der CPU, allerdings langsamer.
VRAM je nach Größe (Q4)
3B ≈ 2 GB · 7B ≈ 5 GB · 14B ≈ 9 GB · 32B ≈ 19 GB · 70B ≈ 40 GB. Planen Sie zusätzlichen Speicher für ein Embedding-Modell und/oder Whisper ein, wenn Sie diese parallel bereitstellen.
GPU-Hinweise
Eine RTX 3060 mit 12 GB (Einstieg) oder eine RTX 4070 mit 12 GB bietet ausreichend Platz für ein 7–14B-Modell; für größere Modelle eignen sich eine RTX 4090 mit 24 GB oder ein Mac M4 Pro mit 24–48 GB gemeinsamem Speicher.
Festplattenspeicher
Jedes Modell benötigt mehrere GB, bei Bild- oder Videomodellen manchmal noch mehr. Planen Sie ein dediziertes Volume ein, damit Sie nicht bei jedem Neustart des Containers alles erneut herunterladen müssen.

#LocalAI in Docker bereitstellen

  1. 01
    Test-Container starten
    Der schnellste Befehl startet LocalAI und stellt die API auf Port 8080 bereit. Verwenden Sie das Image „-gpu-nvidia-cuda-12“ (oder „-cuda-13“ bei den neuesten Treibern), wenn Sie eine NVIDIA-Karte haben, andernfalls das standardmäßige CPU-Image.
  2. 02
    Prüfen, ob die API antwortet
    Sobald der Container bereit ist, sollte die Route /v1/models die Liste (initial leer) im OpenAI-Format zurückgeben. Dies ist der Hinweis darauf, dass der Server korrekt auf dem Port 8080 läuft.
  3. 03
    Modelle dauerhaft speichern
    Binden Sie ein Volume unter /models ein (oder unter /build/models, je nach Image), damit die heruntergeladenen Modelle nach einem Neustart erhalten bleiben. Ohne Volume wird bei jedem „docker run“ alles erneut heruntergeladen.
  4. 04
    Zu Docker Compose wechseln
    Für einen dauerhaften Einsatz beschreiben Sie den Dienst in einer docker-compose.yml-Datei: Image, Ports, Volume und GPU-Reservierung. Mit „docker compose up -d“ starten Sie alles erneut.
Terminal – Schnellstart (CPU)
# Lance LocalAI, API OpenAI-compatible sur le port 8080
docker run -p 8080:8080 --name localai \
  -v $PWD/models:/models \
  localai/localai:latest

# Version GPU NVIDIA (CUDA 12) :
# docker run -p 8080:8080 --gpus all \
#   -v $PWD/models:/models \
#   localai/localai:latest-gpu-nvidia-cuda-12

# Version GPU NVIDIA (CUDA 13, plus récente) :
# docker run -p 8080:8080 --gpus all \
#   -v $PWD/models:/models \
#   localai/localai:latest-gpu-nvidia-cuda-13
docker-compose.yml
services:
  localai:
    image: localai/localai:latest-gpu-nvidia-cuda-12
    container_name: localai
    ports:
      - "8080:8080"
    volumes:
      - ./models:/models
    environment:
      - DEBUG=true
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped
Terminal — prüfen
# La route est identique à celle d'OpenAI
curl http://localhost:8080/v1/models
!
Machen Sie LocalAI nicht ungeschützt über das Internet erreichbar
Standardmäßig nimmt LocalAI Verbindungen ohne Authentifizierung entgegen. Wenn Sie aus der Ferne darauf zugreifen müssen, betreiben Sie es hinter einem Reverse-Proxy (Authentifizierung + TLS) oder einem VPN und aktivieren Sie einen API-Schlüssel. Eine offene Inferenz-API stellt jedem, der vorbeikommt, kostenlos Rechenleistung zur Verfügung.

#Ein Modell aus der Galerie installieren

LocalAI bietet eine Galerie vorkonfigurierter Modelle, die auch über „local-ai models list“ in der Kommandozeile oder auf models.localai.io eingesehen werden kann: Jeder Eintrag enthält das passende Backend, die Prompt-Vorlage und die Standardparameter. Sie können ein Modell anhand seines Namens über die API installieren, ohne eine YAML-Datei von Hand zu schreiben.

Terminal — über die API installieren
# Installe un modèle de la galerie (nom d'exemple)
curl http://localhost:8080/models/apply -H "Content-Type: application/json" -d '{
  "id": "localai@qwen2.5-7b-instruct"
}'

# Suivre l'avancement du téléchargement
curl http://localhost:8080/models/jobs

Für vollständige Kontrolle können Sie ein Modell auch manuell in einer YAML-Datei im Ordner /models definieren. Diese Datei beschreibt den Namen, unter dem das Modell über die API verfügbar ist, das Backend und die zu ladende Gewichtsdatei.

models/qwen.yaml
name: qwen2.5-7b
backend: llama-cpp
parameters:
  model: qwen2.5-7b-instruct-q4_k_m.gguf
context_size: 8192
template:
  chat: |
    <|im_start|>system
    {{.SystemPrompt}}<|im_end|>
    {{.Input}}
→
Der Name = das Feld „model“
Der Wert von „name“ in Ihrer YAML-Datei (oder im Galerieeintrag) ist genau der Wert, den Sie im Feld „model“ Ihrer Anfragen übergeben müssen. Er ersetzt „gpt-4o-mini“, wenn Sie eine App migrieren.

#Eine einzige API für Text, Embeddings, Audio und Bilder

Hier hebt sich LocalAI ab. Jede Modalität nutzt den jeweiligen Standard-API-Endpunkt von OpenAI; dafür muss lediglich für jede Modalität das passende Modell installiert sein. Hier sind die vier nützlichsten Bausteine.

Terminal — Chat (Text)
curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
  "model": "qwen2.5-7b",
  "messages": [{"role": "user", "content": "Explique le RAG en une phrase."}]
}'
Terminal — Embeddings (RAG)
curl http://localhost:8080/v1/embeddings -H "Content-Type: application/json" -d '{
  "model": "bert-embeddings",
  "input": "Texte à vectoriser pour ma base vectorielle"
}'
Terminal — Transkription (Whisper)
curl http://localhost:8080/v1/audio/transcriptions \
  -H "Content-Type: multipart/form-data" \
  -F file="@reunion.wav" \
  -F model="whisper-1"
Terminal — Bildgenerierung
curl http://localhost:8080/v1/images/generations -H "Content-Type: application/json" -d '{
  "model": "stablediffusion",
  "prompt": "un phare breton sous la pluie, aquarelle",
  "size": "512x512"
}'
i
Modelle laden kostet VRAM
Text, Embeddings, Whisper und Stable Diffusion gleichzeitig bereitzustellen bedeutet, dass sich ihr Speicherbedarf addiert. LocalAI kann inaktive Modelle aus dem Speicher entladen (idle timeout), um VRAM freizugeben. Auf einer Karte mit 12 GB sollten Sie jedoch speicherintensive Aufgaben lieber abwechselnd ausführen, statt alles gleichzeitig im Speicher zu halten.

#Eine OpenAI-App ohne Änderung des Codes migrieren

Da die Routen und Payloads identisch sind, genügt es bei der Migration einer Anwendung, die Basis-URL anzupassen und die Modellnamen zu ersetzen. Die offiziellen SDKs akzeptieren eine benutzerdefinierte base_url: Das ist der einzige Parameter, der geändert werden muss, unabhängig davon, ob die Anwendung die API von OpenAI, Anthropic oder ElevenLabs anspricht.

Python — mit dem OpenAI-SDK auf LocalAI zugreifen
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",  # au lieu de l'endpoint OpenAI
    api_key="sk-localai",                 # ignorée si l'auth n'est pas activée
)

resp = client.chat.completions.create(
    model="qwen2.5-7b",                    # au lieu de "gpt-4o-mini"
    messages=[{"role": "user", "content": "Bonjour !"}],
)
print(resp.choices[0].message.content)
Node.js – gleicher Ansatz
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:8080/v1",
  apiKey: "sk-localai",
});

const resp = await client.chat.completions.create({
  model: "qwen2.5-7b",
  messages: [{ role: "user", content: "Bonjour !" }],
});
console.log(resp.choices[0].message.content);
Basis-URL
Ersetzen Sie den OpenAI-Endpunkt durch http://votre-hote:8080/v1. Oft genügt eine einfache Umgebungsvariable OPENAI_BASE_URL.
Modellnamen
„gpt-4o“ → der Name Ihres lokalen Modells. Das ist die wichtigste Anpassung, die Sie im Code oder in der Konfiguration vornehmen müssen.
API-Schlüssel
Im lokalen Betrieb optional; geben Sie einen beliebigen Wert ein, falls das SDK ihn verlangt, oder konfigurieren Sie einen echten Schlüssel in LocalAI.
Verhaltensabweichungen
Ein lokales 7B-Modell schlussfolgert nicht wie GPT-4. Passen Sie Ihre Prompts und Erwartungen an, statt von gleicher Qualität auszugehen.

#Fehlerbehebung

Der Container startet beim ersten Start langsam
Die LocalAI-Container-Images und der erste Modell-Download sind groß. Das ist normal; spätere Starts sind schnell, wenn das Volume /models persistent ist.
„model not found“
Der Parameter „model“ in der Anfrage muss exakt dem „name“ in der Galerie oder im YAML entsprechen. Prüfen Sie mit „curl /v1/models“.
Keine GPU-Beschleunigung
Verwenden Sie unbedingt ein Image „-gpu-nvidia-cuda-12“ (oder „-cuda-13“), installieren Sie das NVIDIA Container Toolkit und übergeben Sie „--gpus all“. Aktivieren Sie DEBUG=true, um das tatsächlich ausgewählte Backend zu sehen.
Langsame Antworten oder OOM
Das Modell benötigt mehr VRAM, als Ihnen zur Verfügung steht, und wird teilweise auf CPU und System-RAM ausgelagert. Eine Stufe heruntergehen (Q4_K_M statt Q8_0 oder ein kleineres Modell) oder context_size reduzieren.
Eine Modalität antwortet nicht
Jede Route benötigt das passende Modell: keine Embeddings ohne installiertes Embedding-Modell, kein /audio ohne Whisper-Modell. Installieren Sie den fehlenden Baustein aus der Galerie.

#Weiterführende Informationen

LocalAI ist nur einer der verfügbaren Inferenzserver für Open-Weight-Modelle. Um eine fundierte Entscheidung zu treffen, vergleichen Sie LocalAI mit llama-server (dem HTTP-Server von llama.cpp) und dem Ansatz von Ollama. Optimieren Sie außerdem den Kompromiss zwischen Speicherbedarf und Qualität Ihrer Modelle mithilfe des Leitfadens zur Quantisierung. Schließen Sie anschließend eine Benutzeroberfläche oder eine App über den OpenAI-Endpunkt von LocalAI an.


#FAQ

Ist LocalAI kostenlos?+
Ja, es ist Open Source unter der MIT-Lizenz und lässt sich ohne Lizenzkosten selbst hosten, auch für berufliche oder kommerzielle Zwecke. Die einzigen tatsächlichen Kosten entstehen durch die Hardware, auf der die Modelle laufen, und den verbrauchten Strom, wie bei jedem lokalen Inferenzserver, den Sie selbst betreiben.
Unterstützt LocalAI auch andere APIs als die von OpenAI?+
Ja, seit den neueren Versionen. Die „Drop-in“-Kompatibilität deckt inzwischen auf jedem Backend neben OpenAI auch die APIs von Anthropic und ElevenLabs ab. Dadurch steigt die Zahl der Anwendungen deutlich, die sich daran anbinden lassen, ohne ihren bestehenden Client-Code neu zu schreiben – einschließlich Tools, die ursprünglich speziell für diese Cloud-Anbieter entwickelt wurden.
Welche Unterschiede gibt es zwischen LocalAI und Ollama?+
Beide stellen über llama.cpp eine OpenAI-kompatible API für Text bereit und sind einfach zu bedienen. LocalAI geht deutlich weiter: mehr als 60 Backends, Embeddings, Audio, Bilder, Video, Agenten mit MCP und RAG sowie ein Mehrbenutzermodus. Dafür ist die Konfiguration umfangreicher als bei Ollama.
Ist LocalAI standardmäßig sicher, wenn es über das Internet zugänglich gemacht wird?+
Nein, nach der Installation lauscht die API standardmäßig ohne verpflichtende Authentifizierung. Das Projekt bietet inzwischen eine Authentifizierung per API-Schlüssel, Kontingente und eine rollenbasierte Zugriffskontrolle, doch diese Funktionen müssen ausdrücklich aktiviert werden. Ohne diese Aktivierung sollten Sie LocalAI immer hinter einem Reverse-Proxy oder einem VPN betreiben.
Ist eine GPU für LocalAI erforderlich?+
Nein, LocalAI läuft auch allein auf der CPU, lediglich die Inferenz ist langsamer. Eine GPU von NVIDIA, AMD oder Intel oder eine Apple-Silicon-GPU (über Metal) beschleunigt die Verarbeitung deutlich; das Projekt unterstützt diese vier Hardwarefamilien sowie Vulkan als generische, herstellerübergreifende Ausweichlösung und Jetson L4T für NVIDIA-Embedded-Systeme.

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.