Flutter + QnA Bot
Recordemos el post anterior sobre Custom Vision en Android (PS. El repo está disponible en la publicación 😃).
Continuamos con la serie de IA para apps móviles, sin embargo, en cada uno de ellos la tecnología cambiará un poco, para demostrar como integrarla en cada uno (De ustedes quedará hacer un Benchmark de resultados). 💹
Para esta ocasión crearemos bots y los embeberemos en la app 😎
Foundation Time!!!
QnA Bots
Este es uno de los productos que son realmente en cuestiones tecnológicas, algo que puede verse pequeño, pero es un mega monstruo (En cuanto a resultados), porque nos otorga las herramientas para poder generar experiencias que envuelvan al usuario y permitirle conocer más acerca de nuestros productos y servicios.
Hoy es súper común tener un canal rápido de comunicación con los clientes, prácticamente podemos perder a prospectos o perder Engagement de los usuarios por:
- No responder velozmente 🐢
- No entregar información precisa 🔍
- No responder de una forma correcta 🆗
- No responder 😢
Hay que resolver esto para obtener mas usuarios.
Bots
Los bots son ahora un componente muy común para poder resolver estos conflictos y poder atender a nuestros usuarios, aun así el bot simplemente diga “hola” esto es al menos un habilitador para los usuarios que los alentara a interactuar.
Bien los bots son por lo mismo un tema al que debemos prestar atención, ya que es de suma importancia, diseñarlo como a un personaje y esto porque a final de cuentas, representa tu marca, representa a tu empresa y es el primer contacto de tus usuarios y prospectos.
Debemos recordar entonces incluir el como se comunicara con los usuarios, básicamente si le hablara a un dude, de un profesional a otro, de modo neutral, etc..
Considera lo siguiente:
- Edad de tu audiencia
- Segmentos de tu audiencia
- Tipo de producto/servicio
QnA Maker
Uffass..
Ok, para exponer este tema, es importante que giremos a ver a nuestras estructuras y herramientas, siempre que hay un producto o servicio, existen guías y manuales de uso, paginas de productos donde encontramos preguntas, históricos de conversaciones con preguntas, etc..
Estos componentes de información bastante completos. Son un Activo y es uno de los mas importantes para convertirlos en una Base de Conocimiento capaz de ser usada en la construcción de un bot, que sea capaz de responder estas preguntas provenientes de nuestros usuarios, utilizando la personalidad que le otorgamos.
QnA Maker es la herramienta que nos permite hacer este proceso, estos activos se convierten en el consumible de esta herramienta y la convertiremos en información indexada y estructurada, empleando los servicios cognitivos de Azure.
Vamos dándole con todo
Creando el ambiente en Azure
!Disclaimer: Utilizaremos un manual de usuario de una tarjeta gráfica 🎮 como fuente de datos para el KB.
!Ojo: Crearemos un grupo de recursos en Azure, para contener a nuestros recursos para eliminarlos al final 😜
Ahora manos a la obra, los pasos en esta ocasión son realmente muy sencillos, de primera instancia entraremos al sitio de QnA Maker (No olviden su poderosísima suscripción de Azure).
Ok muy bien, una vez que entremos al portal, crearemos un Knowledge Base para poder entrenar a nuestro bot, lo que haremos ahora es seguir 5 sencillos pasos para crear un KB.
Paso 1: Creamos nuestro servicio de QnA
Esto es realmente muy sencillo, ir al portal de Azure y crear nuestra instancia del servicio.
Paso 2: Conectamos el servicio
Paso 3: Ponle un nombre
Que difícil 😅
Paso 4: Configuremos el contenido y la personalidad del bot 🙌
Bueno aquí con cuidado, es donde configuraremos las fuentes de información de donde obtendremos todo para construir nuestro KB, hay que cuidar la cantidad de archivos y sitios de los que obtendremos información, ya que si elegimos el Free Tier, pues será poco lo que podremos indexar (3).
Y nuestro chit-chat, si lo queremos a nivel bro o a nivel profesional 😊
Paso 5: A crearlo, entrenar y validar resultados🔥
En mi caso, pues ya que es un bot que ofrece información acerca de tarjetas graficas para gamers, la elección fue un chit-chat tipo dude.
Pero lo importante es validar que sepa responder, entonces, hay que lanzarle una pregunta y mediante la respuesta podemos ver si con una iteración de entrenamiento esta bien o hay que volverla a entrenar, aunque en este caso, si nos supo ayudar, entonces PUBLISH😸
Crear el bot
Bien, es el ultimo paso para la infraestructura. Necesitamos crear un bot, para poder agregarle un canal de comunicación y hacer conversación con nuestro bot, en este caso, la configuración es un chat basico con un canal web con dos ambientes, el default (Pruebas) y Flutter (Implementación).
!Recomendacion: Creen un canal para cada una de sus implementaciones.
Antes de pasar a la app no olviden tomar un sorbo de su bebida preferida. ☕️ 🍵 🍺
Flutter app
Este paso es muy sencillo, para poder incorporar el bot, debemos crear nuestro proyecto.
Una vez tengamos el proyecto, agregamos la dependencia: webview_flutter.
Ahora si, crearemos una modifiacion al State por default (Personalmente me gusta mas generar un BLoC para manejarlo y en este caso, será util.
El estado nada mas incorpora el sitio directamente a nuestro Widget, mediante el build y un Future.
Agregamos las credenciales
Ejecutamos
Vemos la aplicación en funcionamiento
Ahora veamos el contenido
Y finalmente, nos despedimos del bro-bot
Lo conseguimos 😎
Vale, nos despedimos por ahora, es todo por este post, realmente es algo super rápido y sencillo, pero que comenzara a incorporar interacción con tus usuarios, para la siguiente ocasión incorporaremos algo mas avanzado (El repo tiene spoilers).
Aquí el Repo: Repo Aqui, este si, final final 😜
Pro Tip!
Podemos crear muchos canales y esto depende de para donde y como lo pensamos integrar, asi hay diferentes formas para implementar cada uno.
Keep Coding, Keep Reading
Angel