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 deployaccorde 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:
agentbricks --profile <profile> deploy my-agent
agentbricks deploy fait ce qui suit :
- 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. - Pour les agents qui utilisent
DurableAgentServer, créez ou réutilisez le Runtime Store du déploiement. - Configure le traçage.
- Déploie l'application.
Pour exécuter l'agent sur plusieurs instances, transmettez --instances:
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 |
|---|---|
| Répertoriez vos déploiements d'agents. |
| Afficher l’URL, l’état et la description d’un déploiement. |
| Afficher les logs d’un déploiement. |
| Start ou arrêter un déploiement. |
| 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.