“Slack volvió a caer, así que los colegas tuvieron que hablar entre ellos”.

Cuando el uso de Slack disminuyó momentáneamente a mediados de 2018, todo el mundo tecnológico había caído en el caos y la depresión. Internet se inundó de discusiones sobre la app y hashtag #Slack estaba siendo tendencia en Twitter. Bueno, Slack ya se ha convertido en una parte integral de muchas compañías y la gente lo usa mucho para comunicarse y discutir cosas. Algunas empresas que trabajan de forma remota utilizan Slack todo el tiempo para la comunicación en tiempo real.

Donde nos fuimos

Esta es la parte final del primer artículoEn la primera parte, discutimos en detalle sobre Rasa Stack: un kit de herramientas de aprendizaje de código abierto que permite a los desarrolladores expandir los bots más allá de responder preguntas simples. Luego utilizamos dos módulos de Rasa, a saber, Rasa NLU y Rasa Core para crear un chatbot completamente funcional capaz de controlar el estado de ánimo de las personas y tomar las medidas necesarias para animarlos. Las acciones incluyeron mostrar a los usuarios la imagen de un perro, gato o ave dependiendo de la elección del usuario.

Objetivo

En este artículo, utilizaremos todos los archivos generados para implementar el Bot en Slack. Te recomiendo que leas la Parte 1 antes de intentar continuar con la segunda parte.

Instalaciones Rasa

  • A diferencia de la parte anterior, tendremos que instalar la última versión de Rasa Core. Es muy recomendable que crees un entorno virtual y luego procedas con las instalaciones.
  #creating a virtual environment  conda create --name bot python=3.6#Activate the new environment to use itWINDOWS: activate bot  LINUX, macOS: source activate bot#Install latest Rasa stack  #Rasa NLU  python m pip install rasa_nlu[spacy] (https://rasa.com/docs/nlu/installation/)#Rasa Core  python m pip install -U rasa_core   (https://rasa.com/docs/core/installation/)#Language Modelpython -m spacy download en_core_web_md  python -m spacy link en_core_web_md en --force;

El repositorio contiene los archivos generados en la Parte 1. Sin embargo, debido a algunos cambios en las versiones de Rasa API wrt, hay algunos cambios en las funciones y comandos.

Ajustes

Vamos a crear una integración de Slack creando una aplicación de Slack. Vayamos por el proceso de crear una aplicación Slack.

  • Crea una cuenta de Slack y ves a https://api.slack.com/. Ahora elige un lugar de trabajo de Slack de desarrollo existente (en caso de que tenga uno) o crea uno nuevo. Nómbralo como DemoWorkplace o como quieras.

DemoWorkplace creation

Creación de lugares de trabajo:

  • Ahora crea una aplicación Slack en DemoWorkplace y dale un nombre. Llamemos a nuestra aplicación Robo .
  • Comienza a agregar características y funcionalidades a la aplicación. Primero crearemos a bot user debajo de Bot tab y lo integraremos en la aplicación. Esto hará que la aplicación sea conversacional. Dado que este bot se creará como usuario, podemos optar por mantenerlo constantemente en línea. Guarda todos los cambios realizados: bot user Bots Tab.
  • Para asegurarte de que el bot se ha integrado, navega hasta la parte Add Features and Functionalityinferior Basic Information Taby y asegúrate de que las pestañas Botsy Permissions están activas. Nuestro bot se ha integrado en la aplicación.
  • A continuación, podemos agregar un poco más de información sobre nuestro bot, incluida una imagen, una descripción y un color de fondo. Desplázate Display Information y agrega la información.
  • Guarda todos los cambios a medida que avanzas.
  • Por último, necesitamos instalar esta aplicación en nuestro lugar de trabajo que definimos anteriormente. Autorízalo y tenemos nuestra aplicación lista e integrada en el lugar de trabajo.

El proceso se ha resumido en el siguiente gif.

Adding Robo App to the DemoWorkplace

Ngrok

Ngrok es un software de proxy inverso para túneles multiplataforma que establece túneles seguros desde un punto final público como Internet a un servicio de red que se ejecuta localmente. En palabras simples, significa que abre el acceso a tu aplicación local desde Internet.

  • Descarga ngrok desde aquí . asegúrese de iniciar sesión primero.
  • Descomprimir para instalar a través de $ unzip /path/to/ngrok.zip
  • Conecta tu cuenta a través de $ ./ngrok <authtoken>

Navega hasta el directorio donde descomprimiste Ngrok y escribe $ ngrok <authtoken> en la consola. Se puede acceder al token desde aquí .

  • Actívalo.

Comienza diciéndole qué puerto queremos exponer al internet público: ./ngrok http 5004

Si todo va bien deberías ver la siguiente pantalla:

Aquí http://——-.ngrok.io es la url de ngrok.

Desplegando el Bot en Slack

  • Crear una secuencia de comandos de Python

Ya que hemos terminado con todos los requisitos, es hora de implementar nuestro bot. Para esto, tendremos que escribir un script de Python llamado run_app.py, que integrará nuestro chatbot con la aplicación de Slack que creamos anteriormente. Comenzaremos creando un conector de Slack para nuestro chatbot Rasa. Usaremos el intérprete RasaNLU para cargar el modelo NLU directamente desde el script de python.

Volveremos a entrenar a nuestro modelo para asegurarnos de que todo esté bien y funcionando.

Entrenando el Modelo NLU

python nlu_model.py

Entrenando el modelo básico de Rasa

El archivo de acciones que creamos en la Parte 1, ahora debe ejecutarse en un servidor separado. Este es un cambio en la última versión de Rasa Core. Lee la documentación para más detalles.

    • Iniciar el servidor de acciones personalizadas.
python -m rasa_core_sdk.endpoint --actions actions
    • Abre una nueva terminal y entrena el modelo Rasa Core.
python dialogue_management_model.py
    • Inicia el agente ejecutando el run_app.py archivo. Asegúrate de proporcionar el token de Slack en el script. La ficha de Slack se puede obtener de la siguiente manera.

    • Inicia el ngrok en el puerto 5004 y toma tu ngrok_url.
    • Proporciona la url: https: // <your_ngrok_url> / webhooks / slack / webhook en la página “Suscripciones de eventos” de la configuración de Slack. Espera a que seas verificado.

    • Por último, subscribe to some Workplace events como.

app_mention para que nuestro bot responda cuando alguien lo menciona por su nombre.

message_im que permite al usuario enviar mensajes directos al bot.

    • Asegúrate de guardar todos los cambios a medida que avanzas.

Hablemos

  • Asegúrate de que el servidor de acciones personalizadas se está ejecutando.
  • Asegúrate de que ngrok se esté ejecutando en el puerto 5004.
  • Navega a la interfaz de Slack y habla con tu bot.

Esto puede sonar como una tarea hercúlea, pero si lo sigues paso a paso, finalmente podrás crear un slackbot en funcionamiento llamado Robo en muy poco tiempo. Podrás chatear con tu bot, al igual que yo:

Conclusión

Este fue un tutorial bastante completo y largo, pero el hecho de que pudiéramos crear una función completa de Slackbot hace que todo el trabajo valga la pena. Rasa es una biblioteca bastante útil y puedes experimentar y jugar con ella para crear algunos chatbots realmente útiles.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *