Tracez les agents déployés sur Databricks
Déployez des applications d'IA sur Databricks afin que les traces de production soient automatiquement capturées. Vous pouvez déployer des applications d'IA sur Databricks en utilisant des agents personnalisés (recommandé) ou un Model Serving CPU personnalisé. Quelle que soit la méthode de déploiement que vous choisissez, Databricks logs traces dans votre Experimentation MLflow pour une visualisation en temps réel.
Pour les applications déployées en dehors de Databricks, consultez Suivre les agents déployés en dehors de Databricks.

Choisissez un emplacement de stockage des traces
Databricks Logs les traces dans l'Expérimentation MLflow que vous définissez avec mlflow.set_experiment(...) pendant le déploiement. Les traces sont disponibles pour une visualisation en temps réel dans l'interface utilisateur de MLflow.
Pour un stockage durable, gouverné et interrogeable, Databricks vous recommande de lier l'Experimentation à un emplacement de trace Unity Catalog afin que les traces se retrouvent dans les tables Delta de Unity Catalog. C'est le backend recommandé pour la production. Consultez Stocker les traces OpenTelemetry dans Unity Catalog.
Si vous n'utilisez pas d'emplacement de trace Unity Catalog, les traces sont stockées en tant qu'artefacts, pour lesquels vous pouvez spécifier un emplacement de stockage personnalisé. Par exemple, si vous créez une expérimentation de workspace avec artifact_location défini sur un volume Unity Catalog, alors l'accès aux données de trace est régi par les privilèges de volume Unity Catalog.
Toute identité qui lit les données de trace stockées dans un volume Unity Catalog doit disposer du privilège LECTURE DE VOLUME sur ce volume, en plus de l'accès à l'Experimentation MLflow. Ceci inclut l'identité utilisée par votre charge de travail de production ou de service, et pas uniquement les utilisateurs interactifs.
Déployer avec des agents personnalisés (recommandé)
Lorsque vous déployez des applications GenAI en utilisant les agents personnalisés, MLflow Tracing fonctionne automatiquement sans configuration supplémentaire. Les traces sont stockées dans l'expérimentation MLflow de l'agent.
Configurez le(s) emplacement(s) de stockage pour les traces :
- Si vous prévoyez d'utiliser le Monitoring de production pour stocker des traces dans des tables Delta, assurez-vous qu'il est activé pour votre Workspace.
- Créer une expérience MLflow pour stocker les traces de production de votre application.
Ensuite, dans votre Notebook Python, instrumentez votre agent avec MLflow Tracing, et utilisez des agents personnalisés pour déployer votre agent :
- Installez la dernière version de
mlflow[databricks]dans votre environnement Python. - Se connecter à l'Experimentation MLflow à l'aide de
mlflow.set_experiment(...). - Encapsulez le code de votre agent en utilisant MLflow
ResponsesAgent. Dans le code de votre agent, activez MLflow Tracing à l'aide de l'instrumentation automatique ou manuelle. - Enregistrez votre agent en tant que modèle MLflow et enregistrez-le dans Unity Catalog.
- Assurez-vous que
mlflowse trouve dans les dépendances Python du modèle, avec la même version de package utilisée dans votre environnement Notebook. - Utilisez
agents.deploy(...)pour déployer le modèle Unity Catalog (agent) vers un endpoint Model Serving.
Si vous déployez un agent à partir d'un Notebook stocké dans un dossier Git Databricks, le traçage en temps réel de MLflow 3 ne fonctionne pas par default.
Pour activer le traçage en temps réel, définissez l'expérimentation comme une expérimentation non associée à Git en utilisant mlflow.set_experiment() avant d'exécuter agents.deploy().
Ce notebook présente les étapes de déploiement ci-dessus.
Notebook des agents personnalisés et de MLflow Tracing
Déployer avec un service de CPU personnalisé (alternative)
Si vous ne pouvez pas utiliser les Agents personnalisés, déployez votre agent en utilisant plutôt le Model Serving CPU personnalisé.
Tout d'abord, configurez le ou les emplacements de stockage pour les traces :
- Si vous prévoyez d'utiliser le Monitoring de production pour stocker des traces dans des tables Delta, assurez-vous qu'il est activé pour votre Workspace.
- Créer une expérience MLflow pour stocker les traces de production de votre application.
Ensuite, dans votre Python notebook, instrumentez votre agent avec MLflow Tracing, et utilisez l'interface utilisateur de Model Serving ou les APIs pour déployer votre agent :
- Loguez votre agent en tant que modèle MLflow avec une instrumentation de traçage automatique ou manuelle.
- Déployez le modèle vers le service de CPU.
- Provisionnez un Service Principal ou un Jeton d'accès personnel (PAT) avec un accès
CAN_EDITà l'Experiment MLflow. - Dans la page de l'endpoint de déploiement CPU, accédez à « Modifier l'endpoint ». Pour chaque modèle déployé à tracer, ajoutez les variables d'environnement suivantes :
ENABLE_MLFLOW_TRACING=trueMLFLOW_EXPERIMENT_ID=<ID of the experiment you created>- Si vous avez provisionné un Service Principal, définissez
DATABRICKS_CLIENT_IDetDATABRICKS_CLIENT_SECRET. Si vous avez provisionné un PAT, définissezDATABRICKS_HOSTetDATABRICKS_TOKEN.
Stocker les traces à long terme avec le monitoring de production
Après les Logs enregistrés dans votre expérimentation MLflow, vous pouvez éventuellement les stocker à long terme dans des tables Delta à l'aide du Monitoring de Production (en version bêta).
Avantages du Monitoring de production pour le stockage des traces :
- Stockage durable : stocke les traces dans les tables Delta pour une rétention à long terme au-delà du cycle de vie des artefacts d’expérimentation MLflow.
- Aucune limite de taille de trace : Contrairement aux autres méthodes de stockage, Production Monitoring gère les traces de toute taille.
- **Évaluation automatisée de la qualité** : Exécutez les scorers MLflow sur les traces de production pour surveiller en continu la qualité de l'application.
- **Synchronisation rapide** : les traces se synchronisent aux tables Delta environ toutes les 15 minutes.
Vous pouvez également utiliser des tables d’inférence activées pour AI Gateway pour stocker les traces. Cependant, soyez conscient des limites sur les tailles de traces et les délais de synchronisation.
Ressources supplémentaires
- Afficher les traces dans l'interface utilisateur MLflow de Databricks - Afficher les traces dans l'interface utilisateur MLflow.
- Production monitoring – Stockez les traces dans les tables Delta pour une rétention à long terme et évaluez-les automatiquement avec des évaluateurs.
- Ajouter du contexte aux traces – Joindre les métadonnées pour le suivi des requêtes, les sessions utilisateur et les données d'environnement.