Aller au contenu principal

Agent Runtime

Agent Runtime exécute votre agent sur une compute Serverless hébergée par Databricks. Il exécute le serveur de votre agent, tel que DurableAgentServer, sur Databricks Apps, ce qui vous permet de déployer du code au lieu d'effectuer le provisionnement de serveurs. Pour découvrir comment Agent Runtime s'intègre à votre framework et au serveur de votre agent, consultez Déployer des agents sur Databricks.

Ce que Runtime fournit pour l’agent​

  • Un endpoint stable et authentifié : chaque déploiement est une application nommée agent-bricks-<name> dotée de sa propre URL. Les clients s’authentifient à l’aide d’un jeton OAuth Databricks. Consultez Query des agents déployés sur Databricks.
  • Identité de l'agent : l'agent s'exécute en tant que Service Principal de l'application. Voir Identité de l'agent.
  • Exécution durable : pour les agents qui utilisent DurableAgentServer, le déploiement provisionne un Runtime Store afin que l’état de l’exécution soit conservé malgré les redémarrages des Worker et que les exécutions interrompues puissent reprendre.
  • Tracing : le déploiement configure le traçage MLflow sur l'Experimentation à laquelle le projet est lié. Consultez Aperçu du traçage.
  • Mise à l'échelle : exécutez un agent sur 1 à 5 instances. Consultez Mise à l'échelle horizontale pour les applications Databricks.

Identité de l'agent​

L’identité d’un agent est le Service Principal de l’application sur laquelle il est déployé. L’agent utilise cette identité pour appeler les APIs Databricks et exécuter les outils que vous ajoutez avec --auth app.

  • Lorsque vous déployez, agentbricks deploy accorde au service principal l’accès aux magasins de mémoire, 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 service principal de l'application les autorisations dont il a besoin, comme vous leisseriez pour n'importe quelle application. Consultez Configure authorization in a Databricks app.
  • Les outils qui utilisent auth = "user" s’exécutent avec les autorisations de l’utilisateur ayant envoyé la requête au lieu du Service Principal. Voir Autorisation de l’utilisateur demandeur.

Déployer un agent​

Déployez un projet d'agent avec la CLI Agent Bricks:

Bash
agentbricks --profile <profile> deploy my-agent

agentbricks deploy fait ce qui suit :

  1. Crée ou réutilise la mémoire et les magasins de sessions déclarés dans agent.toml, et accorde l’accès au service principal de l’application.
  2. Pour les agents qui utilisent DurableAgentServer, créez ou réutilisez le Runtime Store du déploiement.
  3. Configure le traçage.
  4. Déploie l'application.

Pour exécuter l'agent sur plusieurs instances, transmettez --instances:

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

Lorsqu’un agent s’exécute sur plusieurs instances, 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​

Commande

Description

agentbricks deployments list

Répertoriez vos déploiements d'agents.

agentbricks deployments get <app-name>

Afficher l’URL, l’état et la description d’un déploiement.

agentbricks deployments logs <app-name>

Afficher les logs d’un déploiement.

agentbricks deployments start <app-name> et agentbricks deployments stop <app-name>

Start ou arrêter un déploiement.

agentbricks deployments delete <app-name>

Supprimer un déploiement.

Commande

Description

agentbricks deployments list

Répertoriez vos déploiements d'agents.

agentbricks deployments get <app-name>

Afficher l’URL, l’état et la description d’un déploiement.

agentbricks deployments logs <app-name>

Afficher les logs d’un déploiement.

agentbricks deployments start <app-name> et agentbricks deployments stop <app-name>

Start ou arrêter un déploiement.

agentbricks deployments delete <app-name>

Supprimer un déploiement.

Puisque chaque déploiement est une application, vous pouvez également l’afficher et le monitoring dans Databricks Apps. Consultez Logging and Monitoring for Databricks Apps.

Limitations​

Vous ne pouvez pas modifier le serveur d'agent d'un déploiement existant. Pour changer de serveur, créez un nouveau projet avec l'option agentbricks init --server de votre choix, puis déployez-le sous un nouveau nom.

Ressources supplémentaires​