View a markdown version of this page

Tutorial: WebRTC com retransmissão TURN usando o Amazon Kinesis Video Streams - Amazon Bedrock AgentCore

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

Arquitetura

Diagrama de arquitetura mostrando o WebRTC em tempo de execução com o KVS AgentCore TURN retransmitindo por meio de uma VPC.
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 /invocations endpoint 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

  1. O cliente chama o agente para obter as credenciais do KVS TURN e a configuração do servidor ICE.

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

  3. O cliente e o agente trocam candidatos ao ICE para estabelecer conectividade por meio do servidor TURN.

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