Digital Developer Conference: Hybrid Cloud - Aprende a crear apps inteligentes y seguras en una nube híbrida: ágil, flexible y portable. 22-Set Inscríbete Ahora

Crear un asistente de voz de Kubernetes

Resumen

Imagine estar lejos de su computadora cuando se da cuenta de que necesita implementar un respaldo en un clúster de Kubernetes que aún no ha aprovisionado. Sabiendo que el aprovisionamiento de un clúster puede tomar varios minutos después de seleccionar la configuración correcta para su tarea, visualiza sentado frente a su computadora mirando sin hacer nada a la pantalla, esperando que se inicialice el clúster y deseando poder comenzar a trabajar de inmediato.

¡No en mi mundo!

Este patrón de código muestra cómo construir un asistente de voz para Kubernetes en la nube.

Obtenga ejemplos de construcción de aplicaciones con Watson™ Assistant y el servicio Kubernetes en IBM Cloud. Aprenda a crear una aplicación de Android utilizando IBM Identity and Access Management, OpenID y un servidor de respaldo Node.js conectado a Watson Assistant.

Descripción

Este patrón de código de desarrollador muestra una aplicación de asistente de voz Kubernetes para un dispositivo móvil Android. Simplemente puede hablar en su teléfono en lenguaje natural para aprovisionar, ver y administrar sus clústeres de Kubernetes sin tener que hacerlo manualmente en la interfaz de la nube.

El patrón muestra una aplicación de Android con la que interactúan los usuarios de dispositivos móviles y un servidor de respaldo Node.js que mantiene la lógica de la aplicación y habla con IBM Cloud Kubernetes Service. El patrón demuestra el uso de IBM Identity and Access Management utilizando las especificaciones OpenID Connect para una aplicación nativa. También muestra Watson Assistant para comprender el lenguaje natural hablado por los usuarios móviles, manteniendo el contexto del discurso y convirtiendo la intención de los hablantes en comandos ejecutables de Kubernetes que se ejecutan en IBM Cloud.

En este code pattern, aprenderá las siguientes habilidades:

  • Crear una aplicación de Android conectada con las especificaciones OpenID Connect para IBM Identity and Access Management.
  • Desarrollar un servidor Node.js utilizando Express.js, que interactúa con el Asistente Watson y IBM Cloud Kubernetes Service.
  • Configurar el Asistente de Watson para crear intentos, entidades y un flujo de diálogo.
  • Convertir voz a texto y texto a voz, de forma nativa para una aplicación de Android.
  • Administrar tokens de autorización de OpenID Connect en una aplicación de Android.
  • Implementar un servidor de respaldo Node.js en el IBM Cloud Kubernetes Service.

Flujo

Diagrama de flujo de arquitectura de asistente de voz de Kubernetes

  1. Un usuario inicia sesión en una cuenta de IBM Cloud en la aplicación de Android.
  2. El usuario es redirigido a la página de inicio de sesión de IBM Cloud en los navegadores de sus teléfonos, utilizando el protocolo OpenID Connect de IBM Identity and Access Management.
  3. Después de una autenticación exitosa, se inicia una solicitud para un token genérico de IBM Identity and Access Management.
  4. La solicitud envía el código de autorización recuperado del Paso 2 al Protocolo OpenID Connect para obtener el token genérico.
  5. Se inicia una solicitud para obtener la lista de cuentas asociadas con el ID de usuario de IBM Cloud.
  6. La solicitud envía el token de acceso genérico de IBM Identity and Access Management a la API de IBM Account Management para recuperar la lista de cuentas asociadas con el ID de usuario. El usuario selecciona una cuenta de la lista.
  7. Se inicia una solicitud para obtener un token de IBM Identity and Access Management para la cuenta seleccionada.
  8. La solicitud envía el token de actualización genérico de IBM Identity and Access Management y la ID de la cuenta seleccionada al protocolo OpenID Connect para recuperar un token vinculado a la cuenta en la nube seleccionada.
  9. El objeto de token sigue en el dispositivo del usuario para su uso futuro, hasta su vencimiento.
  10. Se inicia una solicitud para obtener la lista de grupos de recursos para la cuenta seleccionada.
  11. La solicitud envía el token de acceso específico de la cuenta a la API de IBM Resource Controller para recuperar la lista de grupos de recursos asociados con la cuenta. El usuario selecciona un grupo de recursos de la lista.
  12. Se inicia una solicitud para obtener una sesión de Watson Assistant.
  13. La solicitud se comunica con el SDK de Watson Assistant API a través del servidor Node.js para obtener una nueva sesión de Watson Assistant.
  14. La configuración de la aplicación de Android se completa y la vista cambia para que el usuario pueda comenzar a hablar con la aplicación.
  15. El usuario toca el botón del micrófono y habla para enviar un comando de voz a la aplicación.
  16. El discurso se convierte en texto usando el convertidor nativo de voz a texto de Android.
  17. Se emite una nueva solicitud de token. (Utiliza el token de actualización anterior si el token de acceso ha expirado).
  18. Ese token y la entrada de texto del usuario se envían al servidor backend de Node.js alojado en un clúster Kubernetes en IBM Cloud.
  19. La entrada de texto del usuario se envía a Watson Assistant para extraer conocimiento sobre el texto y las entidades presentes.
  20. Si el contexto para la entrada del usuario está completo y se obtiene todo el conocimiento requerido para ejecutar el comando Kubernetes, la siguiente información se envía a la API del servicio Kubernetes en IBM Cloud: una solicitud para la acción del usuario, el token de acceso del usuario, otros parámetros para ejecutar el comando.
  21. El resultado del comando ejecutado (o una pregunta de seguimiento para obtener más detalles sobre la solicitud del usuario) se envía a la aplicación de Android.
  22. El texto recibido por la aplicación se convierte en voz utilizando el convertidor nativo de voz a texto de Android.
  23. El discurso se transmite al usuario para continuar la conversación.

Instrucciones

¿Listo para comenzar? Encuentre los pasos técnicos detallados para este patrón de código en el archivo [README (En Inglés)] (https://github.com/IBM/kubernetes-speech-assistant/blob/master/README.md) en el Repositorio de GitHub.

  1. Clone el repositorio.
  2. Configure IBM Identity and Access Management.
  3. Cree servicios de IBM Cloud.
  4. Configure Watson Assistant.
  5. Implemente el servidor NodeJS en Kubernetes.
  6. Configure la aplicación de Android.
  7. Ejecute la aplicación.

Aviso

El contenido aquí presentado fue traducido de la página IBM Developer US. Puede revisar el contenido original en este link.

Legend