Tutoriel : WebRTC avec relais TURN à l'aide d'Amazon Kinesis Video Streams
Dans ce didacticiel, vous allez créer une connexion vocale WebRTC entre un client de navigateur et un agent exécuté sous Runtime, en utilisant AgentCore TURN géré par Amazon Kinesis Video Streams (KVS) pour le relais multimédia. L'agent traite le son en temps réel à l'aide d'un modèle de base Amazon Bedrock pour les conversations vocales.
Lorsque vous aurez terminé, vous disposerez d'une connexion WebRTC fonctionnelle où le son sera diffusé de manière bidirectionnelle entre le navigateur et votre agent.
Ce didacticiel nécessite un VPC avec sortie Internet pour la connectivité aux points de terminaison KVS TURN. Pour plus d'informations, consultez la section Considérations relatives à l'accès à Internet. Tous les autres prérequis sont gérés par l'exemple d'application. L'exemple utilise la AgentCore CLI pour le déploiement sur AgentCore Runtime.
Pour un exemple d'application complet, voir WebRTC Voice Agent avec
Architecture
- Client de navigateur
-
Page Web qui capture le son du microphone à l'aide de l'API WebRTC du navigateur et diffuse la réponse audio de l'agent.
- AgentCore Temps d'exécution
-
Héberge l'agent et se connecte au VPC de l'utilisateur via une Elastic Network Interface (ENI) dans un sous-réseau privé.
- Agent
-
Une application Python déployée sur AgentCore Runtime qui gère la signalisation WebRTC et la gestion des informations d'identification TURN via
/invocationsle point de terminaison, et diffuse le son entre le client et un modèle de base. - VPC utilisateur avec sortie Internet
-
Fournit une connectivité réseau entre l'agent et le serveur relais KVS TURN. Le trafic est acheminé depuis l'ENI vers le sous-réseau privé via une passerelle NAT et une passerelle Internet pour atteindre les points de terminaison TURN.
- Serveur relais KVS TURN
-
Relaie le trafic multimédia entre le client du navigateur et l'agent. L'agent obtient des informations d'identification TURN temporaires auprès de KVS à l'aide de l'GetIceServerConfigAPI.
Comment ça marche
-
Le client appelle l'agent pour récupérer les informations d'identification KVS TURN et la configuration du serveur ICE.
-
Le client crée une offre WebRTC et l'envoie à l'agent. L'agent crée une connexion homologue configurée avec les serveurs KVS TURN et renvoie une réponse.
-
Le client et l'agent échangent des candidats ICE pour établir une connectivité via le serveur TURN.
-
Une fois connecté, le client diffuse le son du microphone à l'agent via WebRTC. L'agent transmet l'audio à un modèle Amazon Bedrock Foundation et transmet la réponse vocale du modèle au client.