
Share:
Diana ist Entwicklungsbeauftragte bei Vonage. Sie isst gerne frische Austern.
Erstellen eines Voice Chatbot mit Voice API & OpenAI API in Java
Lesedauer: 3 Minuten
Die Vonage Sprach-API ist ein Werkzeug für Entwickler zur Integration von Sprachanruf-Funktionen in ihre Anwendungen. Sie bietet Funktionen wie das Tätigen und Entgegennehmen von Anrufen, Anrufsteuerung (z. B. Anrufweiterleitung, Anrufaufzeichnung), Text-to-Speech- und Speech-to-Text-Funktionen, interaktive Sprachdialogsysteme (IVR) und mehr. Mit der Vonage Voice API können Entwickler Anwendungen wie Anrufüberwachungssysteme, virtuelle Assistenten, Konferenzgesprächsplattformen und Kundensupport-Hotlines erstellen.
In diesem Tutorial werden wir es mit der OpenAI API (ChatGPT) um einen Sprach-Chatbot zu erstellen. Wir gehen darauf ein, wie wir den Bot auf folgenden Plattformen einsetzen und anpassen können Vonage Cloud Runtime eingesetzt und angepasst wird, so dass Sie sich nicht selbst um Server und Hosting kümmern müssen.
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.
Voraussetzungen
Ein Vonage Entwickler-Konto. Wenn Sie noch keins haben, erstellen Sie ein Konto.
Eine Vonage-Telefonnummer. Diese kann mit dem kostenlosen Guthaben über das Vonage Entwickler-Dashboard unter "Nummern" (linke Seitenleiste) erworben werden.
Ein OpenAI-API-Schlüssel aus dem OpenAI API Dashboard. Bewahren Sie diesen Schlüssel an einem sicheren Ort auf, da Sie ihn nach der Erstellung nicht mehr sehen können. Sie müssen OpenAI-Credits kaufen, um eine Antwort auf Ihren Anruf zu erhalten.
Wie Sie Ihre Anwendung erstellen und bereitstellen
Nachdem Sie sich bei Ihrem Vonage-Entwicklerkonto angemeldet haben, gehen Sie zur Voice ChatGPT Bot (Java) CodeHub-Seite. Klicken Sie auf der Registerkarte "Code bereitstellen" auf "Neue Instanz bereitstellen".
Deploy Code Tab
Geben Sie im Pop-up einen Namen für Ihre Instanz ein, wählen Sie Ihre AWS-Region, weisen Sie diesem Projekt eine Vonage-Telefonnummer zu und geben Sie Ihr OpenAI-API-Geheimnis ein. Klicken Sie auf "Weiter". Ihre Anwendung wird unter "Bereitgestellte Instanzen" angezeigt. Klicken Sie auf "Launch", um sie zu starten.
Create IstanceSie werden auf eine neue Seite weitergeleitet, auf der Sie aufgefordert werden, eine Sprache auszuwählen. Sobald Sie Ihre bevorzugte Sprache ausgewählt haben, klicken Sie auf "Sprache einstellen".
Set Language
Wie man den Code anpasst
Gehen Sie auf die Registerkarte "Code holen" und klicken Sie auf "Neue Entwicklungsumgebung erstellen".
Get Code
Geben Sie im Pop-up einen Namen für Ihre Instanz ein, wählen Sie Ihre AWS-Region aus, weisen Sie diesem Projekt die gleiche Vonage-Telefonnummer wie zuvor zu und geben Sie erneut Ihr OpenAI-API-Geheimnis ein. Klicken Sie auf "Weiter". Sie werden dann zu Ihrem Arbeitsbereich weitergeleitet:
Cloud Runtime Sobald der Arbeitsbereich geöffnet ist, werden Sie sehen, dass die Beispielanwendung bereits bereitgestellt wurde und einsatzbereit ist! Rufen Sie die Vonage-Telefonnummer an, stellen Sie eine Frage, und Sie sollten eine Antwort erhalten.
Aufschlüsselung des Anrufablaufs
Die Beispielanwendung, die Sie im Vonage Cloud Runtime-Arbeitsbereich sehen, enthält bereits einen funktionierenden Code, den Sie in Ihre eigene Anwendung integrieren können. In diesem Abschnitt werden Sie durch den Ablauf der Anwendung geführt, wenn ein Anruf ausgelöst wird, und es wird erklärt, wie jede Java-Datei innerhalb dieses Prozesses funktioniert:
Der Anruf kommt an (
CallbackController.java): Der Anruf kommt bei der Vonage-Telefonnummer an, die der Anwendung zugewiesen ist.CallbackController.javaist der Haupteinstiegspunkt für den Anruf, der alle eingehenden Ereignisse verarbeitet.Begrüßung und Spracherkennungsfunktion (
VoiceCallService.java):VoiceCallService.javagibt eine Begrüßungsnachricht mit der Text-to-Speech-Funktion (TTS) von Vonage wieder. Anschließend wird mit der Spracherkennungsfunktion von Vonage auf die Sprache des Benutzers geachtet. An dieser Stelle würde der Benutzer seine Frage stellen.Fehlerbehandlung (
VoiceCallService.java): Wenn die Spracherkennung fehlschlägt,VoiceCallService.javaeine Fehlermeldung ab und wiederholt Schritt 2.OpenAI-Integration (
VoiceCallService.java): Wenn die Spracherkennung erfolgreich ist, wird die Frage des Benutzers aus dem erkannten Text extrahiert.VoiceCallService.javainteragiert mitOpenAI.javaum die Frage an den ChatGPT-Dienst von OpenAI zu senden, wobei Ihr API-Schlüssel verwendet wird, der inVCRConfig.java.Antwortgenerierung (Extern - OpenAI): ChatGPT von OpenAI generiert eine Antwort auf die Frage des Nutzers.
Antwortzustellung (
VoiceCallService.java):VoiceCallService.javaempfängt die Antwort von OpenAI. Es spielt Warteschleifenmusik, während es die Textantwort mit Hilfe der TTS-Funktionalität von Vonage in Sprache umwandelt (wahrscheinlich in LanguageModel.java konfiguriert). Schließlich wird die konvertierte Sprache dem Benutzer vorgespielt.
Zusätzliche Dateien:
Vonage.java: Ermöglicht den Zugriff auf Vonage-APIs über Anmeldeinformationen, die inVCRConfig.java.VCRConfig.java: Speichert Konfigurationsdetails für Vonage und andere Dienste, die von Spring Boot verwaltet werden.LanguageReader.java: Liest die Sprachkonfiguration aus einer JSON-Datei für TTS-Optionen und Meldungen.ChatGptApplication.java: Die Hauptanwendungsklasse, die den gesamten Prozess als Spring Boot-Anwendung ausführt.
Mach mit bei der Party
Sie haben erfolgreich einen Voice ChatGPT Bot mit der Vonage Voice API und der OpenAI API auf Vonage Cloud Runtime erstellt! Sie können den Bot noch weiter ausbauen, indem Sie Ihre eigenen Funktionen hinzufügen. Unsere Entwickler-Community wächst auf Slackund wir würden uns freuen, wenn Sie ein Teil davon werden. Wenn Sie dieses Tutorial ausprobieren, würde ich gerne Ihre Meinung dazu hören. Fühlen Sie sich frei, mich Tag mich auf X, früher bekannt als Twitter, und folgen Sie meinem Team auch dort.
