View a markdown version of this page

Tutoriel : WebRTC avec relais TURN à l'aide d'Amazon Kinesis Video Streams - Amazon Bedrock AgentCore

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 KVS TURN activé. GitHub

Architecture

Schéma d'architecture illustrant le WebRTC en cours AgentCore d'exécution avec relais KVS TURN via un VPC.
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 /invocations le 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

  1. Le client appelle l'agent pour récupérer les informations d'identification KVS TURN et la configuration du serveur ICE.

  2. 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.

  3. Le client et l'agent échangent des candidats ICE pour établir une connectivité via le serveur TURN.

  4. 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.