Déployer AG-UI des serveurs dans AgentCore Runtime
Amazon Bedrock AgentCore Runtime vous permet de déployer et d'exécuter des serveurs Agent User Interface (AG-UI) dans le AgentCore Runtime. Ce guide explique comment créer, tester et déployer votre premier AG-UI serveur.
Dans cette section, vous allez apprendre :
-
Comment Amazon Bedrock soutient AgentCore AG-UI
-
Comment créer un AG-UI serveur
-
Comment tester votre serveur en local
-
Comment déployer votre serveur sur AWS
-
Comment appeler votre serveur déployé
Pour plus d'informations sur AG-UI, voir le contrat de AG-UI protocole.
Rubriques
Comment Amazon Bedrock soutient AgentCore AG-UI
La prise en charge AgentCore du AG-UI protocole d'Amazon Bedrock permet l'intégration aux serveurs d'interface utilisateur des agents en agissant comme une couche proxy. Lorsqu'il est configuré pour AG-UI, Amazon Bedrock AgentCore s'attend à ce que les conteneurs exécutent les serveurs sur le port 8080 situé sur le /invocations chemin pour HTTP/SSE ou /ws pour les WebSocket connexions. Bien qu'il AG-UI utilise le même port et les mêmes chemins que le protocole HTTP, le moteur d'exécution les distingue en fonction de l'--protocolindicateur spécifié lors de la configuration du déploiement.
Amazon Bedrock AgentCore agit comme un proxy entre les clients et votre AG-UI conteneur. Les demandes provenant de l'InvokeAgentRuntimeAPI sont transmises à votre conteneur sans modification. Amazon Bedrock AgentCore gère l'authentification (SigV4/OAuth 2.0), l'isolation des sessions et le dimensionnement.
Principales différences par rapport aux autres protocoles :
- Port
-
AG-UI les serveurs fonctionnent sur le port 8080 (identique au port HTTP, contre 8000 pour MCP, 9000 pour A2A)
- Chemin
-
AG-UI les serveurs utilisent
/invocationspour HTTP/SSE et/wspour WebSocket (identique au protocole HTTP) - Format du message
-
Utilise les flux d' Server-Sent événements via Events (SSE) pour le streaming ou WebSocket pour la communication bidirectionnelle
- Focus sur le protocole
-
Agent-to-User interaction (contre MCP pour les outils, A2A pour agent à agent)
- Authentification
-
Supporte les schémas d'authentification Sigv4 et OAuth 2.0
Pour de plus amples informations, veuillez consulter https://docs.ag-ui.com/introduction
Utilisation AG-UI avec AgentCore Runtime
Dans ce didacticiel, vous allez créer, tester et déployer un AG-UI serveur.
Pour des exemples complets et des implémentations spécifiques au framework, consultez la documentation AG-UI Quickstart
Rubriques
Conditions préalables
-
Python 3.12 ou supérieur, ou Node.js 18+ pour TypeScript, installé avec une compréhension de base du langage que vous avez choisi
-
Un AWS compte avec les autorisations appropriées et les informations d'identification locales configurées
-
Compréhension du AG-UI protocole et des concepts de communication agent-utilisateur basés sur les événements
Étape 1 : Créez votre AG-UI serveur
AG-UI est pris en charge par plusieurs frameworks d'agents. Choisissez le cadre qui correspond le mieux à vos besoins. AWS Strands fournit des AG-UI intégrations de première partie pour Python et. TypeScript
Installation des packages obligatoires
Installez des packages pour AWS Strands avec AG-UI support :
Exemple
Pour les autres frameworks, consultez les intégrations de AG-UI frameworks
Créez votre premier AG-UI serveur
Créez votre fichier AG-UI serveur dans la langue de votre choix. Les deux exemples ci-dessous produisent un serveur qui écoute sur le port8080, expose le AG-UI trafic et effectue /invocations des bilans /ping de santé, le contrat que AgentCore Runtime attend des AG-UI conteneurs.
Exemple
Pour des exemples complets et spécifiques au framework, voir :
Comprendre le code
- Streams d'événements
-
AG-UI utilise Server-Sent Events (SSE) pour diffuser les événements typés vers le client
- Point de terminaison /invocations
-
Point de terminaison principal pour HTTP/SSE la communication (identique au protocole HTTP)
- Port 8080
-
AG-UI les serveurs s'exécutent sur le port 8080 par défaut dans Runtime AgentCore
Étape 2 : Testez votre AG-UI serveur localement
Exécutez et testez votre AG-UI serveur dans un environnement de développement local.
Démarrez votre AG-UI serveur
Exécutez votre AG-UI serveur localement :
Exemple
Vous devriez voir une sortie indiquant que le serveur fonctionne sur le port8080.
Tester le point de terminaison
Testez le point de terminaison SSE avec une AG-UI demande correctement formatée :
curl -N -X POST http://localhost:8080/invocations \ -H "Content-Type: application/json" \ -d '{ "threadId": "test-123", "runId": "run-456", "state": {}, "messages": [{"role": "user", "content": "Hello, agent!", "id": "msg-1"}], "tools": [], "context": [], "forwardedProps": {} }'
Vous devriez voir les flux d' AG-UI événements renvoyés au format SSE, y compris RUN_STARTEDTEXT_MESSAGE_CONTENT, et les RUN_FINISHED événements.
Étape 3 : Déployez votre AG-UI serveur sur Bedrock Runtime AgentCore
Déployez votre AG-UI serveur à AWS l'aide du kit de AgentCore démarrage Amazon Bedrock.
Installation des outils de déploiement
Installez le kit de AgentCore démarrage Amazon Bedrock :
pip install bedrock-agentcore-starter-toolkit
Commencez par créer un dossier de projet avec la structure suivante :
Exemple
Configuration du groupe d'utilisateurs Cognito pour l'authentification
Configurez l'authentification pour un accès sécurisé à votre serveur déployé. Pour obtenir des instructions détaillées sur la configuration de Cognito, voir Configurer le groupe d'utilisateurs de Cognito pour l'authentification. Cela fournit les jetons OAuth nécessaires pour un accès sécurisé à votre serveur déployé.
Configuration de votre AG-UI serveur pour le déploiement
Après avoir configuré l'authentification, créez la configuration de déploiement. Passez le point d'entrée correspondant à la langue que vous avez utilisée :
Exemple
-
Sélectionnez le protocole AGUI
-
Configuration avec la configuration OAuth telle que définie à l'étape précédente
Déployer vers AWS
Déployez votre agent :
agentcore deploy
Après le déploiement, vous recevrez un ARN d'exécution de l'agent qui ressemble à ce qui suit :
arn:aws:bedrock-agentcore:us-west-2:accountId:runtime/my_agui_server-xyz123
Étape 4 : Invoquez votre AG-UI serveur déployé
Appelez votre AgentCore AG-UI serveur Amazon Bedrock déployé et interagissez avec les flux d'événements.
Configurer les variables d’environnement
Configurer les variables d’environnement
-
Exportez le jeton porteur en tant que variable d'environnement. Pour la configuration du jeton porteur, voir Configurer le groupe d'utilisateurs Cognito pour l'authentification.
export BEARER_TOKEN="<BEARER_TOKEN>" -
Exportez l'ARN de l'agent.
export AGENT_ARN="arn:aws:bedrock-agentcore:us-west-2:accountId:runtime/my_agui_server-xyz123"
Invoquer le AG-UI serveur
Pour appeler le AG-UI serveur par programmation, choisissez la langue qui correspond à votre client :
Exemple
Pour créer des applications d'interface utilisateur complètes, consultez CopilotKit
Annexe
Rubriques
Configuration du groupe d'utilisateurs Cognito pour l'authentification
Pour obtenir des instructions détaillées sur la configuration de Cognito, voir Configurer le groupe d'utilisateurs de Cognito pour l'authentification dans la documentation MCP. Le processus de configuration est identique pour les AG-UI serveurs.
Résolution des problèmes
AG-UI-specific Problèmes courants
Les problèmes courants que vous pouvez rencontrer sont les suivants :
- Conflits portuaires
-
AG-UI les serveurs doivent fonctionner sur le port 8080 dans l' AgentCore environnement d'exécution
- Incompatibilité entre les méthodes d'autorisation
-
Assurez-vous que votre demande utilise la même méthode d'authentification (OAuth ou Sigv4) que celle avec laquelle l'agent a été configuré
- Erreurs de format d'événement
-
Assurez-vous que vos événements respectent les spécifications AG-UI du protocole. Voir la documentation sur AG-UI les événements