Agent-Runtime

Agent Runtime betreibt Ihren Agenten auf serverloser Rechenkapazität, die auf Azure Databricks gehostet wird. Ihr Agent-Server, z. B. DurableAgentServer, wird in Databricks-Apps ausgeführt, sodass Sie Code bereitstellen, anstatt 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 Agents, die DurableAgentServer verwenden, stellt die Bereitstellung einen Runtimespeicher bereit, sodass der Ausführungsstatus Neustarts von Workern übersteht und unterbrochene Ausführungen wiederhergestellt werden 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, werden mit den Berechtigungen des Benutzers ausgeführt, der die Anforderung gesendet hat, und nicht mit denen des Dienstprinzipals. Weitere Informationen finden Sie unter Anforderungsbenutzerautorisierung.

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. Konfiguriert die Ablaufverfolgung.
  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, erstellen Sie ein neues Projekt mit der gewünschten Option agentbricks init --server, und stellen Sie es unter einem neuen Namen bereit.

Weitere Ressourcen