
Partager:
Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.
Construire un chatbot vocal avec Voice API et OpenAI API en Java
Temps de lecture : 4 minutes
L'API Voice API de Vonage de Vonage est un outil permettant aux développeurs d'intégrer des fonctions d'appel vocal dans leurs Applications. Elle offre des fonctions telles que l'émission et la réception d'appels téléphoniques, le contrôle des appels (par exemple, le transfert d'appel, l'enregistrement des appels), la synthèse vocale et la parole en texte, les systèmes de réponse vocale interactive (IVR), et bien plus encore. Avec l'API Voice de Vonage, les développeurs peuvent créer des Applications, telles que des systèmes de filtrage des appels, des assistants virtuels, des plateformes de conférence téléphonique et des services d'assistance téléphonique à la clientèle.
Dans ce tutoriel, nous allons la combiner avec l'API OpenAI API (ChatGPT) pour créer un chatbot vocal. Nous verrons comment déployer et personnaliser le bot sur Vonage Cloud Runtime ce qui élimine le besoin de gérer les serveurs et l'hébergement par soi-même.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Conditions préalables
Un Account de développeur Vonage. Si vous n'en avez pas, créez un Account.
Un numéro de téléphone Vonage. Ce numéro peut être acheté en utilisant le crédit gratuit via le tableau de bord des développeurs de Vonage sous "Numbers" (barre latérale gauche).
Une clé d'API clé API OpenAI à partir du tableau de bord de l'API OpenAI. Conservez cette clé dans un endroit sûr car vous ne pourrez plus la voir après l'avoir créée. Vous devrez acheter des crédits OpenAI pour recevoir une réponse à votre appel.
Comment créer et déployer votre application
Après vous être connecté à votre compte de développeur Vonage, rendez-vous sur la page CodeHub de Voice ChatGPT Bot (Java). Voice ChatGPT Bot (Java) Page CodeHub. Sous l'onglet "Déployer le code", cliquez sur "Déployer une nouvelle instance".
Deploy Code Tab
Dans la fenêtre contextuelle, donnez un nom à votre instance, choisissez votre région AWS, attribuez un numéro de téléphone Vonage à ce projet et saisissez votre secret API OpenAI. Cliquez sur "Continuer". Votre application apparaîtra sous " Instances déployées ". Cliquez sur "Launch" pour la démarrer.
Create IstanceVous serez dirigé vers une nouvelle page où il vous sera demandé de sélectionner une langue. Une fois que vous avez choisi votre langue préférée, cliquez sur "Définir la langue".
Set Language
Comment personnaliser le code
Allez dans l'onglet "Get Code" et cliquez sur "Create a new development environment".
Get Code
Dans la fenêtre contextuelle, donnez un nom à votre instance, choisissez votre région AWS, attribuez le même numéro de téléphone Vonage que précédemment à ce projet et saisissez à nouveau votre secret API OpenAI. Cliquez sur "Continuer". Vous serez alors dirigé vers votre espace de travail :
Cloud Runtime Une fois l'espace de travail ouvert, vous verrez que l'exemple d'application a déjà été déployé et qu'il est prêt à être utilisé ! Appelez le numéro de téléphone de Vonage, posez une question et vous devriez recevoir une réponse.
Ventilation du flux d'appels
L'exemple d'application que vous voyez dans l'espace de travail de Vonage Cloud Runtime comporte déjà un code fonctionnel que vous pouvez inclure dans votre propre application. Cette section vous guidera à travers le flux de l'application lorsqu'un appel est déclenché, en expliquant comment chaque fichier Java fonctionne au sein de ce processus :
L'appel arrive (
CallbackController.java) : L'appel arrive au numéro de téléphone Vonage attribué à l'application.CallbackController.javaest le point d'entrée principal de l'appel qui gère tous les événements entrants.Reconnaissance des vœux et de la parole (
VoiceCallService.java) :VoiceCallService.javajoue un message d'accueil à l'aide de la fonction de synthèse vocale de Vonage. Il écoute ensuite les paroles de l'utilisateur grâce à la fonction de reconnaissance vocale de Vonage. C'est ici que l'utilisateur pose sa question.Gestion des erreurs (
VoiceCallService.java) : Si la reconnaissance vocale échoue,VoiceCallService.javaaffiche un message d'erreur et répète l'étape 2.Intégration de l'OpenAI (
VoiceCallService.java) : Si la reconnaissance vocale réussit, la question de l'utilisateur est extraite du texte reconnu.VoiceCallService.javainteragit avecOpenAI.javapour envoyer la question au service ChatGPT d'OpenAI en utilisant votre clé API stockée dansVCRConfig.java.Génération de réponses (externe - OpenAI) : Le ChatGPT d'OpenAI génère une réponse à la question de l'utilisateur.
Livraison de la réponse (
VoiceCallService.java) :VoiceCallService.javareçoit la réponse de l'OpenAI. Il diffuse une musique d'attente tout en convertissant la réponse textuelle en parole à l'aide de la fonctionnalité TTS de Vonage (probablement configurée dans LanguageModel.java). Enfin, la parole convertie est diffusée à l'utilisateur.
Fichiers supplémentaires :
Vonage.java: Permet d'accéder aux API de Vonage à l'aide d'informations d'identification stockées dans le .VCRConfig.java.VCRConfig.java: Stocke les détails de configuration de Vonage et d'autres services gérés par Spring Boot.LanguageReader.java: Lit la configuration de la langue à partir d'un fichier JSON pour les options TTS et les messages.ChatGptApplication.java: La classe d'application principale qui exécute l'ensemble du processus en tant qu'application Spring Boot.
Participez à la fête
Vous avez réussi à créer un bot Voice ChatGPT à l'aide de l'API Voice de Vonage et de l'API OpenAI sur Vonage Cloud Runtime ! Vous pouvez améliorer le bot encore plus en ajoutant vos propres fonctionnalités. Notre communauté de développeurs s'agrandit sur Slacket nous aimerions que vous en fassiez partie. Si vous essayez ce tutoriel, j'aimerais savoir ce que vous en pensez. N'hésitez pas à me taguer sur Xanciennement connu sous le nom de Twitter, et suivre mon équipe sur ce site.
