Affichez les traces dans l'interface utilisateur de Databricks MLflow
Toutes les traces capturées sont enregistrées dans une MLflow Experimentation. Lorsque MLFLOW_TRACKING_URI a la valeur databricks, le service MLflow Tracking géré de votre workspace les stocke et les dessert, sans hébergement supplémentaire à exécuter. Accédez-y via l’interface utilisateur MLflow de votre workspace Databricks.
-
**Accédez à votre expérimentation** : accédez à l'expérimentation où vos traces sont Logs. Par exemple, l'expérimentation définie par
mlflow.set_experiment("/Shared/my-genai-app-traces"). -
Open the Traces tab : Dans la vue de l'expérimentation, cliquez sur le Traces tab pour voir une liste de toutes les traces enregistrées pour cette expérimentation.

Comprendre la liste des traces
La liste des traces donne un aperçu général de vos traces, avec des colonnes triables :
- **ID de trace** : L'identifiant unique pour chaque trace.
- Request : un aperçu de l'entrée qui a Trigger le trace.
- Réponse : un aperçu du résultat final de la trace.
- Session : l'identifiant de session qui regroupe les traces associées, telles que les tours d'une conversation. Affiché si fourni.
- User : l’identifiant de l’utilisateur. Affiché si fourni.
- Temps d'exécution : le temps total nécessaire à l'exécution de la trace.
- Request time : Le timestamp où la trace a start.
- Nom de l'exécution : le nom de l'exécution MLflow associée, liée à celle-ci, lorsque la trace appartient à une exécution.
- Source : l'origine de la trace, telle que la bibliothèque ou le composant instrumenté (
openai,langchainou un nom de trace personnalisé). - État : statut de la trace (
OK,ERROR,IN_PROGRESS). - Nom de la trace : le nom attribué à la trace, qui correspond généralement au nom de la portée racine.
- Assessments : une colonne par type d'évaluation (par exemple,
my_scorer,professional). Une section de résumé située au-dessus de la liste affiche des métriques d'évaluation agrégées, telles que les moyennes ou les taux de réussite/d'échec, pour l'ensemble des traces visibles. - Tags : tags affichés sous forme de colonnes (par exemple,
persona,style).
Rechercher et filtrer les traces
L'interface utilisateur offre plusieurs façons de trouver des traces pertinentes :
-
Barre de recherche : By default, recherchez des traces par mot-clé dans leur ID, leur entrée et leur sortie.
-
Filter with AI : Cliquez sur l’icône en forme d’étoiles dans la barre de recherche pour passer à la recherche par IA, décrivez les traces souhaitées en anglais courant (par exemple, « traces with errors » ou « traces slower than 5 seconds ») et appuyez sur Entrée. MLflow convertit votre description en un filtre structuré appliqué aux champs de trace filtrables. Pour toute question analytique portant sur de nombreuses traces, ouvrez Genie Code.
-
Menu déroulant de filtres : créez des queries structurées sur :
- Attributes : contenu
Request,Session time,Execution timeouRequest time. - Assessments : filtrez par la présence ou la valeur d'évaluations telles que
my_scorerouprofessional. - Autres domaines tels que
State,Trace name,Session,UseretTags(par exemple,tags.persona = 'expert').
- Attributes : contenu
-
Menu déroulant de tri : trier les traces par colonnes telles que
Request timeouExecution time. -
Menu déroulant des colonnes : choisissez les colonnes visibles, y compris les balises spécifiques ou les métriques d’évaluation.

Filtres de métadonnées
Dans l'interface utilisateur de MLflow (tab Traces), vous pouvez consulter les métadonnées jointes :

