Mittelstufe 13 minAndere Tools

Langfuse: Ihre lokalen LLMs überwachen (Traces, Prompts, Evaluationen)

Direkte Antwort

Langfuse ist eine Observability-Plattform für LLM-Anwendungen, die unter der MIT-Lizenz als Open Source verfügbar ist (Hauptrepository, ausgenommen die Verzeichnisse „ee“), sich mit Docker Compose in wenigen Minuten selbst hosten lässt und mehr als 35.000 Sterne auf GitHub hat. Sie zeichnet den exakten Prompt auf, der an das Modell gesendet wird, dessen Antwort, die Dauer jedes Schritts und, sofern ein Preis festgelegt ist, dessen Kosten: So lässt sich eine schlechte Antwort bis zu ihrer Ursache zurückverfolgen.

Eine LLM-basierte Anwendung versagt anders als klassische Software: Nichts stürzt ab, die Antwort ist einfach schlechter als gestern. Ohne Aufzeichnung dessen, was an das Modell gesendet wurde und was es geantwortet hat, tappt man bei der Fehlersuche im Dunkeln. Langfuse ist eine eigens dafür entwickelte Observabilitätsplattform, die quelloffen ist und selbst gehostet werden kann. Damit passt sie zu einer lokalen Installation: Die Aufzeichnungen Ihrer Gespräche bleiben bei Ihnen.

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

#Warum ein lokales LLM beobachten?

Langfuse ist eine Observability-Plattform für LLM-Anwendungen, deren Hauptrepository unter der MIT-Lizenz steht. Sie lässt sich selbst hosten, damit die Traces Ihrer Gespräche bei Ihnen bleiben. Für jede Anfrage zeichnet sie den tatsächlich an das Modell gesendeten Prompt, die Antwort, die Dauer jedes Schritts und, sofern ein Preis festgelegt ist, die Kosten auf. Damit lässt sich feststellen, warum eine Antwort schlecht ist: eine abgerufene Passage, die am Thema vorbeigeht, ein anderer Prompt als der, den Sie vermutet hatten, oder ein Versagen des Modells. Sie wird nützlich, sobald eine zweite Person auf das Ergebnis angewiesen ist oder die Verarbeitungskette mehrere Schritte umfasst; für die alleinige explorative Nutzung genügt eine Protokolldatei. Rechnen Sie mit einem Stack aus mehreren Containern (Webserver, Worker, PostgreSQL, ClickHouse, Redis, Objektspeicher) und für den Produktionsbetrieb mit Kubernetes statt Docker Compose.

Wenn eine Antwort enttäuscht, kommen drei Ursachen infrage, von denen nur eine ohne Instrumentierung sichtbar ist: Der endgültige Prompt, der an das Modell gesendet wurde, war nicht der, für den Sie ihn hielten, die bei der Dokumentensuche abgerufenen Passagen waren nicht relevant oder das Modell selbst ist gescheitert. Ohne Aufzeichnung ändert man den Prompt aufs Geratewohl, bis es besser wird, ohne jemals zu wissen, warum.

Das Argument gilt lokal genauso wie online, mit einem Unterschied: Die Rechnung dient nicht mehr als Warnsignal. Niemand erhält eine Abrechnung, wenn eine Kette von Agenten auf Ihrer eigenen Grafikkarte in eine Endlosschleife gerät; stattdessen machen sich Latenz und Wärmeentwicklung bemerkbar. Observability ersetzt dieses Preissignal durch Messwerte: Tokenanzahl, Dauer, Fehlerrate, Qualität.

#Was Langfuse protokolliert

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

Das Projekt beschreibt sich selbst als Open-Source-Plattform für Agentenevaluierung und Observability: LLM-Anwendungen auf einer einzigen offenen Plattform nachverfolgen, evaluieren und verbessern. Seine SDKs für Python (Version 4) und JS/TS (Version 5) basieren auf OpenTelemetry, und auch andere Sprachen können ihre Traces über dieses Protokoll senden. Das Hauptrepository hat mehr als 35.000 Sterne auf GitHub. Laut seinem README gehört Langfuse seit Januar 2026 zu ClickHouse, und ClickHouse ist zugleich die Datenbank, in der die Traces gespeichert werden.

