Image de couverture : LLM Observability dans Laravel : tracez chaque appel IA avec Langfuse
tech

LLM Observability dans Laravel : tracez chaque appel IA avec Langfuse

08 April 2026
5 min de lecture
3 vues
Sébastien Muler

Vous volez à l'aveugle en production

Vous avez intégré des fonctionnalités IA dans votre application Laravel — un agent, un pipeline RAG, des appels LLM — et tout fonctionne en local. Puis ça part en production. Et là, les questions commencent : combien coûtent mes appels d'hier ? Quel prompt est lent ? Mes réponses RAG sont-elles vraiment pertinentes ?

Si vous ne pouvez pas répondre à ces questions, vous n'êtes pas seul. C'est exactement le constat qu'a fait Martijn van Nieuwenhoven, développeur Laravel, avant de construire un package dédié. Son article, publié sur DEV Community, est le point de départ de ce mini-tutoriel.

L'écosystème Laravel AI en 2026

Depuis le lancement officiel du Laravel AI SDK en février 2026, l'IA est devenue une préoccupation de premier plan dans le framework. Construit sur Prism — devenu la référence pour les appels LLM en Laravel — et complété par Neuron AI pour les workflows agentiques, l'écosystème est mature côté développement.

Côté observabilité en revanche, PHP et Laravel accusaient un retard significatif. Les développeurs Python et JavaScript disposaient depuis des années d'outils comme Langfuse, LangSmith ou Arize Phoenix. Côté Laravel : rien d'équivalent.

C'est ce vide que comble l'intégration Langfuse pour Laravel.

Langfuse : le "Sentry pour vos appels LLM"

Langfuse est une plateforme open-source d'observabilité LLM. Elle vous donne une visibilité complète sur ce qui se passe réellement dans vos features IA :

  • Tracing : chaque appel LLM, étape de retrieval, invocation d'outil et action d'agent, organisés dans une timeline imbriquée
  • Cost tracking : consommation de tokens et coûts par modèle, par utilisateur, par trace
  • Prompt management : versionning, déploiement et A/B testing de vos prompts depuis une interface centralisée
  • Evaluation : attachez des scores à vos traces, lancez des évaluations LLM-as-a-judge ou collectez du feedback utilisateur

Langfuse peut être utilisé en SaaS (cloud hébergé) ou self-hosted via Docker — un avantage non négligeable pour les projets avec des contraintes de confidentialité des données.

Mise en place : les étapes clés

1. Installation du package

Le package s'installe via Composer et s'intègre directement avec Prism via son système de middleware/telemetry :

composer require axyr/laravel-langfuse

Ajoutez ensuite vos clés API Langfuse dans le .env :

LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://cloud.langfuse.com

2. Activer le tracing sur vos appels Prism

Le package s'appuie sur le système de telemetry de Prism. Une fois configuré, chaque appel LLM effectué via Prism génère automatiquement une trace dans Langfuse, sans modifier votre code métier.

Pour un appel standard, le trace capture : le modèle utilisé, les tokens consommés (input/output), la latence, le prompt envoyé et la réponse reçue.

3. Enrichir vos traces

Pour tirer le meilleur parti de l'outil, enrichissez vos traces avec du contexte métier :

use Axyr\LaravelLangfuse\Facades\Langfuse;

Langfuse::trace(
    name: 'rag-query',
    userId: (string) auth()->id(),
    metadata: ['query' => $userQuery, 'source' => 'chatbot']
);

Cela permet de filtrer et analyser les traces par utilisateur ou par fonctionnalité dans le dashboard Langfuse.

4. Pièges à éviter

Ne tracez pas tout en synchrone en production. L'envoi des traces vers l'API Langfuse doit être asynchrone pour ne pas impacter la latence de vos endpoints. Vérifiez que le package utilise bien une queue Laravel ou un mécanisme non-bloquant.

Attention aux données sensibles dans les prompts. Langfuse trace le contenu des messages. Si vos prompts contiennent des données personnelles, configurez des règles de masquage ou optez pour une instance self-hosted.

Ne confondez pas tokens et coûts réels. Le cost tracking de Langfuse s'appuie sur des grilles tarifaires configurables. Vérifiez que les prix correspondent bien aux modèles et aux contrats que vous utilisez — les tarifs varient selon les régions et les accords négociés.

Structurez vos noms de traces dès le départ. Adopter une convention de nommage cohérente (feature/action par exemple) vous évitera un dashboard illisible après quelques semaines en production.

Ce que ça change concrètement

Une fois Langfuse en place, vous passez d'un mode "espoir" à un mode pilotage :

  • Vous identifiez les prompts coûteux et les optimisez en priorité
  • Vous détectez les appels lents et isolez les goulots d'étranglement
  • Vous mesurez la qualité des réponses RAG avec des évaluateurs automatiques
  • Vous comparez les versions de prompts avec des données réelles de production

Pour une application en production qui fait des dizaines ou centaines d'appels LLM par jour, la différence entre naviguer à l'aveugle et avoir ces métriques peut représenter des centaines d'euros d'économies mensuelles.

Conclusion

L'observabilité n'est pas un "nice to have" pour les features IA — c'est une nécessité dès que vous sortez du mode expérimental. Le package présenté par Martijn van Nieuwenhoven comble un manque réel dans l'écosystème Laravel et mérite une place dans la stack de tout projet utilisant des LLMs en production.

Si vous utilisez déjà Prism pour vos appels LLM, l'intégration est rapide. Si vous êtes encore en train d'évaluer votre stack IA Laravel, c'est le bon moment pour inclure l'observabilité dans votre architecture dès le départ — pas en rattrapage.

📖 Article source : LLM Observability for Laravel — trace every AI call with Langfuse par Martijn van Nieuwenhoven sur DEV Community.

Partager cet article