Détecter et superviser les problèmes dans les traces MLflow
Bêta
La détection des problèmes MLflow est en bêta. Un administrateur de Workspace doit activer le tab des problèmes d’Experimentation MLflow depuis la page Aperçus . Consultez Gérer les aperçus Databricks.
La détection des problèmes de MLflow utilise Genie Code pour analyser les traces d’une Experimentation MLflow et identifier les problèmes récurrents de qualité et d’exploitation. Il examine les entrées, les sorties, les spans, les appels d’outils, le minutage, les erreurs, les évaluations et les métadonnées, puis regroupe les éléments probants associés en problèmes que vous pouvez examiner et corriger, par exemple :
- Un agent du service client invente une politique de remboursement de 30 jours lorsqu’il répond à une demande de retour.
- Un agent de recherche répète cinq fois la même recherche sur le Web, ce qui ralentit la réponse et augmente les coûts liés aux outils et aux jetons.
- Un agent de voyage omet l’argument
departure_daterequis, ce qui entraîne l’échec de l’outil de réservation. - Un agent d’extraction renvoie du texte en prose au lieu du schéma JSON requis par l’application appelante.
MLflow prend en charge un cycle d’amélioration continue, de la découverte au monitoring de la production. Vous pouvez examiner les traces à l’origine d’un problème, corriger et évaluer votre application, puis suivre le taux de problèmes après le déploiement.
Start la détection des problèmes
Ouvrez une Experimentation MLflow, sélectionnez le tab Issues et cliquez sur Exécuter la détection des problèmes . Genie Code commence à analyser les traces de l’Experimentation. L’analyse prend généralement de 5 à 30 minutes, selon le nombre et la taille des traces. Vous pouvez quitter la page et revenir plus tard pour consulter les résultats.
Utilisez le mode Approbation automatique dans Genie Code pour éviter que l’analyse ne s’interrompe en attente de l’approbation d’un outil.

Vous pouvez également démarrer le même workflow depuis le tab Traces en cliquant sur Détecter les problèmes .
Examiner les problèmes
Une fois l’analyse terminée, le tab Issues répertorie les problèmes détectés et affiche les éléments de preuve associés au problème sélectionné. Chaque élément de preuve Link vers une trace source concernée.

Si un problème détecté ne s’applique pas, mettez à jour le statut en Pas un problème à l’aide de la liste déroulante dans le coin supérieur droit. MLflow apprend de ces commentaires afin d’éviter de faire apparaître des problèmes similaires lors des détections ultérieures.
Corriger les problèmes avec des agents de codage
Chaque problème comprend un prompt de correction avec le contexte et des traces représentatives dont un agent de codage a besoin pour analyser le problème. Copier le prompt de la section Corriger ce problème et le coller dans un agent de codage exécuté dans le repository de votre application. L’agent utilise les éléments probants du problème pour examiner les traces et le code, proposer une modification ciblée et valider la correction.
Avant d’utiliser le prompt :
- Installez les compétences MLflow dans votre agent de codage.
- Assurez-vous que l’agent de programmation a accès à votre Workspace Databricks.
Examiner la modification proposée avant le déploiement. Ensuite, évaluez l’agent mis à jour par rapport à des cas représentatifs afin de confirmer la correction et de vérifier l’absence de régressions.
Surveiller un correctif en production
Un correctif qui fonctionne en développement peut tout de même échouer sur le trafic de production. Un moniteur de problèmes indique si le taux de problèmes diminue après le déploiement et si le problème réapparaît.
Sélectionnez le problème, puis cliquez sur Activer la surveillance dans la section Surveillance . MLflow crée un évaluateur pour le problème, puis l’applique rétroactivement aux traces récentes afin d’établir une référence. MLflow exécute ensuite l’évaluateur en ligne sur un échantillon de nouvelles traces afin de suivre le taux de problèmes en production.

Après avoir déployé le correctif, utilisez le graphique pour comparer le taux de problèmes avant et après le déploiement. Lorsque le problème n’apparaît plus en production, marquez-le comme Résolu .
Planifier la détection
Planifiez la détection des problèmes afin d’analyser régulièrement les nouvelles traces.
Cliquez sur Planifier la détection dans le tab Problèmes pour choisir la fréquence à laquelle MLflow recherche les problèmes. Vous pouvez limiter l’analyse à un sous-ensemble de traces en filtrant selon un champ de métadonnées ou une valeur de tag, comme environment = production.

Personnalisez les critères de détection
Cliquez sur sur la page Problèmes pour configurer la détection des problèmes. Vous pouvez indiquer à MLflow quelles conclusions sont pertinentes pour votre application, activer ou désactiver les domaines d’intérêt intégrés et ajouter des catégories personnalisées pour les échecs propres à votre application. Par exemple, vous pouvez donner la priorité à la frustration des utilisateurs et ignorer les problèmes de latence.
Problèmes d’accès à l’API REST
Utilisez l’API REST Issues pour intégrer le triage des problèmes à des workflows externes. L’API utilise des noms de ressources de problèmes au format experiments/<experiment-id>/issues/<issue-id>.
Rechercher des problèmes
La recherche prend en charge le texte du titre, le statut, la gravité, la catégorie, les tags, le tri et la pagination. La requête suivante renvoie les problèmes ouverts de gravité élevée avec leur description complète :
curl --request POST \
"https://<workspace-host>/api/2.0/mlflow/experiments/<experiment-id>/issues:search" \
--header "Authorization: Bearer <databricks-token>" \
--header "Content-Type: application/json" \
--data '{
"parent": "experiments/<experiment-id>",
"statuses": ["PENDING"],
"severities": ["HIGH"],
"sort_key": "LAST_SEEN_TIME",
"sort_order": "DESCENDING",
"page_size": 100,
"view": "FULL"
}'
Mettre à jour un problème
Pour mettre à jour un problème, incluez un masque de mise à jour. Par exemple, la requête suivante marque un problème comme résolu :
curl --request PATCH \
"https://<workspace-host>/api/2.0/mlflow/experiments/<experiment-id>/issues/<issue-id>?update_mask=status" \
--header "Authorization: Bearer <databricks-token>" \
--header "Content-Type: application/json" \
--data '{"status": "RESOLVED"}'
Attribution des coûts
Les exécutions manuelles et planifiées de détection des problèmes utilisent Genie Code. Pour connaître les informations de Tarifs, consultez les Tarifs de Genie.