Traces
Der vollständige Ablauf einer Benutzeranfrage: jeder Schritt in der richtigen Reihenfolge mit seiner Dauer. Das ist die Grundeinheit.
Beobachtungen
Innerhalb eines Traces: die Modellaufrufe mit ihrem exakten Prompt und ihrer Antwort, die Schritte zum Abrufen von Dokumenten, die Tool-Aufrufe.
Sitzungen und Benutzer
Die Gruppierung der Protokolldaten je nach Konversation und Benutzer, um einen Nutzungsverlauf anstatt einen isolierten Aufruf zu verfolgen.
Punktzahlen
Eine Bewertung, die einer Trace zugeordnet ist: ein Daumen hoch von einem Benutzer, das Ergebnis einer automatischen Evaluation oder eine manuelle Annotation.
Prompts
Versionierte Prompt-Vorlagen, die die Anwendung zur Laufzeit abruft, statt sie fest im Code zu hinterlegen.
Kosten
Langfuse berechnet Kosten anhand einer Modelldefinition, die jeder Nutzungsart einen Preis zuordnet. Solche Definitionen stellt Langfuse für Modelle von OpenAI, Anthropic und Google bereit. Für ein lokales Modell gibt es keinen Preis, solange Sie keinen hinzufügen: Ohne Definition sollten Sie in der Benutzeroberfläche keine Kosten erwarten, oder Sie legen einen fiktiven Preis fest, um Stromkosten und Abschreibung abzubilden.

#Auf der eigenen Infrastruktur installieren

Langfuse lässt sich mit Docker Compose selbst hosten. Das README nennt einen Start in fünf Minuten; die Bereitstellungsdokumentation rechnet mit zwei bis drei Minuten, bis der Webcontainer „Ready“ anzeigt. Der Stack besteht nicht nur aus einem Container: Er umfasst zwei Anwendungscontainer (den Webserver, der die Benutzeroberfläche und die API bereitstellt, und einen Worker, der Ereignisse asynchron verarbeitet) sowie vier Speicherkomponenten: PostgreSQL für Transaktionsdaten, ClickHouse für Traces, Beobachtungen und Scores, Redis oder Valkey für die Warteschlange und den Cache sowie einen S3-kompatiblen Objektspeicher, der alle eingehenden Ereignisse aufbewahrt. Das ist aufwendiger als ein einfaches Dashboard und ergibt sich aus den Anforderungen: viele Ereignisse aufnehmen, ohne einen Trace zu verlieren, selbst wenn die Datenbank vorübergehend nicht verfügbar ist.

i
Wo die Grenze zwischen freier und kostenpflichtiger Software verläuft
Das Hauptrepository wird unter der MIT-Lizenz veröffentlicht, mit Ausnahme der Ordner „ee“ (Enterprise-Edition). Die Dokumentation weist darauf hin, dass bestimmte Zusatzfunktionen einen Lizenzschlüssel erfordern. Ein konkretes Beispiel ist die Richtlinie zur automatischen Datenaufbewahrung: Sie ist in der selbst gehosteten Open-Source-Edition nicht verfügbar; dort werden die Daten standardmäßig auf unbestimmte Zeit gespeichert. Da sich die Aufteilung der Funktionen zwischen den Editionen mit den Versionen verändert, prüfen Sie die offizielle Dokumentation, bevor Sie Ihre Planung auf eine bestimmte Funktion stützen.

Zwei Einschränkungen sollten Sie kennen, bevor Sie die Software neben einem Modell installieren. Erstens ist Docker Compose laut Dokumentation zum Ausprobieren gedacht: Diese Konfiguration bietet weder Hochverfügbarkeit noch Skalierung noch Backups; für den Produktionsbetrieb empfiehlt die Dokumentation Kubernetes mit Helm. Zweitens empfiehlt sie für eine virtuelle Maschine mindestens 4 Kerne, 16 GiB Arbeitsspeicher und 100 GiB Speicherplatz. Auf einem Rechner, der bereits ein Modell bereitstellt, sind diese Größenordnungen wichtig: Ein Observability-Stack, der einen Teil des für das Modell benötigten Arbeitsspeichers beansprucht, tut dies zum ungünstigsten Zeitpunkt. Ändern Sie schließlich die mit CHANGEME gekennzeichneten Secrets in der Datei docker-compose.yml: Es gibt kein Standardkonto; das erste Benutzerkonto wird über die Schaltfläche Sign up unter http://localhost:3000 erstellt.