Filtrez les traces dans l’interface utilisateur MLflow à l’aide de ces queries de recherche :
# Find all traces for a specific user
metadata.`mlflow.trace.user` = 'user-123'
# Find all traces in a session
metadata.`mlflow.trace.session` = 'session-abc-456'
# Find traces for a user within a specific session
metadata.`mlflow.trace.user` = 'user-123' AND metadata.`mlflow.trace.session` = 'session-abc-456'
# Find traces from production environment
metadata.`mlflow.source.type` = 'production'
# Find traces from a specific app version
metadata.app_version = '1.0.0'
Explorer une trace individuelle
Pour inspecter une trace spécifique, cliquez sur son Request ou son Trace Name dans la liste. La vue détaillée de la trace comporte deux tab :
- Résumé : un aperçu de haut niveau de la trace. Elle affiche les entrées et les sorties de la portée racine, les portées intermédiaires clés ainsi que toutes les exceptions levées pendant la trace. Utilisez les boutons bascule Default , JSON et Table pour modifier l’affichage des entrées et des sorties.
- Détails & chronologie : la ventilation complète de l’étendue avec des détails par étendue, décrits dans la section suivante.

L’onglet Details & Timeline comporte trois panneaux :
-
Répartition de la trace (panneau de gauche) :
- Affiche la hiérarchie des étendues sous forme d'arborescence ou de graphique en cascade. Il indique toutes les étendues de la trace, leurs relations parent-enfant, ainsi que leur ordre et leur durée d'exécution.
- Sélectionnez une étendue pour en inspecter les détails.
-
Détails de l'étendue (panneau central) :
-
Lorsque vous sélectionnez une étendue, ce panneau affiche ses détails, organisés en tabs :
- Chat : pour les interactions avec les LLM sous forme de chat, vue rendue du déroulement de la conversation (messages de l’utilisateur, de l’assistant et de l’outil).

- Inputs / Outputs : l'entrée brute transmise à l'opération et la sortie brute qu'elle a renvoyée. Pour le contenu volumineux, utilisez le bouton bascule « Voir plus » / « Voir moins » pour développer ou réduire la vue.

- Attributs : métadonnées clé-valeur spécifiques à l’étendue (par exemple,
modelettemperaturepour un appel de LLM, oudoc_uripour une étendue de récupérateur).

-
Événements : pour les étendues ayant généré des erreurs, les détails de l'exception et les traces de pile. Pour les étendues de streaming, les blocs de données individuels au fur et à mesure de leur génération.
-
Certains champs de sortie disposent d’un commutateur Markdown permettant d’alterner entre les vues brute et rendue lorsque le contenu est au format Markdown.
-
-
Évaluations (panneau de droite) :
- Affiche les évaluations (feedback utilisateur ou évaluations) enregistrées pour la trace entière ou l' intervalle sélectionné .
- Utilisez le bouton + Add new assessment pour consigner les commentaires ou les scores d’évaluation directement depuis l’interface utilisateur, ce qui prend en charge les workflows d’examen manuel et d’étiquetage.

