https://d226lax1qjow5r.cloudfront.net/blog/blogposts/connecting-voice-calls-to-an-amazon-lex-bot/amazonlex_voiceapi_1200x627.png

Conexión de llamadas de Voice a un bot de Amazon Lex

Publicado el March 10, 2021

Tiempo de lectura: 6 minutos

Las plataformas de IA actuales ofrecen capacidades avanzadas con bots de voz y texto, motores de transcripción y motores de análisis de sentimientos.

Estas capacidades ayudan a los desarrolladores a crear bots que cumplan multitud de funciones, como ayudar a los usuarios a hacer pedidos, reservas, resolver problemas y mucho más.

En este tutorial, te guiaremos en la configuración de un bot básico de Amazon Lex, la configuración de una conexión de referencia de Lex y una aplicación de muestra de Voice API de Vonage, que te permitirá llamar a un número de teléfono e interactuar con el bot de Lex a través de la voz.

En la primera sección, configuraremos un bot de Amazon Lex de ejemplo.

A continuación, configuraremos una conexión de referencia Lex. Esta conexión de referencia Lex permite la transmisión bidireccional de audio de la voz de la persona que llama y las respuestas del bot Lex a través de WebSockets. También transmite las transcripciones y las puntuaciones de sentimiento del bot de Lex a la aplicación Voice API.

A continuación, configuraremos una aplicación de ejemplo utilizando la Voice API de Vonage para manejar una llamada entrante, establecer el WebSocket, recibir las transcripciones de la persona que llama y del bot, y las puntuaciones del análisis de sentimiento de las frases de la persona que llama.

El siguiente diagrama muestra una visión general de este ejemplo de arquitectura de integración.

A diagram that outlines how Amazon Lex and the Vonage Voice API work together to create a voice botA diagram that outlines how Amazon Lex and the Vonage Voice API work together to create a voice bot

Requisitos previos

Para realizar las acciones descritas en los pasos siguientes, necesitará una cuenta de Amazon Web Services. Si no dispone de una, puede crear una antes de comenzar.

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.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Configurar un bot de Amazon Lex de ejemplo

Inicie sesión en su consola de administración de AWS o cree una AWS Account si aún no tiene una.

Busque y, a continuación, vaya al servicio Amazon Lex, haga clic en Crear para iniciar el proceso de configuración del bot.

The Amazon Lex service dashboardThe Amazon Lex service dashboard

Como parte del proceso de configuración, se le presentará la opción de Crear su propio bot o de Probar una muestra. Necesitarás un bot de muestra para este ejemplo, así que haz clic en ProgramarCita.

The Amazon Lex Bot Creation DashboardThe Amazon Lex Bot Creation Dashboard

A continuación, puedes configurar el bot.

  • Puedes mantener el nombre preestablecido del bot o introducir uno diferente

  • anote el nombre del bot (por ejemplo, ScheduleAppointment), lo necesitará más adelante

The Lex bot setup screen from Amazon Web ServicesThe Lex bot setup screen from Amazon Web Services

  • Seleccione el idioma deseado

  • Seleccione para el Análisis de Sentimiento

  • Para este ejemplo concreto de bot, puede seleccionar No para COPPA

Una vez completados los ajustes, haga clic en Crear.

Final steps in the bot setup processFinal steps in the bot setup process

Cuando el proceso de creación del bot haya finalizado, verás una pantalla similar a la que se muestra a continuación.

The bot has been created successfullyThe bot has been created successfully

A continuación, para utilizar tu bot, tienes que publicarlo haciendo clic en Publicar. A continuación, se te pedirá que elijas un alias para el bot. Los alias son útiles para nombrar diferentes versiones de tu bot, como la que usas para desarrollo o la que usas para producción.

Anote el nombre del alias que ha introducido (por ejemplo, staging). Lo necesitará más adelante.

Adding an alias name to your Amazon Lex BotAdding an alias name to your Amazon Lex Bot

Haga clic en Publicar una vez más finalizará la configuración de tu bot de muestra.

Notification that the bot has been publishedNotification that the bot has been published

Configurar la conexión de referencia Lex

  • Clonar la lex-referencia-conexión de GitHub y siga las instrucciones descritas en el archivo léame.

  • Seleccione uno de los tipos de despliegue tal y como se explica en la sección Ejecución del código de conexión de referencia de Lex.

  • anote el argumento LEX_REFERENCE_CONNECTION (por ejemplo, xxxx.ngrok.io, o myserver.mycompany.com:40000), ya que lo necesitará más adelante.

Configure la aplicación Voice API de ejemplo de Lex

  • Clonar la aplicación lex-sample-voice-application en GitHub y sigue las instrucciones descritas en este repositorio.

  • Seleccione uno de los tipos de despliegue tal y como se explica en la sección Ejecución de la aplicación Voice API de ejemplo de Lex.

  • Anota el número de teléfono vinculado a tu aplicación Voice API como se explica en la sección Cómo configurar las credenciales y el número de teléfono de tu aplicación Voice API de Vonage ya que será necesario para el próximo paso.