Terminal
git clone --depth=1 https://github.com/langfuse/langfuse.git
cd langfuse
# Éditer docker-compose.yml : remplacer chaque secret marqué CHANGEME
docker compose up
# Après 2 à 3 minutes, le conteneur web affiche « Ready » : ouvrir http://localhost:3000
Drei Möglichkeiten zur Protokollierung, von der einfachsten bis zur umfassendsten
LösungWas geboten wirdIhre Grenzen
Selbst erstellte LogdateiKeine Installation erforderlich, sofortiger StartKeine Struktur: Ein Toolaufruf lässt sich nicht der endgültigen Antwort zuordnen, ohne die gesamte Datei erneut zu lesen
Langfuse selbst gehostetStrukturierte Traces, versionierte Prompts, Scores – alles bleibt lokalEin Stack aus mehreren Containern, die betrieben und gesichert werden müssen
Online-Plattform für ObservabilityKeine Installation erforderlich, automatische AktualisierungPrompts und Antworten werden über einen Drittanbieter geleitet, was dem Grundgedanken einer lokalen Installation widerspricht.

#An Ollama oder vLLM anbinden

Langfuse ist kein Inferenzserver und schaltet sich nicht in den Datenverkehr ein: Ihre Anwendung sendet die Traces an Langfuse. Das Projekt dokumentiert drei konkrete Wege, je nachdem, wie Sie Ihr Modell aufrufen, sowie eine eigene Seite zu Ollama, deren Beispiel das OpenAI-SDK verwendet: Ollama stellt unter http://localhost:11434/v1 eine OpenAI-kompatible API bereit, und Langfuse bietet einen direkten Ersatz für dieses SDK, bei dem lediglich der Import geändert werden muss. Auch für vLLM gibt es eine Seite.

  1. 01
    Über das SDK in Ihrem Code
    Sie dekorieren die Funktionen, die den Modellaufruf auslösen. Dies ist der klarste und genaueste Ansatz, da Sie bestimmen, was aufgezeichnet wird.
  2. 02
    Durch eine Framework-Integration
    Eine automatische Instrumentierung ist für einen direkten Ersatz des OpenAI-SDK, für einen an eine LangChain-Anwendung angebundenen Callback-Handler und für das Callback-System von LlamaIndex verfügbar: Die Traces werden übertragen, ohne die Geschäftslogik zu ändern.
  3. 03
    Über ein API-Gateway
    Wenn Ihre Anfragen bereits über einen OpenAI-kompatiblen Router geleitet werden, erfolgt die Instrumentierung auf dieser Ebene und deckt alle Anwendungen gleichzeitig ab.

In allen drei Fällen müssen Sie prüfen, ob der tatsächlich übermittelte Prompt aufgezeichnet wird und nicht nur die Frage des Benutzers: Genau der Unterschied zwischen beiden erklärt die meisten schlechten Antworten eines Systems zur Dokumentensuche. Mit Ollama setzt die unten gezeigte Konfiguration LANGFUSE_BASE_URL auf Ihre selbst gehostete Instanz (http://localhost:3000) und definiert Ihren öffentlichen und Ihren geheimen Schlüssel als Umgebungsvariablen.

Python: einen Ollama-Aufruf nachverfolgen
# pip install langfuse openai
# Variables d'environnement : LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY,
# LANGFUSE_BASE_URL=http://localhost:3000
from langfuse.openai import OpenAI  # remplace : from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama',  # requis mais inutilisé
)
reponse = client.chat.completions.create(
    model='llama3.1',
    messages=[{'role': 'user', 'content': 'Bonjour !'}],
)

#Prompts verwalten und versionieren

Prompts aus dem Code auszulagern ist der Vorteil, den Teams zuerst bemerken. Laut README ermöglicht ein robuster Cache auf Server- und Clientseite, Prompts schrittweise zu überarbeiten, ohne die Latenz der Anwendung zu erhöhen. Die Vorlage liegt in Langfuse, die Anwendung ruft sie zur Laufzeit ab, und jede Änderung erzeugt eine Version. Eine Formulierung zu korrigieren erfordert keine erneute Bereitstellung mehr. Vor allem zeigt der Trace, welche Version welche Antwort erzeugt hat: Wenn die Qualität nach einer Änderung sinkt, weiß man, welche Änderung dafür verantwortlich ist, ohne separate Bereitstellungsprotokolle miteinander abgleichen zu müssen.

!
Planen Sie den ersten Aufruf
Laut Dokumentation speichern die SDKs Prompts im Cache: Nach der ersten Nutzung gibt es weder zusätzliche Latenz noch ein Verfügbarkeitsrisiko, und ein abgelaufener Prompt wird weiterhin ausgeliefert, während er im Hintergrund erneut validiert wird. Der Schwachpunkt ist der erste Aufruf, der Langfuse erreichen muss. Laden Sie die Prompts beim Start vor und definieren Sie einen Fallback-Prompt, eine von den SDKs vorgesehene Option: Eine Observability-Plattform darf niemals den Produktionsbetrieb zum Stillstand bringen können.

