
Teilen Sie:
Autoren
Integrieren Sie Deepgram mit Vonage AI Studio für die Spracherkennungsfunktion
Lesedauer: 9 Minuten
Dieser Artikel wurde im Juli 2025 aktualisiert.
Einführung
Automatische Spracherkennung (Automatic Speech Recognition, ASR) ist eine entscheidende Komponente moderner sprachgesteuerter Applications, die es Maschinen ermöglicht, gesprochene Sprache in Text für die Verarbeitung und Interaktion umzuwandeln. ASR spielt eine zentrale Rolle in Contact Centern, virtuellen Assistenten und anderen sprachgesteuerten Diensten, indem sie die Echtzeitkommunikation zwischen Benutzern und KI-Agenten erleichtert. Vonage AI Studio bietet zwar eine integrierte ASR-Lösung, es gibt jedoch Szenarien, in denen der Einsatz einer benutzerdefinierte ASR-Engine bevorzugt werden kann. Die benutzerdefinierte ASR kann auf bestimmte Branchenjargons, Sprachen oder regionale Akzente zugeschnitten werden, die die integrierte ASR möglicherweise nicht so gut beherrscht.
Zusätzlich kann die Integration einer externen ASR-Engine, wie Deepgram mehr Kontrolle über die Genauigkeit, die Transkriptionsgeschwindigkeit und das benutzerdefinierte Vokabular bieten, was ein höheres Maß an Flexibilität in spezialisierten Anwendungen ermöglicht.
Dieser Artikel verwendet Deepgrameinen ASR-Engine-Dienstleister. Wir verwenden den mitgelieferten ASR-Konnektor um den Beispiel-AI-Agenten oder Ihren AI-Agenten mit der Deepgram ASR Engine zu integrieren. Da der ASR Connector den Telefonie-Teil verwaltet, werden wir einen AI Agent vom Typ HTTP anstelle eines AI Agenten vom Typ Telefonie verwenden. Der AI Agent und der ASR Connector kommunizieren über HTTP.
TLDR; Sie finden die vollständige fertige Integration auf Github
Voraussetzungen
Alle Links und entsprechenden Versionen für die Voraussetzungen sind im Code-Repository:
Ein Vonage API-Konto
> Hinweis: Wenn Sie das Deepgram Node SDK direkt verwenden, stellen Sie sicher, dass Sie die Version 3.x oder höher verwenden, das ist das neueste unterstützte SDK (Stand: Juli 2025). Dieses Tutorial verwendet die direkte WebSocket-Integration, die stabil bleibt und nicht vom SDK abhängig ist.
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
Deepgram ASR und Vonage AI Studio Integration Übersicht
ASR Connector Key Components
In diesem Prozess wird ein Kunde einen Anruf über das öffentliche Telefonnetz (Public Switched Telephone Network, PSTN) ein, der über den ASR-Anschluss. Der ASR Connector überbrückt den Sprachanruf des Kunden (PSTN 1) mit einer WebSocket-Verbindung, so dass das System den Anruf in Echtzeit verarbeiten kann. Der Ton des Kunden wird über diesen WebSocket an die ASR-Engineweitergeleitet, die die gesprochenen Worte in Text umwandelt. Diese Transkription wird dann vom ASR Connector an den AI Studio Agent.
Sobald der AI Studio Agent den transkribierten Text erhält, verarbeitet er die Eingaben des Kunden und erzeugt eine passende Antwort. Diese Antwort wird an den ASR Connector zurückgeschickt, wo sie in Text-zu-Sprache (TTS) umgewandelt und dem Kunden vorgespielt wird. Während der gesamten Interaktion hört die KI dem Kunden kontinuierlich zu, antwortet ihm und steuert das Gespräch. Wenn die KI feststellt, dass weitere Unterstützung erforderlich ist, kann das System den Anruf an einen menschlichen Agenten (PSTN 2) weiterleiten und damit signalisieren, dass die KI-Sitzung beendet ist.
Diese Einrichtung gewährleistet eine nahtlose Kommunikation zwischen dem Kunden und der KI durch automatische Spracherkennung und -beantwortung. Der ASR-Konnektor dient als Vermittler und verwaltet sowohl die Transkription als auch die Interaktion mit der KI, während die ASR-Engine die Echtzeitverarbeitung von gesprochenen Wörtern ermöglicht. Das System ist darauf ausgelegt, Anrufe effizient zu bearbeiten, kann aber an einen Live-Agenten weitergegeben werden, wenn komplexere Eingaben erforderlich sind.
Wie funktioniert der ASR Connector?
Der ASR-Konnektor ist ein einzelnes ausführbares Programm, das den Fluss von Sprachanrufen zwischen einem Kunden, der ASR-Engine und dem KI-Agenten verwaltet. Obwohl das Programm als einheitliche Codedatei funktionieren kann, ist es konzeptionell in zwei Teile unterteilt, um das Verständnis und die Bereitstellung zu vereinfachen. Teil 2 verwaltet die Telefonanrufe (PSTN 1 und PSTN 2) und die Interaktion mit dem KI-Agenten, während Teil 1 die Audioverarbeitung übernimmt, indem er die Audiodaten des Kunden an die ASR-Engine weiterleitet und die Transkriptionen an Teil 2 zurückgibt. Diese Aufteilung ermöglicht ein leichteres Verständnis des Ablaufs und kann bei Bedarf auch auf separaten Servern implementiert werden.
Wenn ein Anruf eingeleitet wird (entweder eingehend oder ausgehend), Teil 2 eine Sitzung mit dem KI-Agenten auf und verwendet einen WebSocket, um die Audiodaten des Kunden an Teil 1. Dieses Audio wird dann zur Transkription an die ASR-Engine weitergeleitet. Die ASR-Engine sendet den transkribierten Text an Teil 2 zurück, der ihn als Teil eines KI-"Schritts" an den KI-Agenten sendet. Der KI-Agent verarbeitet diese Transkription und sendet eine Antwort zurück, die dem Kunden mittels Text-to-Speech (TTS) über die PSTN-1-Strecke vorgespielt wird.
Die Interaktion wird auf diese Weise fortgesetzt, wobei jede Transkription als KI-Schritt gesendet wird und die Antworten dem Kunden vorgespielt werden. Wenn der KI-Agent feststellt, dass der Kunde an einen Live-Agenten weitergeleitet werden muss, sendet er eine Anfrage an Teil 2 um die KI-Sitzung zu beenden und die Weiterleitung einzuleiten. Teil 2 verbindet dann den Kunden (PSTN 1) mit dem Live-Agenten (PSTN 2) und beendet die WebSocket-Verbindung und die ASR-Sitzung. Von diesem Punkt an fließt der Ton direkt zwischen dem Kunden und dem Live-Agenten und schließt die Übertragung ab.
ASR Connector Overview
Wie funktioniert der KI-Agent?
Das Beispiel AI Studio Agent arbeitet sowohl im Modus für eingehende als auch für ausgehende Anrufe, und die Richtung wird durch den ASR-Konnektorbestimmt, der den Ablauf des AI Agenten initiiert. Die Hauptfunktion des Agenten besteht darin, den Benutzer nach seinem Namen zu fragen und ihn dann in eine Schleife zu verwickeln, in der er entweder einen Witz hören oder an einen Live-Agenten weitergeleitet werden kann. Wenn die Agentensitzung initialisiert wird, erhält sie wichtige Parameter wie die Anrufrichtung, eine eindeutige Anruf-ID (UUID) und eine Webhook-Adresse für die Bearbeitung von Anrufweiterleitungen.
Der Agent beginnt mit der Überprüfung des Richtungsparameters und begrüßt den Benutzer entsprechend. Anschließend fragt er den Benutzer über einen "Collect Input"-Knoten, der die Antwort speichert, nach seinem Namen. Die gesamte Kommunikation zwischen dem AI Agent und dem Benutzer läuft über den ASR-Verbinderder als Vermittler für die Übermittlung von Nachrichten und Benutzereingaben zwischen den beiden fungiert. Der KI-Agent interagiert nicht direkt mit dem Benutzer, sondern über API-Aufrufe, bei denen der ASR Connector den KI-Agenten über Benutzereingaben informiert und auf die Antwort des Agenten wartet.
Der Agent fragt weiter, ob der Benutzer einen Witz hören oder mit einem Live-Agenten verbunden werden möchte. Um die Witze zu liefern, ruft der Agent einen Webhook auf, der die Witze von einer externen Website abruft (z. B. von einer API für "Dad Jokes") und sie dann dem Benutzer über einen Knoten "Nachricht senden" vorliest. Der Benutzer wird erneut aufgefordert, zu entscheiden, ob er einen weiteren Witz hören oder weitergeleitet werden möchte. Basierend auf der Antwort des Nutzers, wird eine Klassifizierung Knoten fest, ob der Nutzer einen weiteren Witz hören oder mit einem Live-Agenten verbunden werden möchte.
Wenn sich der Benutzer für die Weiterleitung an einen Live-Agenten entscheidet, verwendet der Agent einen weiteren Webhook um die Anwendung zu benachrichtigen, die die Telefonieseite steuert. Der Webhook übergibt wichtige Informationen, wie eine Ansage für den Benutzer, die UUID zur eindeutigen Identifizierung des Anrufs und die Telefonnummer des Live-Agenten. Sobald dieser Webhook ausgelöst wird, hat der Agent seine Aufgabe erfüllt, und der Ablauf endet, da der Anruf an den Live-Agenten weitergeleitet wird.
Wie Sie Ihre Anwendung einrichten
Erstellen Sie ein Deepgram-Projekt und rufen Sie Ihren Deepgram-API-Schlüssel ab
Erstellen Sie einen ngrok-Tunnel, der auf Port 8000 lauscht.
Bitte notieren Sie sich die ngrok-Endpunkt-URL, da sie in den nächsten Abschnitten benötigt wird; die URL sieht wie folgt aus: https://yyyyyyyy.ngrok.io
Für weitere Hilfe siehe Testen mit ngrok
Melden Sie sich bei Ihrem Vonage Developer Dashboard an und erstellen Sie eine neue Anwendung und gehen Sie wie folgt vor:
Aktivieren von Voice-Funktionen
Sie sehen dies unter dem Abschnitt Fähigkeiten oder klicken Sie auf Bearbeiten, wenn Sie es nicht sehen.
Lassen Sie unter Antwort-URL HTTP GET stehen, und geben Sie https://yyyyyyyy.ngrok.io/answer (ersetzen Sie <Host> und <Port> durch den öffentlichen Hostnamen und ggf. den öffentlichen Port des Servers, auf dem diese Beispielanwendung läuft)
Wählen Sie unter Ereignis-URL die Option HTTP POST, und geben Sie https://yyyyyyyy.ngrok.io/event (ersetzen Sie <Host> und <Port> durch den öffentlichen Hostnamen und ggf. den öffentlichen Port des Servers, auf dem diese Beispielanwendung läuft)
Notieren Sie sich die Region Ihrer Bewerbung
Klicken Sie auf "Öffentlichen und privaten Schlüssel generieren".
Speichern Sie die private Schlüsseldatei in diesem Anwendungsordner als .private.key
WICHTIG! Vergessen Sie nicht, auf [Änderungen speichern] am unteren Rand des Bildschirms zu klicken, wenn Sie einen neuen Schlüsselsatz erstellt haben.
Verknüpfen Sie eine Telefonnummer mit dieser Anwendung, wenn noch keine mit der Anwendung verknüpft wurde.
Notieren Sie sich einige Werte, die Sie später im Lehrgang benötigen werden:
Ihr Vonage Account-API-Schlüsselwird im Folgenden als Umgebungsvariable API_KEY bezeichnet
Ihr Vonage Account-API-Geheimniswird im Folgenden als Umgebungsvariable API_SECRET bezeichnet.
Ihre Anwendungs-ID, im Folgenden als APP_ID bezeichnet
Die von Ihnen gewählte Region, die im Folgenden als Umgebungsvariable API_REGION bezeichnet wird
Die mit Ihrer Anwendung verknüpfte Telefonnummer, die im Folgenden als Umgebungsvariable SERVICE_PHONE_NUMBER bezeichnet wird
So richten Sie Ihren HTTP-Agenten ein
Gehen Sie zum AI Studio Dashboard
Importieren Sie den AI-Beispielagenten BlogAgent.zip aus dem Github-Repositorium
Sie können den Agentenname
Klicken Sie auf [Agent importieren].
Eröffnen Sie Ihren neuen Agenten
Rufnummer des Live-Agenten festlegen
Gehen Sie zu Eigenschaften (Symbole in der linken Spalte) > Parameter > Benutzerdefinierte Parameter > Anrufer
Ändern Sie den Wert auf die gewünschte Empfängernummer
es muss sich um eine Telefonnummer im E.164-Format ohne das führende '+'-Zeichen handeln
Klicken Sie auf "Schließen".
Notieren Sie sich ein paar weitere Werte, die Sie später im Lehrgang benötigen werden:
Ihre Agent-ID, im Folgenden als Umgebungsvariable AGENT_ID bezeichnet
Ihr Vonage AI API-Schlüssel, der im Folgenden als Umgebungsvariable X_VGAI_KEY bezeichnet wird
Verwechseln Sie Ihren Vonage AI API-Schlüssel (X-Vgai-Key) nicht mit Ihrem Vonage Account API-Schlüssel
Vonage AI Studio unterstützt jetzt erweiterte Funktionen wie Echtzeit-Event-Webhooks (`onSpeechEnd`,
onStepComplete), benutzerdefinierte Text-to-Speech-Sprachauswahl und Flüstermodus. Sie können diese Funktionen auf den Registerkarten "Events" und "Voice Settings" im Agent Builder erkunden.
So führen Sie die ASR-Anwendung lokal auf Ihrem Computer aus
.env-Beispiel in .env kopieren oder umbenennen
Das Argument für die Umgebungsvariable VG_AI_HOST sollte mit dem Argument der Umgebungsvariable API_REGION übereinstimmen.
Installieren Sie Node-Module mit dem Befehl: npm installieren
Starten Sie die Anwendung in einem anderen Terminal-Tab als Ihrem ngrok-Tunnel: node asr-connector
Die Anwendung läuft standardmäßig auf Port 8000. Denken Sie daran, Ihren ngrok-Tunnel auf demselben Port wie die Anwendung laufen zu lassen.
Diese Konfiguration eignet sich hervorragend für Tests, sollte aber nicht in der Produktion verwendet werden, ohne den ASR Connector zu sichern. Verwenden Sie in Produktionsumgebungen immer HTTPS, validieren Sie eingehende Anfragen mit signierten Token und beschränken Sie IP-Bereiche oder Authentifizierungs-Header, um sensible Audio- und Transkriptionsdaten zu schützen.
So testen Sie den Beispiel-AI-Agenten und den ASR Connector
Unabhängig davon, ob es sich bei dem ersten Anruf um einen ausgehenden oder eingehenden Anruf handelt, wird der Benutzer (z. B. der Kunde) nach seinem Namen gefragt, dann werden anstelle der Wartemusik einige Witze abgespielt, bis der Benutzer "nein" sagt, wenn er keine Witze mehr hören möchte, woraufhin der Anruf an den anderen Benutzer (z. B. den Live-Agenten) weitergeleitet wird, dessen Telefonnummer beim Einsatz des KI-Agenten festgelegt wurde.
Testen ausgehender PSTN-Anrufe
Sie können den ausgehenden Anruf auslösen, indem Sie die folgende Webadresse mit Ihrer ngrok-URL öffnen: https://yyyyyyyy.ngrok.io/startcall?callee=12995551515
So testen Sie eingehende PSTN-Anrufe
Rufen Sie die Telefonnummer an, die mit Ihrem Vonage API Account verknüpft ist.
Schlussfolgerung
In diesem Tutorial haben Sie gelernt, wie Sie Vonage AI Studio so erweitern können, dass es mit einer alternativen ASR-Engine integriert werden kann. Dazu verwenden Sie einen AI-Agenten vom Typ HTTP und die Serveranwendung ASR Connector, die den Telefonieteil (über die Vonage Voice API) übernimmt und die Verbindung zur ASR-Engine verwaltet.
Diese Integration ermöglicht die effiziente Abwicklung von Anrufen über das öffentliche Telefonnetz (PSTN), kann aber auch erweitert werden, um zusätzliche Kommunikationskanäle zu unterstützen. Eine mögliche Verbesserung besteht darin, diese Einrichtung für SIP-Anrufe zu erweitern, wodurch Sie die IP-basierte Telefonie nutzen könnten, was Unternehmen, die private Netzwerke nutzen, noch mehr Flexibilität bietet. Darüber hinaus könnten Sie die Integration so anpassen, dass sie mit WebRTC-Clients funktioniert, was eine Echtzeitkommunikation direkt über Webbrowser ermöglicht und damit eine geeignete Lösung für den Kundensupport auf Websites darstellt, ohne dass herkömmliche Telefondienste erforderlich sind.
Sie könnten auch in Erwägung ziehen, die standardmäßige Text-to-Speech-Engine in AI Studio durch einen Drittanbieter wie Eleven Labs oder Google Cloud TTS zu ersetzen und Webhooks zu verwenden, um das Spracherlebnis genauer zu steuern. Echtzeit-Transkriptions-Metadaten von Deepgram können auch verwendet werden, um Ereignisse in externen Systemen auszulösen; nützlich für Protokollierung, Analysen oder Eskalationslogik.
Wenn Sie Fragen haben, treten Sie unserem Gemeinschaft Slack oder senden Sie uns eine Nachricht auf X.
Zusätzliche Ressourcen
Ich bin zu großem Dank verpflichtet gegenüber Mark Berkelanddessen unschätzbare Hilfe und verblüffende Brillanz diesen ansonsten standardmäßigen Blog in ein technisches Kunstwerk von Weltklasse verwandelt haben.
