Configura un chatbot inteligente en discourse 🤖

Hola,

Después de semanas de experimentación, finalmente logré configurar un bot de IA, similar a discobot, pero que aprende y es más receptivo. Aquí explico cómo lo hice para cualquier persona interesada en configurarlo. Hay bastantes pasos, pero una vez que lo configures todo, el resultado es increíble.

  1. Instala el plugin hubot para Discourse Hubot Adapter for Discourse. Para instalar hubot en tu Discourse, las variables de hubot como HUBOT_DISCOURSE_USERNAME se ingresan en el archivo (tu_carpeta_de_hubot)/bin/hubot; simplemente usa nano o edítalo para escribir export HUBOT_DISCOURSE_USERNAME=mybot. Para más detalles, ve aquí Discobot for training - #10 by featheredtoast

  2. Regístrate y crea un nuevo bot en https://dialogflow.com/

  3. Instala un adaptador hubot / apiai (dialogflow) desde aquí: GitHub - ojacques/hubot-apiai: Add smartness and conversational UX to Hubot with API.AI as back-end · GitHub
    3a. En el archivo bin/hubot, asegúrate de tener las siguientes variables configuradas:

    export HUBOT_DISCOURSE_USERNAME=(nombre_de_usuario_del_bot, no uses discobot)
    export HUBOT_DISCOURSE_KEY=(clave_api_de_tu_usuario_bot, no la clave_api_del_sitio)
    export HUBOT_DISCOURSE_SERVER=(url_de_discourse)
    export API_AI_CLIENT_ACCESS_TOKEN=(token_de_api_del_servidor_de_dialogflow, encontrado en la configuración)
    export GOOGLE_APPLICATION_CREDENTIALS=(tujson).json
    export DIALOGFLOW_PROJECT_ID=(nombre_del_proyecto)

    Tendrás que descargar un archivo JSON de credenciales de aplicación de Google, que puedes obtener siguiendo esta guía: https://cloud.google.com/genomics/downloading-credentials-for-api-access

  4. Ahora inicia tu hubot escribiendo bin/hubot -a discourse-adapter para ejecutarlo. Si deseas que se ejecute incluso cuando no estás en la terminal, escribe nohup bin/hubot -a discourse-adapter &.

  5. Envía un mensaje privado al bot para probarlo. Si configuraste el bot de Dialogflow con charla informal, puedes decir hola, ¿cómo estás? y comenzar a chatear de inmediato. Otras conversaciones debes configurarlas tú mismo. Hay algunos tutoriales en YouTube que son un buen punto de partida: https://youtu.be/HqfN9qjNj9A

Aquí tienes una demostración:

Si tienes alguna pregunta, no dudes en preguntar.

Además, un agradecimiento especial a @codinghorror y al equipo por desarrollar Discourse, y a @awole20 por desarrollar el plugin de hubot; ¡no habría sido posible sin ustedes!

38 Me gusta

This is just plain awesome! I am not too experienced with this myself, but do you know if this would work to deploy on Heroku or not? Thanks for the tutorial!

1 me gusta

Hubot is indeed able to be installed on Heroku - check out the Hubot docs for more info: Deploying to Heroku | HUBOT

5 Me gusta

That’s cool. I’ll look further into this.

1 me gusta

@awole20 @Timothy_Vail I know I sound absolutely hilarious by saying this, but is there any way to make a bot that you guys know of without being an admin (a.k.a having an api key)?

1 me gusta

You need to be the admin of not only discourse but of the server it sits on. No way around that one.

3 Me gusta

That´s a bummer. Thanks for the information though.

1 me gusta

I am slowly working my way through this. What threw me at the first stage was access errors when running yo hubot --adapter=discourse-adapter per the installation instructions for the plugin. It looks like you have to change the permission for the folders. Fix is documented here.

1 me gusta

So, as I discussed above, I hit an error installing NPM. Error was using root when installing, a common gotcha that leads to a lot of EACCES and permission errors. This is a well-documented error. I believe a lot of people are on Digital Ocean. Follow their documentation for correctly setting up NPM on your droplet.

Gracias por compartir esto, Tim. Me da curiosidad saber qué tipos de diálogo has configurado para el chatbot. ¿Cómo están interactuando los usuarios del foro con él en el mundo real?

4 Me gusta

Hola Nacho,

De hecho, ha pasado un tiempo desde que usé el chatbot, pero planeo volver a utilizarlo para un proyecto próximo. Principalmente se utilizaba para sesiones de formación de profesores; ellos realizaban un curso mediante el chatbot y aprendían sobre la enseñanza a través del diálogo. Avísame si tienes alguna pregunta.

5 Me gusta

¡Gracias, gran post! Me encanta.

2 Me gusta

¡Me encantó! Definitivamente lo voy a meditar estos días. Necesito integrar algo de IA en mi sitio de Discourse.

3 Me gusta

Antes de sumergirme en la implementación en mi Discourse (y dado que solo soy algo competente, pero bueno siguiendo instrucciones :nerd_face: )… ¿siguen funcionando estas instrucciones en este hilo? ¿O… hay una forma más actual o preferida de integrar un bot de IA?

3 Me gusta

Ha habido algunas conversaciones. Aquí hay una con desarrollos más recientes:

2 Me gusta