Bot de voz

Cómo crear un Voicebot con Voicegain, Twilio, RASA y AWS Lambda

Puede encontrar el código completo (menos la lógica RASA; tendrá que proporcionar el suyo propio) en nuestra github repositorio.

¿Qué es lo que hace?

La configuración le permite llamar a un número de teléfono y luego interactuar con un Voicebot que usa RASA como motor lógico de diálogo.

¿Cómo funciona?

Los componentes

  • Voz programable Twilio - Configuramos un número de teléfono de Twilio para que apunte a una aplicación TWiML que tenga la función AWS Lambda como URL de devolución de llamada.
  • Función AWS Lambda - una única función de Node.js con un activador de API Gateway (tipo de API HTTP simple).
  • API Voicegain STT - estamos usando la api /asr/transcribe/async con entrada a través de un flujo de websocket y salida a través de una devolución de llamada. La devolución de llamada se realiza a la misma función de AWS Lambda, pero la devolución de llamada de Voicegain es POST mientras que la devolución de llamada de Twilio es GET.
  • RASA - La lógica de diálogo la proporciona el servidor RASA NLU Dialog, al que se puede acceder a través de la API RestInput.
  • COMO S3 para almacenar los resultados de la transcripción en cada turno de diálogo.

Actualización de noviembre de 2021: No recomendamos S3 ni AWS Lambda para una configuración de producción. Se describe una revisión más actualizada de varias opciones para crear un Voice Bot aquí. Debería considerar reemplazar la funcionalidad de S3 y AWS Lambda por un servidor web que pueda mantener el estado, como Node.js o Python Flask.

Los escalones

El diagrama de secuencia se proporciona a continuación. Básicamente, la secuencia de operaciones es la siguiente:

  1. Llama a un número de teléfono de Twilio
  2. Twilio realiza una devolución de llamada inicial a la función Lambda
  3. La función Lambda envía «Hola» a RASA y RASA responde con el mensaje de diálogo inicial
  4. La función Lambda llama a Voicegain para iniciar una sesión de transcripción asíncrona. Voicegain responde con la URL de un websocket para la transmisión de audio
  5. La función Lambda responde a Twilio con un comando TWiML <Connect><Stream>para abrir una transmisión multimedia para Voicegain. El comando también contendrá el texto de la línea de pregunta.
  6. Voicegain usa TTS para generar a partir del texto de la pregunta RASA un mensaje de audio y lo transmite a través de websocket a Twilio para su reproducción.
  7. La persona que llama escucha el aviso y dice algo en respuesta
  8. Twilio transmite el audio de la persona que llama a Voicegain ASR para el reconocimiento de voz
  9. Voicegain ASR transcribe el discurso a texto y devuelve la llamada con el resultado de la transcripción a la función Lambda.
  10. La función lambda almacena el resultado de la transcripción en S3
  11. Voicegain cierra la sesión de websocket con Twilio
  12. Twilio se da cuenta del final de la sesión con ASR y devuelve la llamada a la función Lambda para saber qué hacer a continuación
  13. La función Lambda recupera el resultado del reconocimiento de S3 y lo pasa a RASA.
  14. RASA procesa la respuesta y genera la siguiente pregunta del diálogo
  15. Continuamos en el siguiente turno igual que en el paso 4.



Ganancia de voz: La IA de voz bajo tu control

Ganancia de voz: Cree aplicaciones de IA de voz con nuestras API de NLU de voz a texto y LLM. Graba y transcribe reuniones, llamadas a centros de atención al cliente, vídeos, etc. Obtén resúmenes, opiniones y mucho más basados en LLM. Cree bots de voz conversacionales que se integren con su plataforma CCaaS local o en la nube. Comience hoy mismo.

Descubre cómo funciona Voicegain — obtén una demostración de Voicegain hoy mismo.

Inscríbase hoy mismo en una aplicación
* No se requiere tarjeta de crédito.

Empresarial

¿Está interesado en personalizar el ASR o implementar Voicegain en su infraestructura?

Póngase en contacto con nosotros →
Voicegain - Speech-to-Text
Under Your Control