Hosten eines A2A-Servers
Sobald Ihr Agent seine Fähigkeiten und die Agent-Karte definiert hat, besteht der nächste Schritt darin, ihn auf einem Server zu hosten. Das Hosting macht Ihren Agent für Clients und andere Agents über HTTP zugänglich, wodurch Interaktionen in Echtzeit und Multi-Agent-Workflows ermöglicht werden.
Das Hosten eines Agents ermöglicht folgendes:
- Machen Sie ihre Funktionen über die Agent-Karte verfügbar, die Clients und andere Agents entdecken können.
- Empfangen Sie eingehende A2A-Anforderungen, und leiten Sie sie zur Verarbeitung an Ihren Agent-Executor weiter.
- Verwalten Sie Aufgabenlebenszyklus, einschließlich Streamingantworten und zustandsbehafteten Interaktionen.
Effektiv fungiert der Server als Brücke zwischen der Logik Ihres Agents und der externen Welt, um sicherzustellen, dass er an koordinierten Workflows teilnehmen kann.
Kernkomponenten des Agentservers
Zum Hosten eines Agents benötigen Sie drei wesentliche Komponenten, die zusammenarbeiten:
Agent-Karte
- Beschreibt die Funktionen, Fähigkeiten und Eingabe-/Ausgabemodi des Agents.
- Verfügbar gemacht an einem Standardendpunkt (in der Regel
/.well-known/agent-card.json), damit Clients und andere Agents Ihren Agent ermitteln können. - Kann mehrere Versionen oder eine "erweiterte" Karte für authentifizierte Benutzer enthalten.
Anforderungshandler
- Leitet eingehende Anforderungen an die entsprechenden Methoden für den Agent-Executor weiter (z
execute. B. odercancel). - Verwaltet den Aufgabenlebenszyklus mithilfe eines Aufgabenspeichers, der Aufgaben nachverfolgt, Daten streamen und erneut übermitteln kann.
- Selbst einfache Agents erfordern einen Aufgabenspeicher, um Interaktionen zuverlässig zu verarbeiten.
Serveranwendung
- Erstellt mit einem Webframework (Starlette in Python), um HTTP-Anforderungen zu verarbeiten.
- Kombiniert mit einem ASGI-Server (z. B. Uvicorn), um mit dem Überwachen einer Netzwerkschnittstelle und eines Ports zu beginnen.
- Macht die Agentkarte und Anforderungshandlerendpunkte verfügbar, sodass Clients mit Ihrem Agent interagieren können.
Einrichten des A2A-Agentservers
- Definieren Sie die Fähigkeiten und die Agent-Karte Ihres Agenten.
- Initialisieren Sie einen Anforderungshandler, der den Agent-Executor mit einem Aufgabenspeicher verknüpft.
- Richten Sie die Serveranwendung ein, und stellen Sie die Agentkarte und den Anforderungshandler bereit.
- Starten Sie den Server mit einem ASGI-Server (Uvicorn), um ihn im Netzwerk zugänglich zu machen.
- Nach der Ausführung lauscht der Agent auf eingehende Anforderungen und antwortet entsprechend seinen definierten Fähigkeiten.
Ein "Hello World"-Agent kann eine grundlegende Grußfähigkeit offenlegen. Sobald sie gehostet wurde, kann sie auf alle Anforderungen reagieren, die an ihren Endpunkt gesendet wurden. Ein komplexerer Agent kann mehrere Fähigkeiten oder eine erweiterte Agent-Karte für authentifizierte Benutzer bedienen.
Das Hosten eines A2A-Agents kombiniert die Agent-Karte, den Anforderungshandler und den Agent-Executor, um ihn für Client- und Agentinteraktionen verfügbar zu machen. Diese Einrichtung stellt sicher, dass Aufgaben ordnungsgemäß verwaltet werden und Antworten zuverlässig bereitgestellt werden, sodass Ihr Agent an Multi-Agent-Workflows teilnehmen kann.