Pourquoi les applications LLM nécessitent une observabilité dédiée
Les outils d’APM traditionnels (Datadog, New Relic) capturent la latence HTTP et les taux d’erreur, mais ils sont aveugles à ce qui se passe à l’intérieur d’un appel LLM. Une réponse qui arrive en 800 ms peut malgré tout être factuellement fausse, vague au point d’être inutile, ou trois fois plus coûteuse que celle de la veille parce qu’une régression de prompt est passée entre les mailles de la revue de code. Langfuse résout ce problème en traitant chaque interaction LLM comme une trace structurée : il enregistre le prompt complet (y compris le message système et l’historique de conversation), la complétion, le modèle utilisé, le décompte de tokens, la ventilation de la latence par span, ainsi que tous les scores d’évaluation que votre équipe y attache. Vous pouvez ensuite filtrer, comparer et reproduire n’importe quelle trace, individuellement ou de façon agrégée.
Ce que Langfuse vous offre d’emblée
- Traçage LLM full-stack : prompt, complétion, latence, coût et nombre de tokens — y compris les spans imbriqués pour les chaînes d’agents (LangChain, LlamaIndex, Dify).
- Hub de gestion des prompts : versionnez vos prompts, préparez des variantes, faites des tests A/B en production et promouvez la gagnante sans déploiement de code.
- Framework d’évaluation : lancez du LLM-as-a-judge, des files d’annotation humaine ou des fonctions de scoring personnalisées sur n’importe quelle trace ou dataset.
- Analytique des coûts : suivez la consommation de tokens par modèle, endpoint, utilisateur et session — changez de fournisseur en vous appuyant sur des données concrètes, pas sur des suppositions.
- Gestion des datasets : capturez les traces de production comme jeux de tests de référence pour l’évaluation hors ligne et la détection de régressions.
- SDK natif pour Python et TypeScript, plus une intégration automatique avec LiteLLM, LangChain, LlamaIndex, Dify, Haystack et VercelAI.
Sur quoi tourne Langfuse (et pourquoi il lui faut 4 Go de RAM)
Langfuse v3 se présente comme une stack Docker Compose à six services : langfuse (frontend Next.js + API), langfuse-worker (tâches d’arrière-plan et évaluations), postgres (état de l’application), clickhouse (analytique des traces — stockage en colonnes optimisé pour les séries temporelles à forte cardinalité), redis (file d’attente et cache) et minio (stockage d’objets compatible S3 pour les pièces jointes média). ClickHouse justifie le minimum de 4 Go : son compilateur JIT et son moteur d’exécution vectorielle ont besoin de marge. Sur un VPS peu sollicité, la stack complète tourne au repos autour de 1,5–2 Go ; sous une charge de production modérée, prévoyez 4 Go, et 8 Go pour un traçage soutenu à haut débit. Les six services démarrent d’un seul docker compose up -d et sont gérés par AWX dans le flux en un clic de ServOrbit.
Déployer Langfuse sur votre VPS en six étapes
Commandez un VPS Power (8 GB de RAM)
Langfuse réclame au moins 4 Go de RAM : au catalogue, le premier plan qui les dépasse est le VPS Power (4 vCPU, 8 GB), à installer sous Ubuntu 24.04 — de quoi absorber aussi un trafic de production permanent. Choisissez un domaine ou sous-domaine que vous contrôlez — les cookies de session NextAuth de Langfuse exigent un véritable domaine en HTTPS.
Installation en un clic depuis le Marketplace
Ouvrez votre panneau de contrôle ServOrbit, allez dans Marketplace → Intelligence Artificielle → Langfuse, puis cliquez sur Déployer. Saisissez votre domaine lorsque cela vous est demandé. Docker Compose télécharge les six images et les démarre ; l’interface web est prête sur le port 3000 en 60 à 90 secondes (l’initialisation de ClickHouse au premier démarrage est la plus longue).
Ouvrez l’interface web et créez votre premier projet
Rendez-vous sur
https://votre-domaine.com. Langfuse affiche l’écran d’inscription au premier démarrage. Créez votre compte administrateur, puis allez dans Paramètres → Projets → Créer un projet. Copiez la Clé publique et la Clé secrète depuis les paramètres du projet — vous en aurez besoin dans votre application.Instrumentez votre application Python ou TypeScript
En Python :
pip install langfuse, définissezLANGFUSE_HOST=https://votre-domaine.com,LANGFUSE_PUBLIC_KEYetLANGFUSE_SECRET_KEY, puis décorez vos appels LLM avec@observe()ou utilisezlangfuse.trace(). En TypeScript :npm install langfuse, initialisez le client avec votre host et vos clés. Les traces apparaissent dans le tableau de bord quelques secondes après le premier appel.Activez le traçage automatique si vous utilisez LiteLLM
Si LiteLLM fait déjà partie de votre stack (ce qui est probable si vous utilisez la stack IA de ServOrbit), ajoutez
success_callback = ["langfuse"]àlitellm_config.yamlet définissez les trois variables d’environnement Langfuse. Chaque appel LLM relayé par le proxy — sur l’ensemble des modèles en aval — est tracé automatiquement, avec les données de coût et de tokens jointes.Lancez votre première évaluation
Allez dans Traces, filtrez un échantillon représentatif, cliquez sur « Ajouter au dataset ». Ouvrez Datasets → votre dataset → Lancer l’évaluation, choisissez le LLM-as-a-judge avec un modèle de prompt (« Évaluez la pertinence de cette réponse sur une échelle de 1 à 5 »), puis validez. Les scores apparaissent sur chaque trace de l’ensemble et alimentent le tableau de bord analytique agrégé.
Se connecter la première fois
L'URL ouvre l'écran Langfuse avec un lien « Sign up » : créez votre compte, puis votre organisation et votre premier projet dans l'assistant.
Associez-le à LiteLLM pour une visibilité complète sur les coûts de l’IA
La stack IA de ServOrbit inclut déjà LiteLLM comme passerelle compatible OpenAI. Connectez Langfuse à LiteLLM avec trois variables d’environnement et vous obtenez une vue d’ensemble complète : LiteLLM applique les limites de débit et route entre les fournisseurs ; Langfuse enregistre chaque trace avec le prompt complet, la complétion, le modèle, les tokens et le coût. Ensemble, ils vous offrent une couche d’opérations IA privée et auditable — pas d’intermédiaire SaaS, aucune donnée qui quitte votre infrastructure.
Coûts LLM affichés à $0.00 dans la vue Tracing v4 — ce qui se passe et comment contourner
Un problème actif affecte la vue Tracing v4 de Langfuse (signalé dans l’issue #16077, 14 commentaires en août 2026) : la colonne Cost ($) affiche systématiquement $0.00 pour toutes les traces.
La cause est structurelle. La vue v4 lit le coût porté par l’observation racine de chaque trace, qui est de type SPAN — un span n’a pas de coût propre, il ne fait qu’encapsuler des générations enfants. Le coût réel est distribué sur les observations de type GENERATION enfantes, mais la vue ne les agrège pas : elle lit la racine, trouve zéro, et affiche zéro.
Vos données sont intactes. Le coût est bien enregistré sur chaque génération ; seul l’affichage de la vue principale est faux. Trois contournements fonctionnent en attendant le correctif officiel :
1. Onglet Analytics / Metrics — la vue agrégée calcule les coûts sur l’ensemble des générations, pas sur la racine. C’est la source fiable pour suivre votre consommation quotidienne ou par modèle.
2. Filtrer par type GENERATION dans Traces — ajoutez le filtre observation_type = GENERATION dans la vue Traces. Vous ne voyez plus les traces parentes, mais chaque ligne affiche son coût réel.
3. Ouvrir le détail d’une trace — le panneau latéral affiche la ventilation complète par span et génération, avec les coûts corrects. Utile pour diagnostiquer une trace précise.
Si vous observez ce comportement sur votre instance, vérifiez que vous êtes bien sur Langfuse v3.x avec Tracing v4 activé. L’issue est ouverte et suivie par l’équipe Langfuse.
Langfuse vs Langsmith vs Helicone
Langsmith (le produit hébergé de LangChain) et Helicone sont les principales alternatives SaaS. Les deux sont excellents — et tous deux vous imposent de faire transiter vos traces par leurs serveurs. Pour les équipes qui manipulent des prompts sensibles (juridiques, financiers, médicaux), ou pour les environnements de conformité qui interdisent toute sortie de données vers un tiers, l’auto-hébergement n’est pas une option. Langfuse vous offre le même ensemble de fonctionnalités (traçage, évaluations, gestion des prompts, analytique des coûts) sur une infrastructure que vous maîtrisez. La licence MIT signifie aussi que vous pouvez lire, modifier et auditer chaque ligne du code par lequel transitent vos traces.