Agent-Runtime

Agent Runtime betreibt Ihren Agenten auf serverloser Rechenkapazität, die auf Azure Databricks gehostet wird. Er betreibt deinen Agent-Server, zum Beispiel DurableAgentServer, auf Databricks Apps, sodass du Code bereitstellst, statt Server bereitzustellen. Um zu erfahren, wie Agent Runtime zu Ihrem Framework und Agentenserver passt, siehe Deploy agents on Azure Databricks.

Was bietet Agent Runtime

  • Ein stabiler, authentifizierter Endpunkt: Jede Bereitstellung ist eine App namens agent-bricks-<name> mit eigener URL. Clients authentifizieren sich mit einem Azure Databricks OAuth-Token. Siehe Abfrageagenten, die auf Azure Databricks bereitgestellt werden.
  • Agentenidentität: Der Agent fungiert als Service Principal der App. Siehe Agentenidentität.
  • Dauerhafte Ausführung: Für Agenten, die DurableAgentServer verwenden, wird bei der Bereitstellung ein Runtime Store bereitgestellt, sodass der Run-Status Arbeiter-Neustarts überlebt und unterbrochene Läufe sich wiederherstellen können.
  • Tracing: Deployment konfiguriert MLflow-Tracing für das Experiment, an das das Projekt gebunden ist. Siehe Übersicht zur Nachverfolgung.
  • Skalierung: Führe einen Agenten auf 1 bis 5 Instanzen aus. Siehe Horizontale Skalierung für Databricks-Apps.

Agentenidentität

Die Identität eines Agenten ist der Serviceprinzipal der App, für die er bereitgestellt wird. Der Agent verwendet diese Identität, um Azure Databricks APIs aufzurufen und Tools auszuführen, die Sie mit --auth apphinzufügen.

  • Wenn Sie deployen, agentbricks deploy erhält der Service Principal Zugriff auf die Speicher-, Session- und Run-State-Stores, die der Agent verwendet.
  • Um dem Agenten Zugang zu anderen Daten und Ressourcen zu geben, erteile dem Service-Principal der App die benötigten Berechtigungen, wie es bei jeder App der Fall ist. Siehe Konfigurieren der Autorisierung in einer Databricks-App.
  • Tools, die auth = "user" verwenden, laufen mit den Berechtigungen des Benutzers, der die Anfrage gesendet hat, und nicht des Service Principal. Siehe Autorisierung durch Benutzer anfordern.

Setzen Sie einen Agenten ein

Stellen Sie ein Agentenprojekt mit der Agent Bricks CLI bereit:

agentbricks --profile <profile> deploy my-agent

agentbricks deploy führt die folgenden Aktionen aus:

  1. Erstellt oder verwendet die in agent.toml deklarierten Speicher- und Sitzungsspeicher und gewährt dem Service Principal der App Zugriff darauf.
  2. Für Agenten, die DurableAgentServer verwenden, wird der Runtime Store der Bereitstellung erstellt oder wiederverwendet.
  3. Ablaufverfolgung konfigurieren
  4. Stellt die App bereit.

Um den Agenten in mehr als einer Instanz auszuführen, übergeben Sie --instances:

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

Wenn ein Agent auf mehr als einer Instanz läuft, können Clients die Session-ID in einem X-Routing-Key Header senden, um alle Anfragen einer Sitzung an dieselbe Instanz zu routen.

Bereitstellungen verwalten

Befehl Description
agentbricks deployments list Listen Sie Ihre Agent-Bereitstellungen auf.
agentbricks deployments get <app-name> Zeigen Sie die URL, den Status und die Beschreibung einer Bereitstellung an.
agentbricks deployments logs <app-name> Zeigen Sie die Protokolle einer Bereitstellung an.
agentbricks deployments start <app-name> und agentbricks deployments stop <app-name> Starte oder stoppe eine Bereitstellung.
agentbricks deployments delete <app-name> Löscht eine Bereitstellung.

Da jede Bereitstellung eine App ist, können Sie sie auch in Databricks Apps ansehen und überwachen. Siehe Protokollierung und Überwachung für Databricks-Apps.

Limitations

Du kannst den Agentenserver einer bestehenden Bereitstellung nicht ändern. Um den Server zu wechseln, erstelle ein neues Projekt mit der gewünschten agentbricks init --server Option und setze es unter einem neuen Namen ein.

Weitere Ressourcen