Environnement d'exécution de l'agent

Agent Runtime exécute votre agent sur des ressources de calcul serverless hébergées sur Azure Databricks. Il fait tourner votre serveur agent, comme DurableAgentServer, sur Databricks Apps, donc vous déployez du code au lieu de provisionner des serveurs. Pour savoir comment Agent Runtime s’intègre à votre framework et à votre agent serveur, voir Déployer agents sur Azure Databricks.

Ce que fournit l’Agent Runtime

  • Un point de terminaison stable et authentifié : chaque déploiement est une application nommée agent-bricks-<name> avec sa propre URL. Les clients s’authentifient avec un token Azure Databricks OAuth. Voir les agents de requête déployés sur Azure Databricks.
  • Identité de l’agent : l’agent s’exécute en tant que principal du service de l’application. Voir Identité de l’agent.
  • Exécution durable : Pour les agents qui utilisent DurableAgentServer, le déploiement prévoit un Runtime Store afin que l’état d’exécution survive aux redémarrages des travailleurs et que les exécutions interrompues puissent reprendre.
  • Traçage : Le déploiement configure le traçage MLflow pour l’expérience à laquelle le projet est lié. Voir aperçu du traçage.
  • Scaling : Exécutez un agent sur 1 à 5 instances. Voir Mise à l’échelle horizontale pour les applications Databricks.

Identité de l’agent

L’identité d’un agent correspond à l’entité de service de l’application sur laquelle il est déployé. L’agent utilise cette identité pour appeler les API Azure Databricks et exécuter les outils que vous ajoutez avec --auth app.

  • Lorsque vous déployez, agentbricks deploy cela accorde au principal de service l’accès au magasin de mémoire, aux magasins de session et d’état d’exécution utilisés par l’agent.
  • Pour donner à l’agent accès à d’autres données et ressources, accordez au principal du service de l’application les autorisations nécessaires, comme vous le feriez pour n’importe quelle application. Consultez Configurer l’autorisation dans une application Databricks.
  • Les outils qui utilisent auth = "user" s’exécutent avec les permissions de l’utilisateur qui a envoyé la requête au lieu du principal du service. Voir la demande d’autorisation de l’utilisateur.

Déployer un agent

Déployez un projet d’agent avec l’Agent Bricks CLI :

agentbricks --profile <profile> deploy my-agent

agentbricks deploy effectue les opérations suivantes :

  1. Crée ou réutilise les magasins de mémoire et de session déclarés dans agent.toml, et accorde au principal du service de l’application l’accès à ceux-ci.
  2. Pour les agents qui utilisent DurableAgentServer, crée ou réutilise le magasin de runtime du déploiement.
  3. Configure le traçage.
  4. Déploie l’application.

Pour exécuter l’agent sur plusieurs instances, passez --instances:

agentbricks --profile <profile> deploy my-agent --instances 2

Lorsqu’un agent s’exécute sur plus d’une instance, les clients peuvent envoyer l’ID de session dans un en-tête X-Routing-Key pour acheminer toutes les requêtes d’une session vers la même instance.

Gérer les déploiements

Command Description
agentbricks deployments list Listez vos déploiements d’agents.
agentbricks deployments get <app-name> Affichez l’URL, le statut et la description d’un déploiement.
agentbricks deployments logs <app-name> Affichez les journaux d’un déploiement.
agentbricks deployments start <app-name> et agentbricks deployments stop <app-name> Démarrez ou arrêtez un déploiement.
agentbricks deployments delete <app-name> Supprime un déploiement.

Comme chaque déploiement est une application, vous pouvez aussi la consulter et la surveiller dans Databricks Apps. Consultez la journalisation et la surveillance des applications Databricks.

Limitations

Vous ne pouvez pas changer le serveur agent d’un déploiement existant. Pour changer de serveur, créez un nouveau projet avec l’option agentbricks init --server que vous souhaitez, et déployez-le sous un nouveau nom.

Ressources additionnelles