View a markdown version of this page

Integrationen - Amazon Nova

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Integrationen

Amazon Nova 2 Sonic kann in verschiedene Frameworks und Plattformen integriert werden, um Konversations-KI-Anwendungen zu erstellen. Diese Integrationen bieten vorgefertigte Komponenten und vereinfachte APIs für gängige Anwendungsfälle.

Strands, Agenten

Strands Agents ist ein einfaches, aber leistungsstarkes SDK, das einen modellgetriebenen Ansatz für die Erstellung und Ausführung von KI-Agenten verfolgt. Von einfachen Konversationsassistenten bis hin zu komplexen autonomen Workflows, von der lokalen Entwicklung bis zur Produktionsbereitstellung — Strands Agents passt sich Ihren Bedürfnissen an.

Eine umfassende Dokumentation zum Strands-Framework finden Sie in der offiziellen Strons-Dokumentation.

The Strands BidiAgent bietet Audio- und Textinteraktionen in Echtzeit über persistente Streaming-Verbindungen. Im Gegensatz zu herkömmlichen Anfrage-Antwort-Mustern führt dieser Agent lang andauernde Konversationen und unterstützt Unterbrechungen, gleichzeitige Verarbeitung und kontinuierliche Audioantworten.

Voraussetzungen:

  • Python 3.8 oder höher installiert

  • Anmeldeinformationen für AWS konfigurierte Benutzer mit Zugriff auf Amazon Bedrock

  • Grundkenntnisse der Python-Syntax async/await

Code-Beispiel:

Installation (Installation):

Installieren Sie die erforderlichen Pakete:

pip install strands-agents strands-agents-tools

Führen Sie dieses Beispiel aus:

import asyncio from strands.experimental.bidi.agent import BidiAgent from strands.experimental.bidi.io.audio import BidiAudioIO from strands.experimental.bidi.io.text import BidiTextIO from strands.experimental.bidi.models.novasonic import BidiNovaSonicModel from strands_tools import calculator async def main(): """Test the BidirectionalAgent API.""" # Audio and Text input/output utility audio_io = BidiAudioIO(audio_config={}) text_io = BidiTextIO() # Nova Sonic model model = BidiNovaSonicModel(region="us-east-1") async with BidiAgent(model=model, tools=[calculator]) as agent: print("New BidiAgent Experience") print("Try asking: 'What is 25 times 8?' or 'Calculate the square root of 144'") await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] ) if __name__ == "__main__": try: asyncio.run(main()) except KeyboardInterrupt: print("\nConversation ended by user") except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc()
from strands.experimental.bidi.agent import BidiAgent from strands.experimental.bidi.io.audio import BidiAudioIO from strands.experimental.bidi.io.text import BidiTextIO from strands.experimental.bidi.models.novasonic import BidiNovaSonicModel from strands_tools import calculator
  • BidiAgent: Die wichtigste Agentenklasse, die bidirektionale Konversationen orchestriert

  • BidiAudioIO: Verwaltet die Audioeingabe und -ausgabe für Sprachinteraktionen

  • BidiTextIO: Bietet Textausgabe für Transkriptionen und Antworten

  • BidiNovaSonicModel Der Modell-Wrapper Nova 2 Sonic

  • Taschenrechner: Ein vorgefertigtes Tool für mathematische Operationen

audio_io = BidiAudioIO(audio_config={}) text_io = BidiTextIO()

Das BidiAudio IO verwaltet den Mikrofoneingang und den Lautsprecherausgang, während BidiText IO Texttranskriptionen und -antworten in der Konsole anzeigt.

model = BidiNovaSonicModel(region="us-east-1")

Erstellen Sie eine Nova Sonic-Modellinstanz. Der Parameter Region gibt die AWS Region an, in der das Modell bereitgestellt wird.

async with BidiAgent(model=model, tools=[calculator]) as agent: await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] )

Der Agent wird erstellt mit:

  • Modell: Das zu verwendende Nova 2 Sonic-Modell

  • Tools: Liste der Tools, die der Agent aufrufen kann (z. B. Taschenrechner)

  • Eingänge: Audioeingang vom Mikrofon

  • Ausgänge: Audioausgabe an Lautsprecher und Textausgabe an die Konsole

Framework-Integrationen

Amazon Nova 2 Sonic kann in verschiedene Frameworks und Plattformen integriert werden, um anspruchsvolle Sprachanwendungen zu erstellen. Die folgenden Beispiele veranschaulichen Integrationsmuster mit gängigen Frameworks.

