Runtime dell'agente

Agent Runtime esegue il tuo agente su un ambiente di calcolo serverless ospitato in Azure Databricks. Esegue il tuo server agente, come DurableAgentServer, su Databricks Apps, quindi distribuisci codice invece di provisionare i server. Per capire come Agent Runtime si integra con il tuo framework e il server agente, consulta Deploy agents su Azure Databricks.

Cosa offre Agent Runtime

  • Un endpoint stabile e autenticato: ogni deployment è un'app denominata agent-bricks-<name> con un proprio URL. I clienti si autenticano con un token OAuth di Azure Databricks. Vedi agenti Query distribuiti su Azure Databricks.
  • Identità dell'agente: L'agente funziona come entità servizio dell'app. Vedi Identità dell'agente.
  • Esecuzione durevole: Per gli agenti che utilizzano DurableAgentServer, l'implementazione prevede un Runtime Store in modo che lo stato di esecuzione sopravviva ai riavvii dei worker e le esecuzioni interrotte possano essere ripristinate.
  • Tracciamento: Il deployment configura il tracciamento MLflow per l'esperimento a cui il progetto è associato. Consulta Panoramica del tracciamento.
  • Scaling: Esegui un agente su 1-5 istanze. Consulta Scalabilità orizzontale per le app Databricks.

Identità dell'agente

L'identità di un agente è l'entità servizio dell'app su cui è distribuito. L'agente usa questa identità per chiamare le API di Azure Databricks e per eseguire strumenti che aggiungi con --auth app.

  • Quando si implementa, agentbricks deploy concede al service principal l'accesso agli archivi di memoria, sessione e stato di esecuzione che l'agente utilizza.
  • Per dare all'agente accesso ad altri dati e risorse, concedi al service principal dell'app i permessi necessari, come faresti per qualsiasi app. Consultare Configurare l'autorizzazione nell'applicazione Databricks.
  • Gli strumenti che usano auth = "user" funzionano con i permessi dell'utente che ha inviato la richiesta invece che del service principal. Vedi Richiesta-autorizzazione utente.

Distribuire un agente

Distribuisci un progetto agente con la CLI di Agent Bricks:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy esegue le operazioni seguenti:

  1. Crea o riutilizza gli archivi di memoria e sessione dichiarati in agent.toml e concede all'entità servizio dell'app l'accesso a tali archivi.
  2. Per gli agenti che utilizzano DurableAgentServer, crea o riutilizza lo Runtime Store della distribuzione.
  3. Configura il tracciamento.
  4. Installa l’app.

Per eseguire l'agente su più di una istanza, passa --instances:

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

Quando un agente viene eseguito su più di un'istanza, i client possono inviare l'ID della sessione in un'intestazione X-Routing-Key per instradare tutte le richieste di una sessione alla stessa istanza.

Gestire le distribuzioni

Comando Description
agentbricks deployments list Elenca le tue distribuzioni degli agenti.
agentbricks deployments get <app-name> Mostra l'URL, lo stato e la descrizione di un deployment.
agentbricks deployments logs <app-name> Mostra i log di una distribuzione.
agentbricks deployments start <app-name> e agentbricks deployments stop <app-name> Avvia o arresta una distribuzione.
agentbricks deployments delete <app-name> Eliminare una distribuzione.

Poiché ogni deployment è un'app, puoi anche visualizzarla e monitorarla nelle Apps Databricks. Vedere Registrazione e monitoraggio per le app di Databricks.

Limitations

Non puoi cambiare il server agente di un deployment esistente. Per cambiare server, crea un nuovo progetto con l'opzione agentbricks init --server che desideri e distribuiscilo con un nuovo nome.

Risorse aggiuntive