Informations au niveau de la trace : la vue présente également des tags au niveau de la trace et toutes les évaluations enregistrées pour l’ensemble de la trace, visibles dans le panneau Assessments lorsque la trace racine ou aucune trace n’est sélectionnée. Ceux-ci peuvent provenir de commentaires d’utilisateurs directs ou d’ évaluations systématiques.
Pour remplacer les tabs par default par un Layout personnalisé qui affiche uniquement les champs, les métriques et les contrôles de feedback qui vous intéressent, créez une vue de trace personnalisée.
Scénarios de debugging courants
Utilisez l’interface utilisateur de MLflow Tracing pour répondre aux besoins courants de debugging et d’observabilité :
-
Identifier les traces lentes (goulets d'étranglement de latence) :
- Liste des traces : triez par « Temps d’exécution » par ordre décroissant pour afficher les traces les plus lentes en haut.
- Vue détaillée : ouvrez une trace lente et examinez le panneau « Trace breakdown ». L’affichage en cascade met en évidence les opérations les plus longues, ce qui permet d’identifier les goulots d’étranglement dans le flux de votre application.

-
Rechercher les traces d'un utilisateur particulier :
- Filters : si vous disposez d’ informations utilisateur suivies et qu’elles sont disponibles en tant que filtre (sous « Attributs » ou filtre « Utilisateur »), sélectionnez ou saisissez l’identifiant utilisateur.
- Recherche et tags : si les identifiants utilisateur sont stockés sous forme de tags tels que
mlflow.trace.user, effectuez la recherche avectags.mlflow.trace.user = 'user_example_123'.

-
Localiser les traces présentant des échecs (erreurs) :
- Filtres : sélectionnez l’attribut
Stateet choisissezERRORpour n’afficher que les traces ayant échoué. - Vue détaillée : sélectionnez l'étendue erronée dans la section « Trace breakdown », puis ouvrez son « tab » pour afficher le message d'exception et la trace de la pile.

- Filtres : sélectionnez l’attribut
-
Identifier les traces avec des retours négatifs ou des problèmes :
- Assessment filters : If you collect user feedback or run evaluations that produce assessments (such as a boolean
is_corrector a numericrelevance_score), filter by assessment name and value (for example,is_correct = falseorrelevance_score < 0.5). - Afficher les évaluations : ouvrez une trace et consultez le panneau « Assessments » ou les évaluations des intervalles individuels pour afficher les commentaires enregistrés, les scores et les justifications.

- Assessment filters : If you collect user feedback or run evaluations that produce assessments (such as a boolean
Traçage dans les Notebooks Databricks
MLflow Tracing affiche les traces directement dans les Notebooks Databricks, dans le cadre de votre flux de développement et d’expérimentation.
L'intégration du Notebook Databricks MLflow Tracing est disponible dans MLflow 2.20 et versions ultérieures.

Lorsque vous travaillez dans un notebook Databricks et que votre URI MLflow Tracking est définie sur "databricks" (souvent la valeur default, ou définie avec mlflow.set_tracking_uri("databricks")), l’interface utilisateur des traces peut s’afficher automatiquement dans la sortie d’une cellule.
Cela se produit dans les cas suivants :
- Le code d'une cellule génère une trace (par exemple, en appelant une fonction décorée avec
@mlflow.traceou un appel de bibliothèque instrumenté automatiquement). - Vous appelez
mlflow.search_traces()et affichez le résultat. - Un objet
mlflow.entities.Trace(par exemple, provenant demlflow.get_trace()) est la dernière expression d’une cellule ou est transmis àdisplay().
La vue intégrée au notebook offre les mêmes capacités d'exploration des traces que l'interface utilisateur principale des expérimentations MLflow, ce qui vous permet d'itérer sans changer de contexte.
Contrôler l'affichage du Notebook
Pour activer ou désactiver l'affichage automatique des traces dans les sorties des cellules de Notebook, exécutez : mlflow.tracing.disable_notebook_display() ou mlflow.tracing.enable_notebook_display()
Limitations
- La liste des traces renvoie au maximum 1 000 traces. Les filtres et la recherche d'ID de trace s'appliquent uniquement à cet ensemble, pas à l'expérimentation complète, de sorte que les traces plus anciennes dans les grandes expérimentations pourraient ne pas apparaître. Pour trouver une trace plus ancienne, réduisez la plage horaire pour l'inclure.
- Les expérimentations non présentes dans Unity Catalog sont limitées à 100 000 traces. Pour un stockage évolutif et régi sans limite de trace, Databricks recommande de stocker les traces dans Unity Catalog. Pour déplacer les traces d’expérimentation existantes, migrer vers les traces dans Unity Catalog.
Ressources supplémentaires
- Créer une vue de trace personnalisée - Créez un Layout de trace personnalisé et réutilisable en utilisant le langage naturel
- Effectuer des query et rechercher des traces : rechercher et analyser par programmation des traces pour des workflows personnalisés
- Construire des datasets d'évaluation - Sélectionnez et convertissez les traces en données de test pour une évaluation systématique et une amélioration de la qualité
Étape suivante : Rechercher des problèmes dans l'ensemble des traces