Tutorial: WebRTC com retransmissão TURN usando o Amazon Kinesis Video Streams
Neste tutorial, você cria uma conexão de voz WebRTC entre um cliente de navegador e um agente em execução AgentCore no Runtime, usando o TURN gerenciado pelo Amazon Kinesis Video Streams (KVS) para retransmissão de mídia. O agente processa áudio em tempo real usando um modelo Amazon Bedrock Foundation para conversação de fala para fala.
Ao concluir, você terá uma conexão WebRTC ativa na qual o áudio é transmitido bidirecionalmente entre o navegador e seu agente.
Este tutorial requer uma VPC com saída de internet para conectividade com endpoints KVS TURN. Para obter mais informações, consulte Considerações sobre acesso à Internet. Todos os outros pré-requisitos são atendidos pelo aplicativo de amostra. O exemplo usa a AgentCore CLI para implantação no Runtime. AgentCore
Para obter a amostra completa do aplicativo, consulte WebRTC Voice Agent com KVS TURN ativado
Arquitetura
- Cliente de navegador
-
Uma página da Web que captura o áudio do microfone usando a API WebRTC do navegador e reproduz a resposta de áudio do agente.
- AgentCore Tempo de execução
-
Hospeda o agente e se conecta à VPC do usuário por meio de uma interface de rede elástica (ENI) em uma sub-rede privada.
- Agente
-
Um aplicativo Python implantado no AgentCore Runtime que manipula a sinalização WebRTC e o gerenciamento de credenciais TURN por meio do
/invocationsendpoint e transmite áudio entre o cliente e um modelo básico. - VPC de usuário com saída de internet
-
Fornece conectividade de rede do agente ao servidor de retransmissão KVS TURN. O tráfego é roteado da ENI na sub-rede privada por meio de um gateway NAT e um gateway de internet para alcançar os endpoints do TURN.
- Servidor de retransmissão KVS TURN
-
Retransmite o tráfego de mídia entre o cliente do navegador e o agente. O agente obtém credenciais TURN temporárias do KVS usando a API. GetIceServerConfig
Como funciona
-
O cliente chama o agente para obter as credenciais do KVS TURN e a configuração do servidor ICE.
-
O cliente cria uma oferta WebRTC e a envia ao agente. O agente cria uma conexão de mesmo nível configurada com os servidores KVS TURN e retorna uma resposta.
-
O cliente e o agente trocam candidatos ao ICE para estabelecer conectividade por meio do servidor TURN.
-
Depois de conectado, o cliente transmite o áudio do microfone para o agente pelo WebRTC. O agente encaminha o áudio para um modelo da Amazon Bedrock Foundation e transmite a resposta falada do modelo de volta ao cliente.