Interactúa por Voice con el bot Lex

  • Llama al número de teléfono vinculado a tu aplicación Voice API para interactuar con el bot de Lex.

  • Verá en la consola de la aplicación de conexión de referencia de Lex y en la consola de la aplicación API de voz de ejemplo de Lex las transcripciones y los resultados del análisis de sentimiento.

Mejora del Lex Bot

Al llamar al bot de Lex utilizando el número de teléfono vinculado, es posible que hayas notado que el bot no reproduce un saludo, por lo que la persona conectada no sabría cuándo empezar a hablar.
Además, el bot no reproduce un mensaje de confirmación después de que usted confirme verbalmente que desea la cita.

Mejoremos nuestro bot Lex de ejemplo abordando ambos problemas.

Haz que el Lex Bot reproduzca un saludo

En su consola de AWS, vaya a Amazon Lex y, a continuación, a su bot Lex. Haz clic en el icono [+] situado junto a Intents.

The Lex DashboardThe Lex Dashboard

A continuación, haga clic en Crear intención.

Creating an intent for a Lex botCreating an intent for a Lex bot

Se te pedirá que introduzcas un nombre para tu nueva intención. Una vez que haya elegido uno, puede hacer clic en Añadir para continuar con el siguiente paso.

Entering a name for the intentEntering a name for the intent

En Ejemplos de enunciados:

Introduzca exactamente Good morningque actualmente está codificado en la aplicación de ejemplo Voice API de Lex como TTS reproducido al bot de Lex cuando se establece el WebSocket.

Haga clic en el icono [+] para añadir el nuevo enunciado.

Adding new utterances to a Lex botAdding new utterances to a Lex bot

A continuación, en Respuesta haga clic en Añadir mensaje.

Adding a new message to the bot responderAdding a new message to the bot responder

Introduzca uno o varios mensajes de bienvenida. El contenido y el número de mensajes dependen de ti. Por ejemplo, Hola, ¿en qué puedo ayudarle?o Hola, ¿cuál es el motivo de su llamada?

No olvide hacer clic en el icono [+] para cada mensaje introducido.

Adding a message response to a Lex botAdding a message response to a Lex bot

Después de añadir todos los mensajes deseados, haga clic en Guardar intención.

Listing message responsesListing message responses

A continuación, tendrá que reconstruir el bot haciendo clic en Reconstruir. Una vez finalizada la compilación, sigue adelante y Publica tu bot una vez más, como hiciste antes.

Se te pedirá que introduzcas un alias una vez más, y puedes usar el mismo alias que usaste antes para el bot de ejemplo.

Entering 'staging' as the alias for the Lex botEntering 'staging' as the alias for the Lex bot

Prueba de la actualización del Lex Bot

Llama al número de teléfono que has vinculado a la aplicación desde los pasos anteriores y escucharás "Por favor, espere". Ese TTS de la plataforma API de Vonage se reproduce tan pronto como tu llamada sea respondida por la plataforma.

Una vez configurado el WebSocket, la plataforma API de Vonage reproduce el mensaje TTS "Buenos días" al bot Lex (tú, como persona que llama, no lo escucharás).

El bot Lex reproduce uno de los mensajes de respuesta (del intento de saludo). Lo escuchas a través del teléfono, confirmando la conexión con el bot Lex.

A continuación, puede solicitar concertar una cita (con este ejemplo Lex bot).

Reproducir un mensaje de confirmación de cita

En su consola de AWS, vaya a Amazon Lex y, a continuación, a su bot Lex. Haga clic enEditar.

Editing the Lex botEditing the Lex bot

En Respuestahaga clic en Añadir mensaje.

Adding a new message to the Lex botAdding a new message to the Lex bot

Introduzca uno o varios mensajes de respuesta, por ejemplo:

Su cita para {Tipo de cita} el {Fecha} a las {Hora} ha sido confirmada. Hasta la vista.

Las palabras entre llaves corresponden a ranuras relacionadas con esta intención.

A continuación, haga clic en el icono [+] para añadir su nueva respuesta.

Adding a new message to the Lex botAdding a new message to the Lex bot

Para finalizar su nuevo mensaje, haga clic en Guardar intención.

Por último, para confirmar estos cambios, haga clic en Construir para reconstruir el bot con los nuevos cambios. Entonces, necesitarás, una vez más, publicar una nueva versión. Puedes mantener el mismo alias que en los pasos anteriores.

A successfully published botA successfully published bot

Prueba del Lex Bot actualizado

Para probar estos nuevos cambios, llame al número de teléfono vinculado a su cuenta e interactúe con el bot de Lex para concertar una cita. Esta vez oirás el mensaje de confirmación que el bot de Lex acaba de leerte.

Compartir:

https://a.storyblok.com/f/270183/400x401/43538b1c0b/tony-chan.png
Tony ChanIngeniero de soluciones sénior

Ingeniero de soluciones para clientes en Vonage. Con experiencia en gestión de productos, operaciones de redes y sistemas, atención al cliente, control de calidad y gestión de equipos de desarrollo de software, Tony trabaja en el sector de las telecomunicaciones, antes en Francia y ahora en Estados Unidos. Ayuda a grandes y pequeñas empresas de todo el mundo a desarrollar soluciones mediante servicios programables de voz, mensajería, vídeo y autenticación multifactor.