Amazon Bedrock AgentCore bietet eine verwaltete Laufzeitumgebung für die Bereitstellung von Nova 2 Sonic-Anwendungen mit Sicherheit und Skalierbarkeit auf Unternehmensniveau. AgentCorevereinfacht die Bereitstellung von KI-Sprachanwendungen in Echtzeit, indem es sich um Infrastruktur, Authentifizierung und Konnektivität kümmert. WebSocket

AgentCore Architektur, die Client-Apps zeigt, die über Nova Sonic eine Verbindung WebSocket zum Runtime-Container herstellen.

Die wichtigsten Funktionen:

  • Bidirektionales Streaming — Native Unterstützung für die Vollduplex-Streaming-Schnittstelle von Nova Sonic mit Echtzeit-Eventverarbeitung und Kommunikation mit geringer Latenz.

  • WebSocket Infrastruktur — Production-ready WebSocket Server mit automatischer Skalierung, Verbindungsmanagement und Fehlerbehebung.

  • Container-Bereitstellung — Stellen Sie Nova Sonic-Anwendungen als Container in einer verwalteten Infrastruktur mit horizontaler Skalierung und unabhängiger Versionierung bereit.

  • Unternehmenssicherheit — Fine-grained Authentifizierung über IAM und SigV4, VPC-Isolierung und umfassende Auditprotokollierung.

Die Architektur zeigt, wie Client-Anwendungen über WebSocket SigV4-Authentifizierung eine Verbindung zu AgentCore Runtime herstellen. Die containerisierte Umgebung umfasst Ihren WebSocket Server, Ihre Anwendungslogik und den Nova Sonic Client, die alle über die bidirektionale Streaming-API mit Nova Sonic kommunizieren.

Vorteile:

  • Vereinfachter Betrieb: Konzentrieren Sie sich auf die Anwendungslogik und AgentCore verwalten Sie gleichzeitig Infrastruktur, Skalierung und Zuverlässigkeit.

  • Unternehmenssicherheit: Built-in Authentifizierungs-, Autorisierungs- und Compliance-Funktionen für Produktionsbereitstellungen.

  • Kosteneffizient: Dank automatischer Skalierung und Ressourcenoptimierung zahlen Sie nur für das, was Sie tatsächlich nutzen.

  • Produktivität der Entwickler: Verkürzen Sie die Zeit bis zur Produktion mit verwalteter WebSocket Infrastruktur und Container-Bereitstellung.

Anwendungsfälle

  • Sprachassistenten für den Kundenservice mit sicherer Authentifizierung

  • Sprachanwendungen für Unternehmen, die eine IAM-Integration erfordern

  • Multi-tenant Sprachplattformen mit isolierten Bereitstellungen

  • Voice-enabled Anwendungen, für die Konformität und Prüfprotokolle erforderlich sind

Eine ausführliche Dokumentation zur Bereitstellung von Nova Sonic mit AgentCore finden Sie in der Amazon AgentCore Bedrock-Dokumentation.

LiveKit ist eine Open-Source-Plattform für die Erstellung von Audio- und Videoanwendungen in Echtzeit. Die Integration mit Amazon Nova 2 Sonic ermöglicht es Entwicklern, dialogorientierte Sprachschnittstellen zu erstellen, ohne komplexe Audiopipelines oder Signalprotokolle verwalten zu müssen.

Ausführliche Implementierungsbeispiele und Codebeispiele finden Sie in der LiveKit AWS Integrationsdokumentation.

Architekturdiagramm, das die LiveKit Integration Amazon Bedrock mit WebRTC und Nova Sonic zeigt.

So funktioniert es:

  • Client-Ebene: Web-, Mobil- oder Desktop-Anwendungen stellen eine Verbindung über LiveKit die Client-SDKs her, die die Audioaufnahme, das WebRTC-Streaming und die Wiedergabe übernehmen.

  • LiveKit Server: Dient als Echtzeit-Kommunikationszentrum, verwaltet WebRTC-Verbindungen, leitet Audiostreams weiter und verarbeitet den Sitzungsstatus mit Optimierung bei niedriger Latenz.

  • LiveKit Agent: Python-based Agent, der Audio vom Server empfängt, es über das Nova Sonic-Plugin verarbeitet und Antworten zurückstreamt. Beinhaltet integrierte Funktionen wie Sprachaktivitätserkennung und Abbiegeverwaltung.

  • Amazon Nova 2 Sonic: Verarbeitet den Audiostream über eine bidirektionale Streaming-API, führt Spracherkennung durch, versteht natürliche Sprache und generiert Konversationsantworten mit synthetisierter Sprache.

Pipecat ist ein Framework für die Entwicklung von Sprach- und multimodalen Konversations-KI-Anwendungen. Es bietet eine modulare, Pipeline-basierte Architektur, die mehrere Komponenten orchestriert, um intelligente Sprachanwendungen mit Amazon Nova Sonic und anderen Diensten zu erstellen. AWS

Ausführliche Implementierungsbeispiele und Codebeispiele finden Sie in der PipeCat AWS Integrationsdokumentation.

Die wichtigsten Funktionen:

  • Pipeline-Architektur: Modulares Python-based Framework für die Zusammenstellung von KI-Sprachkomponenten wie ASR, NLU, TTS und mehr.

  • Pipecat-Flows: State-Management-Framework für den Aufbau komplexer Konversationslogik und die Ausführung von Tools.

  • WebRTC-Unterstützung: Built-in Integration mit Daily und anderen WebRTC-Anbietern für Audio-Streaming in Echtzeit.

  • AWS Integration: Native Unterstützung für Amazon Bedrock, Amazon Transcribe und Amazon Polly.

Architekturdiagramm, das den Spracheingabefluss über VAD Amazon Transcribe, Pipecat Flows und Amazon Polly zur Sprachausgabe über WebRTC zeigt. Amazon Bedrock

Die Architektur umfasst:

  • WebRTC-Transport: Real-time Audio-Streaming zwischen Client-Geräten und Anwendungsserver.

  • Sprachaktivitätserkennung (VAD): Silero VAD mit konfigurierbarer Spracherkennung und Geräuschunterdrückung.

  • Spracherkennung: Amazon Transcribe für eine genaue Sprache-zu-Text-Konvertierung in Echtzeit.

  • Natürliches Sprachverständnis: Amazon Nova Pro auf Bedrock mit latenzoptimierter Inferenz.

  • Ausführung des Tools: Pipecat Flows für API-Integration und Backend-Serviceanfragen.

  • Generierung von Antworten: Amazon Nova Pro für kohärente, kontextsensitive Antworten.

  • Text-to-speech: Amazon Polly mit generativen Stimmen für eine naturgetreue Sprachausgabe.

Stellen Sie Ihre Nova Sonic-Anwendungen AWS mithilfe von Infrastructure as Code mit AWS CDK (Cloud Development Kit) bereit. Dieser Ansatz ermöglicht wiederholbare, versionskontrollierte Bereitstellungen mit integrierten Best Practices.

Optionen für die Bereitstellung

  • Amazon ECS (Elastic Container Service): Vollständig verwaltete Container-Orchestrierung mit Application Load Balancer Balancer-Integration, auto-scaling und serverloser Fargate-Ausführung.

  • Amazon EKS (Elastic Kubernetes Services): Managed Kubernetes für komplexe Orchestrierung, fortschrittliche Netzwerke, Bereitstellungen in mehreren Regionen und ein umfangreiches Tooling-Ökosystem.

  • AWS CDK: AWS CDK ermöglicht es Ihnen, die Cloud-Infrastruktur mithilfe vertrauter Programmiersprachen zu definieren.

Ein vollständiges, produktionsreifes Beispiel für die Bereitstellung von Nova Sonic mit AWS CDK finden Sie im CDK-Beispiel unter. Speech-to-Speech GitHub In diesem Beispiel wird Folgendes gezeigt:

Architekturdiagramm, das Benutzer zeigt, die sich über HTTPS und mit statischen Website- und WebSocket Speech-to-Speech-Dienstkomponenten verbinden, mit Integration für Nova Sonic. Amazon Bedrock
  • Komplettes CDK-Infrastruktur-Setup mit TypeScript

  • WebSocket Serverimplementierung für Kommunikation in Echtzeit

  • Container-Einsatz mit ECS und Fargate

  • Application Load Balancer Balancer-Konfiguration zur Unterstützung WebSocket

  • Einrichtung von VPC-Netzwerken und Sicherheitsgruppen

  • CloudWatch Überwachung und Protokollierung

  • Bewährte Methoden für Produktionsbereitstellungen

Multi-agent Architektur ist ein weit verbreitetes Muster für die Entwicklung von KI-Assistenten, die komplexe Aufgaben bewältigen. In einem von Nova 2 Sonic unterstützten Sprachassistenten koordiniert diese Architektur mehrere spezialisierte Agenten, wobei jeder Agent unabhängig arbeitet, um Parallelverarbeitung, modulares Design und skalierbare Lösungen zu ermöglichen.

