Bot de voz con Amazon Lex
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 funciones 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 esta guía, 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 Vonage Voice API, 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 Lex bot a la aplicación Voice API.
A continuación, configuraremos una aplicación de ejemplo utilizando API de voz de Vonage para gestionar 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.

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 uno antes de empezar.
Cuenta API de Vonage
Para completar esta guía, necesitará Cuenta API de Vonage. Si aún no tienes una, puedes registrarte hoy mismo y empezar a construir con crédito gratis. Una vez que tenga una Account, podrá encontrar su API Key y su API Secret en la parte superior de la página Panel de API de Vonage.
Esta guía también utiliza un número de teléfono virtual. Para adquirir uno, vaya a Numbers > Comprar números y busque uno que se ajuste a sus necesidades.

Configurar un bot de Amazon Lex de ejemplo
Inicie sesión en su consola de administración de AWS o Crear una Account AWS si aún no tiene uno.
Busque y, a continuación, vaya al servicio Amazon Lex, haga clic en Cree para iniciar el proceso de configuración del bot.

Como parte del proceso de configuración, se le presentará la opción de Cree el suyo propio bot o a Pruebe una muestra. Necesitarás un bot de muestra para este ejemplo, así que haz clic en ScheduleAppointment.

A continuación, puedes configurar el bot.
- Puedes mantener el nombre preestablecido del bot o introducir uno diferente
- anota el nombre del bot (por ejemplo
ScheduleAppointment), lo necesitará más adelante

- Seleccione el idioma deseado
- Seleccione Sí para el análisis de sentimientos
- Para este ejemplo concreto de bot, puede seleccionar No para COPPA
Una vez completados los ajustes, pulse Cree.

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

A continuación, para utilizar tu bot, tienes que publicarlo haciendo clic en Publique. Se te pedirá que elijas un alias para el bot. Los alias son buenos 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.

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

Configurar la conexión de referencia Lex
- Clonar el lex-reference-connection 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
LEX_REFERENCE_CONNECTION(por ejemploxxxx.ngrok.ioomyserver.mycompany.com:40000), ya que lo necesitará más adelante.
Configure la aplicación Voice API de ejemplo de Lex
- Clonar el lex-muestra-voz-aplicación en GitHub y siga 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.
- Anote el número de teléfono vinculado a su aplicación Voice API tal y como se explica en la sección Configura las credenciales y el número de teléfono de tu aplicación Voice API de Vonage ya que será necesario para el siguiente paso.
Interactúa por voz 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, habrás observado que el bot no reproduce un saludo, por lo que el interlocutor conectado no sabría cuándo empezar a hablar.
Además, el bot no reproduce un mensaje de confirmación después de que hayas confirmado verbalmente que quieres 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.

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

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 pasar al siguiente paso.

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.

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

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.

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

A continuación, tendrá que reconstruir el bot haciendo clic en Construya. Una vez finalizada la compilación, siga adelante y Publique 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.

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

En Respuestahaga clic en Añadir mensaje.

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.

Para finalizar su nuevo mensaje, pulse Guardar intención.
Por último, para confirmar los cambios, haga clic en Construya 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.

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 has configurado y que te leerá el bot de Lex.