View a markdown version of this page

Tutorial: WebRTC mit TURN-Weiterleitung mithilfe von Amazon Kinesis Video Streams - Amazon Grundgestein AgentCore

Tutorial: WebRTC mit TURN-Weiterleitung mithilfe von Amazon Kinesis Video Streams

In diesem Tutorial bauen Sie eine WebRTC-Sprachverbindung zwischen einem Browser-Client und einem auf AgentCore Runtime ausgeführten Agenten auf, wobei Sie das von Amazon Kinesis Video Streams (KVS) verwaltete TURN für die Medienweiterleitung verwenden. Der Agent verarbeitet Audio in Echtzeit mithilfe eines Amazon Bedrock Foundation-Modells für Speech-to-Speech-Konversationen.

Wenn Sie fertig sind, verfügen Sie über eine funktionierende WebRTC-Verbindung, über die Audio bidirektional zwischen dem Browser und Ihrem Agenten gestreamt wird.

Für dieses Tutorial ist eine VPC mit Internetausgang für die Konnektivität zu KVS TURN-Endpunkten erforderlich. Weitere Informationen finden Sie unter Überlegungen zum Internetzugang. Alle anderen Voraussetzungen werden von der Beispielanwendung erfüllt. Das Beispiel verwendet die AgentCore CLI für die Bereitstellung in AgentCore Runtime.

Die vollständige Beispielanwendung finden Sie unter WebRTC Voice Agent with KVS TURN on. GitHub

Architektur

Architekturdiagramm, das WebRTC auf AgentCore Runtime zeigt, wobei KVS TURN über eine VPC weiterleitet.
Browser-Client

Eine Webseite, die Mikrofonaudio mithilfe der WebRTC-API des Browsers aufzeichnet und die Audioantwort des Agenten wiedergibt.

AgentCore Laufzeit

Hostet den Agenten und stellt über ein Elastic Network Interface (ENI) in einem privaten Subnetz eine Verbindung zur VPC des Benutzers her.

Agent

Eine in AgentCore Runtime bereitgestellte Python-Anwendung, die WebRTC WebRTC-Signalisierung und die Verwaltung von TURN-Anmeldeinformationen über den /invocations Endpunkt verarbeitet und Audio zwischen dem Client und einem Foundation-Modell streamt.

Benutzer-VPC mit Internetausgang

Stellt Netzwerkkonnektivität vom Agenten zum KVS TURN Relay-Server bereit. Der Datenverkehr wird vom ENI im privaten Subnetz über ein NAT-Gateway und ein Internet-Gateway zu den TURN-Endpunkten geleitet.

KVS TURN Relayserver

Leitet den Medienverkehr zwischen dem Browser-Client und dem Agenten weiter. Der Agent erhält mithilfe der API temporäre TURN-Anmeldeinformationen von KVS. GetIceServerConfig

Funktionsweise

  1. Der Client ruft den Agenten auf, um die KVS TURN-Anmeldeinformationen und die ICE-Serverkonfiguration abzurufen.

  2. Der Kunde erstellt ein WebRTC-Angebot und sendet es an den Agenten. Der Agent stellt eine mit KVS TURN-Servern konfigurierte Peer-Verbindung her und gibt eine Antwort zurück.

  3. Der Client und der Agent tauschen ICE-Kandidaten aus, um die Konnektivität über den TURN-Server herzustellen.

  4. Sobald die Verbindung hergestellt ist, streamt der Client Mikrofonaudio über WebRTC an den Agenten. Der Agent leitet das Audio an ein Amazon Bedrock Foundation-Modell weiter und streamt die gesprochene Antwort des Modells zurück an den Kunden.