Aller au contenu principal

Tracez les agents déployés sur Databricks

Déployez les applications d'IA sur Databricks afin que les traces de production soient capturées automatiquement. Databricks recommande le déploiement avec les agents personnalisés sur Databricks Apps ; vous pouvez également déployer sur Model Serving. Quelle que soit la méthode de déploiement que vous choisissez, Databricks Logs les traces dans votre expérimentation 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.

Présentation du suivi de production MLflow

Stockez les traces dans Unity Catalog

Chaque trace est enregistrée dans une expérimentation MLflow, qui est toujours le point d'entrée pour la visualisation des traces dans l'interface utilisateur MLflow. Ce qui diffère, c'est l' emplacement de stockage qui prend en charge l'Experimentation. Vous avez deux choix :

  • Stockage Unity Catalog (recommandé pour la production) : associez l’Experimentation à un emplacement de trace Unity Catalog afin que les traces aboutissent dans les tables Delta d’Unity Catalog. Cela nécessite une certaine configuration avant le déploiement. En retour, vous bénéficiez d’une rétention à long terme de grands volumes de traces sans limite par Experimentation. Les traces sont régies par les autorisations de catalogue, de schéma et de table Unity Catalog, et vous pouvez les query directement avec SQL via un warehouse Databricks SQL.
  • Stockage basé sur l’expérimentation (default) : si vous ne configurez pas d’emplacement de trace, les traces sont stockées en tant qu’artefacts d’expérimentation. C’est pratique pour le développement, mais il y a une limite de trace par expérimentation et ce n’est pas optimisé pour l’interrogation de grands volumes de traces de production.

Consultez Stocker les traces OpenTelemetry dans Unity Catalog pour la configuration complète, les prérequis et les autorisations.

Déployer avec des Agents personnalisés sur Databricks Apps (recommandé)

Databricks recommande de déployer les applications d'IA avec des agents personnalisés sur Databricks Apps. MLflow Tracing fonctionne automatiquement, sans instrumentation supplémentaire requise.

default, les traces sont stockées en tant qu'artefacts dans l'expérimentation MLflow de l'application. Pour la production, dirigez l'application vers une expérimentation prise en charge par un emplacement de trace Unity Catalog, comme décrit dans Stocker les traces dans Unity Catalog. Définissez l'Experimentation de l'une des manières suivantes :

  1. Ajoutez l'expérimentation prise en charge par Unity Catalog en tant que ressource Databricks Apps, et définissez la variable d'environnement MLFLOW_EXPERIMENT_ID pour la référencer.
  2. Déclarez la ressource dans la configuration de votre application, ou ajoutez-la à partir de l'interface utilisateur Ressources de l'application dans le Workspace.
  3. Accordez l'identité CAN_EDIT de l'application sur l’Experimentation.

Pour la procédure détaillée de création et de déploiement, consultez Créer un agent et le déployer sur Databricks Apps.

Déployer sur Model Serving (alternative)

Vous pouvez également déployer votre agent vers un endpoint Model Serving. MLflow Tracing fonctionne automatiquement et les traces sont stockées dans l'expérimentation MLflow de l'agent. Créez l'Experimentation avec un emplacement de trace Unity Catalog avant de déployer.

Déployez avec Agents personnalisés sur Model Serving en utilisant agents.deploy(...). Cela provisionne un Endpoint optimisé pour les agents qui configure l'authentification, l'application d'examen et le traçage en temps réel pour vous, y compris les variables d'environnement ENABLE_MLFLOW_TRACING et MLFLOW_EXPERIMENT_ID. Consultez Créer un agent et le déployer sur Model Serving pour une présentation complète.

Si vous déployez manuellement un modèle sur un Endpoint de Model Serving au lieu d’utiliser agents.deploy(...), vous devez configurer des informations d’identification supplémentaires pour que l’Endpoint écrive des traces dans Unity Catalog. Consultez Stockage des traces OpenTelemetry dans Unity Catalog pour la configuration requise.

remarque

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 default. Pour activer le traçage en temps réel, définissez l'expérimentation comme une expérimentation non associée à Git à l'aide de mlflow.set_experiment() avant d'exécuter agents.deploy().

Déployer un agent personnalisé vers Model Serving avec MLflow Tracing

Ressources supplémentaires