Agent Runtime

Agent Runtime draait je agent op Azure Databricks-hosted serverless compute. Het draait je agent-server, zoals DurableAgentServer, op Databricks Apps, dus je deployt code in plaats van servers te provisioneren. Om te leren hoe Agent Runtime past bij jouw framework en agentserver, zie Deploy agents on Azure Databricks.

Wat Agent Runtime biedt

  • Een stabiel, geauthenticeerd eindpunt: Elke deployment is een app met de naam agent-bricks-<name> en een eigen URL. Clients authenticeren met een Azure Databricks OAuth token. Zie Queryagents die zijn geïmplementeerd op Azure Databricks.
  • Agentidentiteit: De agent fungeert als de dienstprincipal van de app. Zie Agentidentiteit.
  • Duurzame uitvoering: Voor agenten die gebruikmaken van DurableAgentServer, richt de implementatie een Runtime Store in zodat de uitvoeringsstatus herstarts van workers overleeft en onderbroken runs kunnen worden hervat.
  • Tracing: Deployment configureert MLflow-tracering voor het experiment waaraan het project is gekoppeld. Zie Overzicht van tracering.
  • Scaling: Draai een agent op 1 tot 5 exemplaren. Zie Horizontale schaal voor Databricks-apps.

Agentidentiteit

De identiteit van een agent is de service-principal van de app waar deze in is geïmplementeerd. De agent gebruikt deze identiteit om Azure Databricks API's aan te roepen en om tools uit te voeren die je toevoegt met --auth app.

  • Wanneer je deployt, agentbricks deploy geeft het de serviceprincipal toegang tot de geheugen-, sessie- en opslagplaatsen voor uitvoeringsstatus die de agent gebruikt.
  • Om de agent toegang te geven tot andere data en bronnen, geef je de service-principal van de app de benodigde rechten, zoals je bij elke app zou doen. Zie Autorisatie configureren in een Databricks-app.
  • Tools die auth = "user" gebruiken, draaien met de rechten van de gebruiker die het verzoek heeft gestuurd in plaats van de serviceprincipal. Zie Request-user authorization.

Implementeer een agent

Implementeer een agentproject met de Agent Bricks CLI:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy doet het volgende:

  1. Maakt de geheugen- en sessieopslag die zijn gedeclareerd in agent.toml of hergebruikt en verleent de serviceprincipal van de app toegang tot deze opslaglocaties.
  2. Voor agenten die DurableAgentServer gebruiken, wordt de Runtime Store van de implementatie gemaakt of hergebruikt.
  3. Configureert tracering.
  4. Implementeert de app.

Om de agent op meer dan één exemplaar uit te voeren, geef --instances door:

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

Wanneer een agent op meer dan één instantie draait, kunnen clients de sessie-ID in een X-Routing-Key header sturen om alle verzoeken in een sessie naar dezelfde instantie te routeren.

Deployments beheren

Command Description
agentbricks deployments list Geef een overzicht van je agentimplementaties.
agentbricks deployments get <app-name> Toon de URL, status en beschrijving van een deployment.
agentbricks deployments logs <app-name> Toon de logboeken van een deployment.
agentbricks deployments start <app-name> en agentbricks deployments stop <app-name> Start of stop een deployment.
agentbricks deployments delete <app-name> Een deployment verwijderen.

Omdat elke implementatie een app is, kun je deze ook bekijken en monitoren in Databricks Apps. Zie Logboekregistratie en bewaking voor Databricks-apps.

Limitations

Je kunt de agentserver van een bestaande implementatie niet veranderen. Om van server te wisselen, maak je een nieuw project aan met de agentbricks init --server optie die je wilt, en deploy je het onder een nieuwe naam.

Aanvullende bronnen