Nova Sonic dient als Orchestrator in einem System mit mehreren Agenten und erfüllt zwei Hauptfunktionen:

Verwaltung des Gesprächsflusses: Stellt sicher, dass alle erforderlichen Informationen gesammelt werden, bevor mit dem nächsten Gesprächsschritt fortgefahren wird.

Klassifizierung der Absichten: Analysiert Benutzeranfragen und leitet sie an den entsprechenden spezialisierten Unteragenten weiter.

Architekturdiagramm, das den Anrufverlauf vom Benutzer bis zur Begrüßung an drei Agenten zeigt, die sich um Authentifizierungs-, Bank- und Hypothekendienstleistungen kümmern.

Das obige Diagramm zeigt einen Sprachassistenten für Bankgeschäfte, der eine Multi-Agenten-Architektur verwendet. Der Konversationsablauf beginnt mit einer Begrüßung und der Erfassung des Benutzernamens. Anschließend werden Anfragen im Zusammenhang mit Bankgeschäften oder Hypotheken über spezialisierte Unteragenten bearbeitet.

Beispiel für einen Gesprächsablauf:

  1. Der Benutzer stellt eine Verbindung zum Sprachassistenten her.

  2. Nova 2 Sonic: „Hallo! Wie ist dein Name?“

  3. Benutzer: „Ich heiße John“

  4. Nova 2 Sonic: „Hallo John, wie kann ich dir heute helfen?“

  5. Benutzer: „Ich möchte meinen Kontostand überprüfen“

  6. Nova 2 Sonic: [Routen zum Authentifizierungsagenten]

  7. Authentifizierungsagent: „Bitte geben Sie Ihre Konto-ID an“

  8. Benutzer: „12345"

  9. Authentifizierungsagent: [Überprüft die Identität]

  10. Nova 2 Sonic: [Routen zum Bankagenten]

  11. Bankagent: „Ihr aktuelles Guthaben beträgt 5.431.10$“

Dieses Beispiel zeigt zwar, dass Subagenten das auf Amazon Bedrock bereitgestellte Strands Agents-Framework verwenden AgentCore, aber die Architektur ist flexibel. Sie können wählen:

  • Ihr bevorzugtes Agenten-Framework

  • Jeder LLM-Anbieter

  • Benutzerdefinierte Hosting-Optionen

  • Verschiedene Orchestrierungsmuster

Vorteile:

  • Modularität: Jeder Agent konzentriert sich auf eine bestimmte Domäne, wodurch das System einfacher zu warten und zu aktualisieren ist.

  • Skalierbarkeit: Fügen Sie neue Agenten hinzu, ohne bestehende zu ändern, sodass Ihr System mit Ihren Anforderungen mitwachsen kann.

  • Parallele Verarbeitung: Mehrere Agenten können gleichzeitig arbeiten, was die Reaktionszeiten bei komplexen Anfragen verbessert.

  • Spezialisierung: Jeder Agent kann mithilfe der am besten geeigneten Tools und Wissensdatenbanken für seine spezifische Aufgabe optimiert werden.

  • Fehlerisolierung: Wenn ein Agent ausfällt, funktionieren die anderen weiter, wodurch die allgemeine Systemzuverlässigkeit verbessert wird.

Weitere Informationen und Codebeispiele finden Sie in diesem Blog.

Praktische Beispiele finden Sie im Nova Sonic Workshop Multi-Agent Lab.

Amazon Nova 2 Sonic lässt sich mit Telefonanbietern integrieren, um AI-powered Sprachanwendungen zu ermöglichen, auf die über Telefonanrufe zugegriffen werden kann. Dieser Leitfaden behandelt die Integration mit Twilio, Vonage und anderen SIP-based Systemen zum Aufbau von Contact-Center-Lösungen und Sprachagenten.

Twilio: Cloud-Kommunikationsplattform mit programmierbaren Sprach- und Medienstreaming-Funktionen.

Vonage: Globale Kommunikations-APIs mit Sprach WebSocket -, Audiostreaming- und SIP-Konnektivität.

AWS bietet eine umfassende Beispielimplementierung, die Nova Sonic in einer Contact-Center-Umgebung mit Echtzeitanalysen und Telefonie-Integration demonstriert.

Repository: Beispiel für ein Sonic Contact Center mit Telefonie