https://a.storyblok.com/f/270183/1368x665/5109a1b421/create-a-voice-chatbot_24.png

Construire un chatbot vocal avec Voice API et OpenAI API en Java

Publié le June 6, 2024

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".

Page Voice ChatGPT Bot (Java) with the tab "Deploy Code" with a box around it to highlightDeploy 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.

Page showing a log of status (running), Instance name (bot), Region (AWS - US Virginia), Created (less than a minute ago), and a "Launch" buttonCreate 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".

Page showing "Vonage Voice ChatGPT Bot Call you Vonage Number (+1 confidential number blocked out) The bot language is currently set to:English (United States)"Set Language

Comment personnaliser le code

Allez dans l'onglet "Get Code" et cliquez sur "Create a new development environment".

How to Customize the Code page with the "Get Code" tab boxed to highlightGet 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 :

Workspace of Vonage Cloud Runtime showing the Voice ChatGPT Bot README.md fileCloud 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 :

  1. L'appel arrive (CallbackController.java) : L'appel arrive au numéro de téléphone Vonage attribué à l'application. CallbackController.java est le point d'entrée principal de l'appel qui gère tous les événements entrants.

  2. Reconnaissance des vœux et de la parole (VoiceCallService.java) : VoiceCallService.java joue 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.

  3. Gestion des erreurs (VoiceCallService.java) : Si la reconnaissance vocale échoue, VoiceCallService.java affiche un message d'erreur et répète l'étape 2.

  4. Intégration de l'OpenAI (VoiceCallService.java) : Si la reconnaissance vocale réussit, la question de l'utilisateur est extraite du texte reconnu. VoiceCallService.java interagit avec OpenAI.java pour envoyer la question au service ChatGPT d'OpenAI en utilisant votre clé API stockée dans VCRConfig.java.

  5. Génération de réponses (externe - OpenAI) : Le ChatGPT d'OpenAI génère une réponse à la question de l'utilisateur.

  6. Livraison de la réponse (VoiceCallService.java) : VoiceCallService.java reç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.

Partager:

https://a.storyblok.com/f/270183/384x384/b68093ec17/diana-pham.png
Diana PhamDéfenseur des développeurs

Diana est défenseur des développeurs chez Vonage. Elle aime manger des huîtres fraîches.