View a markdown version of this page

Tutorial: WebRTC con retransmisión TURN mediante Amazon Kinesis Video Streams - Amazon Bedrock AgentCore

Tutorial: WebRTC con retransmisión TURN mediante Amazon Kinesis Video Streams

En este tutorial, creará una conexión de voz WebRTC entre un cliente de navegador y un agente que se ejecuta AgentCore en Runtime, utilizando TURN gestionado por Amazon Kinesis Video Streams (KVS) para la retransmisión multimedia. El agente procesa el audio en tiempo real mediante un modelo básico de Amazon Bedrock para conversaciones de voz a voz.

Cuando haya terminado, dispondrá de una conexión WebRTC activa en la que el audio se transmite bidireccionalmente entre el navegador y su agente.

Este tutorial requiere una VPC con salida de Internet para conectarse a los puntos finales de KVS TURN. Para obtener más información, consulte Consideraciones sobre el acceso a Internet. Todos los demás requisitos previos se gestionan en la aplicación de ejemplo. En el ejemplo, se utiliza la AgentCore CLI para la implementación en AgentCore Runtime.

Para ver el ejemplo completo de la aplicación, consulte Agente de voz WebRTC con KVS TURN activado. GitHub

Arquitectura

Diagrama de arquitectura que muestra WebRTC AgentCore en tiempo de ejecución con la retransmisión KVS TURN a través de una VPC.
Cliente de navegador

Una página web que captura el audio del micrófono mediante la API WebRTC del navegador y reproduce la respuesta de audio del agente.

AgentCore Tiempo de ejecución

Aloja el agente y se conecta a la VPC del usuario mediante una interface de red elástica (ENI) en una subred privada.

Agente

Una aplicación de Python implementada en AgentCore Runtime que gestiona la señalización WebRTC y la administración de credenciales TURN a través /invocations del punto final, y transmite audio entre el cliente y un modelo básico.

VPC de usuario con salida de Internet

Proporciona conectividad de red desde el agente al servidor de retransmisión KVS TURN. El tráfico se enruta desde el ENI en la subred privada a través de una puerta de enlace NAT y una puerta de enlace de Internet para llegar a los puntos finales de TURN.

Servidor de retransmisión KVS TURN

Retransmite el tráfico multimedia entre el navegador, el cliente y el agente. El agente obtiene las credenciales TURN temporales de KVS mediante la API. GetIceServerConfig

Funcionamiento

  1. El cliente invoca al agente para obtener las credenciales TURN de KVS y la configuración del servidor ICE.

  2. El cliente crea una oferta de WebRTC y la envía al agente. El agente crea una conexión entre pares configurada con los servidores KVS TURN y devuelve una respuesta.

  3. El cliente y el agente intercambian candidatos a ICE para establecer la conectividad a través del servidor TURN.

  4. Una vez conectado, el cliente transmite el audio del micrófono al agente a través de WebRTC. El agente reenvía el audio a una modelo de Amazon Bedrock Foundation y transmite la respuesta hablada de la modelo al cliente.