#Testdatensätze und Bewertung

Traces aus dem tatsächlichen Betrieb fließen in Testdatensätze ein: Sie markieren interessante Fälle – vor allem Fehlschläge –, und diese bilden eine Sammlung, anhand derer Sie eine neue Prompt-Version oder ein anderes Modell erneut testen können. So lässt sich die Frage „Reicht das Modell mit 14 Milliarden Parametern aus?“ fundiert beantworten, statt nur darüber zu diskutieren.

Die Bewertungen stammen aus verschiedenen Quellen: von Nutzern, aus menschlichen Annotationen in der Benutzeroberfläche, von codebasierten Evaluatoren oder von einem Modell, das die Antwort eines anderen anhand eines Bewertungsrasters beurteilt — die sogenannte LLM-as-a-judge-Methode, die Langfuse nativ unterstützt. Für den letzten Fall muss eine LLM-Verbindung eingerichtet werden. Laut Dokumentation eignet sich jedes Modell, das dem Schema der OpenAI-API folgt, wenn die Basis-URL entsprechend ersetzt wird: Ein lokales Modell, das über Ollama bereitgestellt wird, kann daher als Bewerter dienen, sofern seine Adresse vom Langfuse-Container aus erreichbar ist. Die Methode ist nützlich und weist Verzerrungen auf: Die Autoren des Referenzartikels zu diesem Thema (arXiv 2306.05685) beschreiben Verzerrungen durch die Position, die Ausführlichkeit und die Bevorzugung eigener Antworten. Zugleich messen sie eine Übereinstimmung von über 80 % zwischen einem Bewerter vom Typ GPT-4 und menschlichen Präferenzen. Die Methode dient dazu, zwei Versionen zu vergleichen, nicht dazu, eine absolute Note zu vergeben.

Ein auf die Bewertung von RAG spezialisiertes Werkzeug wie Ragas ergänzt Langfuse, statt es zu ersetzen: Langfuse erfasst den Trace und speichert den Score, Ragas berechnet spezifische Metriken – Kontexttreue und Relevanz der Antwort –, die Langfuse anschließend wie jeden anderen einem Trace zugeordneten Score anzeigen kann.

#Konkrete Anwendungsfälle

Support-Assistent mit RAG
Eine Antwort, die am Thema vorbeigeht, lässt sich anhand des Traces nachvollziehen: War die abgerufene Passage relevant, oder hat das Modell eine korrekte Passage ignoriert? Der Trace zeigt, welche der beiden Hypothesen zutrifft.
Agent, der Tools aufruft
Bei einer Kette mit mehreren Schritten — Recherche, Berechnung, Texterstellung — zeigt der Trace, welcher Schritt fehlgeschlagen ist, statt Sie bei einem Fehlschlag der gesamten Kette ohne Details im Unklaren zu lassen.
Vergleich zweier Modelle vor der Entscheidung
Denselben Testsatz zuerst mit einem Modell mit 8 Milliarden und dann mit einem Modell mit 27 Milliarden Parametern erneut durchlaufen zu lassen, liefert einen Qualitätswert und eine Laufzeit statt eines bloßen Eindrucks.
Überwachung einer Regression nach einem Update
Ein Versionswechsel von Prompt oder Modell, der die Qualität verschlechtert, wird in den aggregierten Bewertungen sichtbar, bevor ein Benutzer sich darüber beschwert.

Diese Fälle haben eines gemeinsam: Keiner lässt sich durch erneutes Lesen des Codes lösen. Die Ursache einer schlechten Antwort liegt in den Daten, die verarbeitet wurden – dem exakten Prompt, den abgerufenen Passagen und der erzeugten Antwort. Diese Daten sind nirgendwo sonst vorhanden, wenn sie nicht zum Zeitpunkt des Aufrufs aufgezeichnet wurden. Genau das spricht dafür, Observability schon vor der Inbetriebnahme einzurichten, statt erst nach dem ersten Vorfall.

#Was es kostet und was es nicht tut

