Blog

Microsoft Bot Framework : ChatBots inteligentes con Azure

En esta ocasión vamos a hablar del Microsoft Bot Framework, una herramienta muy completa para crear Bots Empresariales.
Para quienes no están familiarizados con el termino Bot, un Bot es un programa que funciona de manera automática, permitiendo realizar una o múltiples tareas.

En el pasado tuvimos los primeros bots que trataban de emular una conversación o proporcionar un tipo de ayuda, entre los mas conocidos tenemos a Eliza (1966), los IRC bots (1990), Clippy — MS Office 97; así hoy en día tenemos bots como Siri, los bots de Slack / Telegram.

¿Cómo usar Cosmos DB en lugar del estado de bot Framework?

Bot Framework está diseñado para la creación de prototipos y utiliza Bot Framework State para almacenar los datos de la conversación. El límite de tamaño de almacenamiento de 32 KB se puede utilizar para el entorno de desarrollo y prueba. NoSQL DB permite al usuario almacenar datos en forma de documentos, lo que se denomina Azure Cosmos DB y la base de datos multimodelo tiene propiedades importantes como distribución global, escalabilidad horizontal y disponibilidad.

CosmosDb está separado del bot, por lo que si el bot se reinicia, simplemente lee la información de estado del CosmosDb y vuelve a estar donde lo dejó. Siempre que el usuario tenga el mismo UserId que antes, el bot leerá su diálogo, conversación y estado de usuario de Cosmos.

¿Cuál es el beneficio de usar cosmos db como almacenamiento de estado?

Quizás ayudaría pensar en ello de otra manera. Cuando el bot usa el almacenamiento de memoria, los datos del usuario se almacenan en la RAM, como si estuviera trabajando en un documento de Word. Si su computadora falla en el medio de escribir su documento de Word, perderá todo porque los datos no se conservan. Sin embargo, si hace clic en Guardar, guarda la información en el disco duro. Cuando reinicia la computadora, puede cargar su Word Doc guardado desde el disco duro. Del mismo modo, si el bot se reinicia, puede cargar la información guardada de Cosmos.

¿Qué es el servicio de correo electrónico SendGrid?

SendGrid es un servicio de correo electrónico basado en la nube que ofrece un sistema confiable de entrega de correo electrónico transaccional, escalabilidad y análisis en tiempo real junto, con API flexibles que facilitan la integración personalizada.

El paquete NuGet de SendGrid es la forma más fácil de obtener la API de SendGrid y configurar la aplicación con todas las dependencias. NuGet es una extensión de Visual Studio incluida en Microsoft Visual Studio 2015 y superior que facilita la instalación y la actualización de las bibliotecas y las herramientas.

  • Envío automático de recepciones o compra de confirmaciones a clientes.
  • Administración de las listas de distribución para el envío mensual de folletos y promociones a clientes.
  • Recopilación de métricas en tiempo real para, por ejemplo, direcciones de correo electrónico bloqueadas y captación de clientes.
  • Reenvío de las consultas de los clientes.
  • Procesamiento de mensajes de correo electrónico entrantes.

LUIS

La capacidad de comprender lo que su usuario quiere decir de manera conversacional y contextual puede ser una tarea difícil, pero puede brindarle a su bot una sensación de conversación más natural. Language Understanding (LUIS) es un servicio de API basado en la nube que le permite hacer precisamente eso para que su bot pueda reconocer la intención de los mensajes del usuario, permitir un lenguaje más natural de su usuario y dirigir mejor el flujo de la conversación.

QNA MARKER

QnA Maker proporciona una capa conversacional de preguntas y respuestas sobre los datos. Esto permite que el bot envíe una pregunta a QnA Maker y reciba una respuesta sin tener que analizar e interpretar la intención de la pregunta.

Uno de los requisitos básicos para crear su propia instancia del servicio QnA Maker es rellenarlo con preguntas y respuestas. En muchos casos, las preguntas y respuestas ya existen en el contenido, como las preguntas más frecuentes u otra documentación; otras veces, es posible que quiera personalizar las respuestas a las preguntas de una manera más natural y conversacional.

Azure Application Insights

Microsoft Bot Framework  es  una forma súper sencilla de crear e integrar tus bots con diferentes plataformas. Sin embargo, después de todo lo leído, uno de los puntos que podrías echar en falta es la monitorización en este área y es por ello que es importante aprender cómo monitorizar tus bots con Azure Application Insights.

¿Qué herramientas ofrece?

  • Alertas inteligentes y manuales de los índices de error y otras métricas, así como de la disponibilidad.
  • Gráficos de las métricas respecto al tiempo.
  • Búsqueda de diagnósticos en instancias de las solicitudes, excepciones, eventos personalizados, seguimiento de registros, vistas e página, dependencias y llamadas AJAX.
  • Análisis: Lenguaje para consultar los datos de telemetría
  • Paneles: Posibilidad de creación de gráficos para visualizar todos los componentes de la aplicación.

Canales en Azure

Imaginemos por un momento que tenemos listo el ChatBot y queremos publicarlo para los usuarios en Skype, Slack, Facebook y Telegram: ¿Cuántas horas tendremos que invertir en aprender el API de cada uno para conectarme, configuraciones, programación, enviar/recibir requests, notificaciones, etc?

Por suerte, el Bot Framework ofrece integración directa con esta lista de canales (Channels):

  • Cortana
  • Email
  • Facebook Messenger
  • GroupMe
  • Kik
  • Microsoft Teams
  • Skype Norma
  • Skype Empresarial
  • Slack
  • Telegram
  • Twilio SMS
  • Web Chat

La gran ventaja es que ahorraremos horas de programación usando el Bot Framework de Azure, ya que podemos establecer conexiones entre diferentes aplicaciones de mensajería y nuestro ChatBot de forma transparente y sin desarrollar código, simplemente configurando ciertos valores.

hearts.png

Equipo redactor

Eduardo Ormeño Meneses
Eduardo Ormeño Meneses
Read More
Victor Ávalos Sánchez
Victor Ávalos Sánchez
Read More
Christian Godoy Hernández
Christian Godoy Hernández
Read More
Rubén Peralta Lazo
Rubén Peralta Lazo
Read More
José Luis Alejo Quichca
José Luis Alejo Quichca
Read More
Carlos Huarcaya Gamboa
Carlos Huarcaya Gamboa
Read More
Previous
Next

Comparte esta publicación

Share on facebook
Share on whatsapp
Share on telegram
Share on twitter