04 Monitoring
Guide du participant : 04 Monitoring
Le contenu du workshop est maintenu dans le dépôt public langfuse/langfuse-workshop. Utilisez ce dépôt pour exécuter l’application, accéder aux branches de checkpoint et effectuer la configuration locale.
Guide du participant : 04 Monitoring
Notes pour le formateur
- Ce chapitre reste centré sur l’interface, mais mélange deux types d’évaluateurs : LLM-as-a-judge pour les signaux sémantiques et code evaluator pour un signal déterministe de frustration.
- Terminez par le chargement de données : lorsque les monitors sont actifs,
npm run langfuse:seed:otel:no-scoresenvoie au projet un lot réaliste de traficproduction, avec des cas hors périmètre, en majuscules et de désaccord. Puisque les évaluateurs tournent déjà, tout est noté en direct. La variante:no-scoresest volontaire : les scores doivent provenir des évaluateurs du participant, pas du chargement. Rappelez que la commande n’est pas idempotente ; la relancer double les données. - Avant le premier évaluateur, confirmez Project Settings → LLM Connections. Sur un projet neuf, l’assistant Set up evaluator bloque à l’étape Set up LLM connection jusqu’à l’enregistrement d’un modèle par défaut ; demandez de choisir la connexion OpenAI et un modèle compatible avec les sorties structurées.
- Les modèles gérés se trouvent sous Use existing. Ceux qui choisissent Create from scratch → LLM as a judge evaluator arrivent sur un formulaire Create new evaluator vide et pensent que les modèles ont disparu ; faites fermer la boîte de dialogue et choisir dans la liste.
- Expliquez pourquoi les deux monitors ciblent des observations différentes : out-of-scope a besoin du prompt système sur la generation, tandis que disagreement a besoin de l’historique sur la racine de l’agent.
- Expliquez pourquoi le monitor des majuscules repose sur du code : une règle déterministe simple ne nécessite aucun appel au modèle.
- Utilisez les premiers résultats comme exercice de débogage, pas seulement comme réussite ou échec.
Rythme de la démonstration
- Configurez Out-of-Scope Request sur les observations de la generation finale.
- Configurez User Disagreement sur l’observation d’agent
dad-it-support-chat-turn. - Configurez le code evaluator des majuscules sur la même observation
dad-it-support-chat-turn. - Envoyez un tour normal dans le périmètre, un hors périmètre, un de désaccord et un en majuscules.
- Chargez le trafic de production avec
npm run langfuse:seed:otel:no-scores, actualisez Tracing et observez les évaluateurs noter le lot.
Points d’attention
- Le choix accidentel du mauvais modèle pour User Disagreement.
- Le fait de considérer les clés Langfuse de
.envcomme suffisantes. Les évaluateurs avec juge ont aussi besoin de la connexion LLM côté Langfuse. - Le mapping de
last_user_messagevers le dernier élément de la conversation sur une generation finale ; les generations finales contiennent des messages d’outils après le tour utilisateur. - Pour le signal des majuscules, préférez la version Python de la documentation participant plutôt que de lutter avec l’éditeur TypeScript.
- Les participants qui considèrent le score de majuscules comme une preuve de colère. Présentez-le comme un signal de triage, pas comme un verdict.