Das macht ein Modell nicht besser
Die Beobachtbarkeit misst, sie korrigiert jedoch nichts. Sie zeigt Ihnen, wo Sie suchen sollten.
Das speichert Ihre Chats
Auch beim Self-Hosting werden die Inhalte der Prompts auf dem Datenträger gespeichert, und ohne eine Aufbewahrungsrichtlinie (eine Funktion der Enterprise-Edition) bleiben die Daten unbegrenzt gespeichert. Die SDKs bieten dagegen Maskierungsfunktionen (Masking), um sensible Daten vor dem Versand der Traces zu entfernen.
Dieser Stack muss gewartet werden
Backups, Updates, Migrationen: Die Dokumentation weist selbst darauf hin, dass Docker Compose keine Backup-Funktion bietet. Für persönliche Experimente ist dieser Aufwand unverhältnismäßig.
Oft kommt das erst spät
Der richtige Zeitpunkt für die Installation ist vor der Inbetriebnahme, nicht erst nach dem ersten unbemerkten Ausfall.
→
Klein anfangen
Sie müssen nicht gleich am ersten Tag die gesamte Anwendung instrumentieren. Langfuse nur an der Aufrufstelle des finalen Modells anzubinden, das die an den Benutzer gesendete Antwort erzeugt, liefert bereits einen nützlichen Überblick. Die Zwischenschritte — Datenabruf und Tools — kommen später hinzu, sobald sich das Team angewöhnt hat, die Traces täglich anzusehen.

#FAQ

Ist Langfuse kostenlos?+
Das Hauptrepository ist mit Ausnahme der Ordner „ee“ unter der MIT-Lizenz quelloffen und lässt sich kostenlos selbst hosten. Das Projekt hat mehr als 35.000 Sterne auf GitHub. Einige zusätzliche Funktionen erfordern einen Lizenzschlüssel, beispielsweise die automatische Datenaufbewahrung. Die vom Anbieter gehostete Version bietet eine kostenlose Stufe und kostenpflichtige Angebote. Die Aufteilung zwischen diesen Angeboten verändert sich: Lesen Sie die offizielle Dokumentation, bevor Sie Ihre Planung darauf aufbauen.
Funktioniert es mit einem lokalen Modell?+
Ja. Langfuse ist modellunabhängig: Es protokolliert, was Ihre Anwendung an Langfuse sendet, nicht das, was im Inneren des Modells passiert. Ollama, vLLM, llama.cpp oder ein OpenAI-kompatibles Gateway eignen sich alle, solange der Aufruf über eine instrumentierte Stelle erfolgt – SDK, Framework oder Gateway. Das Modell selbst benötigt keinerlei Änderungen, um auf diese Weise beobachtet zu werden.
Werden meine Prompts ins Internet übertragen?+
Beim Self-Hosting nicht: Die Traces werden in Ihre eigene Datenbank auf Ihrem eigenen Rechner oder Server geschrieben, ohne einen Drittanbieterdienst zu durchlaufen. Genau darin liegt der Vorteil dieser Option für eine lokale Installation. Die vom Anbieter gehostete Version hingegen empfängt diese Daten auf dessen Infrastruktur – eine andere Wahl, die Sie bewusst treffen müssen.
Welche Unterschiede gibt es zu klassischen Logs?+
Eine Logdatei speichert Textzeilen ohne explizite Verknüpfungen zwischen ihnen. Langfuse speichert die Struktur: welcher Schritt welchen anderen aufgerufen hat, wie lange er gedauert hat, mit welchen Tokens und mit welcher Bewertung. Diese Struktur ermöglicht es, eine schlechte Antwort auf ihre genaue Ursache zurückzuführen, statt eine Textdatei von Hand zu durchsuchen.
Ist eine GPU für Langfuse erforderlich?+
Nein. Es handelt sich um eine klassische Webanwendung und eine Datenbank, die problemlos auf der CPU laufen, auch auf einem einfachen Rechner ohne dedizierte Grafikkarte. Die GPU wird für das überwachte Modell benötigt, das separat läuft – auf demselben Rechner oder einem anderen Server. Für Langfuse spielt das keine Rolle, solange die Traces korrekt ankommen.
Kann ein RAG mit Langfuse bewertet werden?+
Direkt: nein. Langfuse erfasst und speichert Scores, berechnet aber selbst keine Metriken für Kontexttreue oder Relevanz. Es lässt sich mit einem spezialisierten Tool wie Ragas kombinieren, das die Metrik aus den abgerufenen Passagen und der Antwort erzeugt; Langfuse zeigt sie anschließend wie jeden anderen Score an einem Trace an, neben dem Nutzerfeedback.
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.