
Compartir:
Diana es desarrolladora de Vonage. Le gusta comer ostras frescas.
Crear un chatbot de voz con Voice API y OpenAI API en Java
Tiempo de lectura: 4 minutos
La Voice API de Vonage es una herramienta para que los desarrolladores integren funciones de llamadas de voz en sus aplicaciones. Ofrece funciones como realizar y recibir llamadas telefónicas, control de llamadas (por ejemplo, desvío de llamadas, grabación de llamadas), funciones de texto a voz y de voz a texto, sistemas de respuesta de voz interactiva (IVR) y mucho más. Con Voice API de Vonage, los desarrolladores pueden crear aplicaciones, como sistemas de filtrado de llamadas, asistentes virtuales, plataformas de conferencias telefónicas y líneas directas de atención al cliente.
En este tutorial, vamos a combinarlo con la API de OpenAI (ChatGPT) para crear un chatbot de voz. Repasaremos cómo implementar y personalizar el bot en Vonage Cloud Runtime que elimina la necesidad de administrar servidores y alojamiento por tu cuenta.
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.
Requisitos previos
Una cuenta de desarrollador de Vonage. Si no tienes una crea una Account.
Un número de teléfono de Vonage. Puedes comprarlo usando el crédito gratuito a través del panel para desarrolladores de Vonage en "Numbers" (barra lateral izquierda).
Una clave de API OpenAI desde el Panel de la API OpenAI. Guarda esta clave en un lugar seguro porque no podrás volver a verla después de crearla. Tendrás que comprar créditos OpenAI para recibir correctamente una respuesta a tu llamada.
Cómo crear e implantar su aplicación
Luego de iniciar sesión en tu cuenta de desarrollador de Vonage, ve a la página de CodeHub de Voice ChatGPT Bot (Java). En la pestaña "Implementar código", haz clic en "Implementar nueva instancia".
Deploy Code Tab
En la ventana emergente, asigna un nombre a tu instancia, elige tu región de AWS, asigna un número de teléfono de Vonage a este proyecto e introduce tu secreto de API de OpenAI. Haz clic en "Continuar". Tu aplicación aparecerá en "Instancias implementadas". Haz clic en "Lanzar" para iniciarla.
Create IstanceAccederás a una nueva página en la que se te pedirá que selecciones un idioma. Cuando hayas elegido el idioma que prefieras, haz clic en "Establecer idioma".
Set Language
Cómo personalizar el código
Ve a la pestaña "Obtener código" y haz clic en "Crear un nuevo entorno de desarrollo".
Get Code
En la ventana emergente, dale un nombre a tu instancia, elige tu región de AWS, asigna el mismo número de teléfono de Vonage que antes a este proyecto y vuelve a introducir tu secreto de API de OpenAI. Haz clic en "Continuar". A continuación, se te dirigirá a tu espacio de trabajo:
Cloud Runtime Una vez que el espacio de trabajo esté abierto, verás que la aplicación de muestra ya ha sido implementada y está lista para usar. Llama al número de teléfono de Vonage, haz una pregunta y recibirás una respuesta.
Desglose del flujo de llamadas
La aplicación de muestra que ves en el área de trabajo de Vonage Cloud Runtime ya tiene un código de trabajo que puedes incluir en tu propia aplicación. Esta sección te guiará a través del flujo de la aplicación cuando se activa una llamada, explicando cómo funciona cada archivo Java dentro de ese proceso:
Llega la llamada (
CallbackController.java): La llamada llega al número de teléfono de Vonage asignado a la aplicación.CallbackController.javaes el punto de entrada principal de la llamada que maneja todos los eventos entrantes.Saludo y reconocimiento de voz (
VoiceCallService.java):VoiceCallService.javareproduce un mensaje de saludo usando la función de texto a voz (TTS) de Vonage. Luego escucha el habla del usuario usando la función de reconocimiento de voz de Vonage. Aquí es donde el usuario haría su pregunta.Tratamiento de errores (
VoiceCallService.java): Si falla el reconocimiento de voz,VoiceCallService.javareproduce un mensaje de error y repite el paso 2.Integración de OpenAI (
VoiceCallService.java): Si el reconocimiento de voz tiene éxito, la pregunta del usuario se extrae del texto reconocido.VoiceCallService.javainteractúa conOpenAI.javapara enviar la pregunta al servicio ChatGPT de OpenAI utilizando su clave API almacenada enVCRConfig.java.Generación de respuestas (externo - OpenAI): ChatGPT de OpenAI genera una respuesta a la pregunta del usuario.
Entrega de la respuesta (
VoiceCallService.java):VoiceCallService.javarecibe la respuesta de OpenAI. Reproduce música de espera mientras convierte la respuesta de texto a voz usando la funcionalidad TTS de Vonage (probablemente configurada en LanguageModel.java). Por último, la voz convertida se reproduce para el usuario.
Archivos adicionales:
Vonage.java: Proporciona acceso a las API de Vonage mediante credenciales almacenadas enVCRConfig.java.VCRConfig.java: Almacena los detalles de configuración de Vonage y otros servicios gestionados por Spring Boot.LanguageReader.java: Lee la configuración de idioma de un archivo JSON para opciones y mensajes TTS.ChatGptApplication.java: La clase de aplicación principal que ejecuta todo el proceso como una aplicación Spring Boot.
Únete a la fiesta
¡Has creado con éxito un bot de Voice ChatGPT usando la Voice API de Vonage y la API de OpenAI en Vonage Cloud Runtime! Puedes mejorar aún más el bot agregando tus propias funciones. Nuestra comunidad de desarrolladores está creciendo en Slacky nos encantaría que formes parte de ella. Si terminas probando este tutorial, me encantaría conocer tu opinión. No dudes en etiquetarme en Xantes conocido como Twitter, y seguir a mi equipo allí también.
