View a markdown version of this page

Tutorial: WebRTC con inoltro TURN con Amazon Kinesis Video Streams - Amazon Bedrock AgentCore

Tutorial: WebRTC con inoltro TURN con Amazon Kinesis Video Streams

In questo tutorial, creerai una connessione vocale WebRTC tra un client browser e un agente in esecuzione AgentCore su Runtime, utilizzando TURN gestito da Amazon Kinesis Video Streams (KVS) per l'inoltro multimediale. L'agente elabora l'audio in tempo reale utilizzando un modello di base Amazon Bedrock per la conversazione da voce a voce.

Al termine, disporrai di una connessione WebRTC funzionante in cui l'audio viene trasmesso in modo bidirezionale tra il browser e il tuo agente.

Questo tutorial richiede un VPC con uscita Internet per la connettività agli endpoint KVS TURN. Per ulteriori informazioni, consulta Considerazioni sull'accesso a Internet. Tutti gli altri prerequisiti vengono gestiti dall'applicazione di esempio. L'esempio utilizza la AgentCore CLI per la distribuzione in Runtime. AgentCore

Per l'applicazione di esempio completa, vedi WebRTC Voice Agent con KVS TURN attivo. GitHub

Architecture

Diagramma dell'architettura che mostra WebRTC in fase di esecuzione con inoltro KVS TURN AgentCore tramite un VPC.
Client del browser

Una pagina Web che acquisisce l'audio del microfono utilizzando l'API WebRTC del browser e riproduce la risposta audio dell'agente.

AgentCore Runtime

Ospita l'agente e si collega al VPC dell'utente tramite un'interfaccia di rete elastica (ENI) in una sottorete privata.

Agente

Un'applicazione Python distribuita su AgentCore Runtime che gestisce la segnalazione WebRTC e la gestione delle credenziali TURN attraverso l'/invocationsendpoint e trasmette l'audio tra il client e un modello base.

VPC utente con uscita Internet

Fornisce la connettività di rete dall'agente al relay server KVS TURN. Il traffico proveniente dall'ENI si dirige verso la sottorete privata attraverso un gateway NAT e un gateway internet per raggiungere gli endpoint TURN.

Server di inoltro KVS TURN

Inoltra il traffico multimediale tra il client del browser e l'agente. L'agente ottiene le credenziali TURN temporanee da KVS utilizzando l'API. GetIceServerConfig

Come funziona

  1. Il client richiama l'agente per recuperare le credenziali KVS TURN e la configurazione del server ICE.

  2. Il cliente crea un'offerta WebRTC e la invia all'agente. L'agente crea una connessione peer configurata con i server KVS TURN e restituisce una risposta.

  3. Il cliente e l'agente si scambiano i candidati ICE per stabilire la connettività tramite il server TURN.

  4. Una volta connesso, il client trasmette l'audio del microfono all'agente tramite WebRTC. L'agente inoltra l'audio a un modello base Amazon Bedrock e trasmette la risposta vocale del modello al cliente.