Los chatbots son herramientas de software creadas para interactuar con los humanos a través del chat. Los primeros chatbots eran capaces de crear conversaciones simples basadas en un complejo sistema de reglas. Usando Flask Python Framework y el Kompose Bot, podrás construir chatbots inteligentes.
En este post, aprenderemos a añadir un chatbot Kompose al framework de Python Flask.

Tabla de contenidos

Requisitos previos:

  • Necesitarás una cuenta de Kommunicate para desplegar el chatbot de python. Kommunicate es una plataforma híbrida de chatbot sin código que está construida sobre un potente sistema de IA conversacional.
  • Además, necesitarás Python y el framework Flask instalados en tu sistema. Para leer más información sobre el framework Flask, sigue este enlace.
  • En este tutorial utilizaremos Flask. Si quieres añadir el chatbot de Dialogflow al framework Django, puedes ver este tutorial.

Pasos para crear un Chatbot usando Kompose y Flask Python Framework:

Paso 1:

Inicia sesión en tu tablero de Kommunicate. Si aún no tienes una cuenta en Kommunicate, puedes crear una aquí. Navega a la categoría de constructor de bots de Kompose y crea un nuevo bot seleccionando el botón «Create Bot».

Paso 2:

Navega al Kompose Bot Builder, selecciona tu bot y haz clic en la opción «Settings» presente en la esquina superior derecha.

Haz clic en la opción Webhook presente en esa página. Aquí, tenemos que poner el nombre del Webhook y la URL del Webhook.

Paso 3:

Crear la URL del Webhook usando Python con Flask y habilitar el servidor del webhook usando ngrok.

El webhook requiere una URL, y debe ser un protocolo HTTPS. La URL del webhook recibirá una solicitud POST del Kompose Bot cada vez que una intención activa el webhook.

Estamos utilizando el lenguaje de programación Python y el framework Flask para crear el webhook.
Crear un archivo (por ejemplo – app.py). Importar todas las librerías necesarias (por ejemplo: os, JSON, flask_ngrok, request) necesarias para Python. Por favor, comprueba si tienes Flask en tu sistema. Si no, instálalo usando pip, y aquí está la documentación para el mismo.

Para manejar todas las peticiones de webhooks de los agentes, necesitamos definir y añadir un método route/webhook con una petición POST. Esta URL /webhook recibirá una petición POST. Ejecuta todos los métodos dentro del método.

Después de configurar el proceso de Python, vamos a utilizar flask ngrok para crear una URL pública para el webhook y escuchar el puerto 5000 (en este ejemplo). Para el webhook de Kompose, necesitarás un servidor seguro HTTPS ya que el servidor local (localhost) no funcionará. También puede utilizar un servidor y apuntar un dominio con HTTPS a ese servidor.

Obtendrás la siguiente URL
https://85e6-203-189-248-8.ngrok.io/webhook, donde el webhook es la ruta POST para Kompose que mencionamos en el archivo Python.

Paso 4:

Configurar el Webhook dentro de la página de configuración de Kompose

Copia la URL que creaste (https://85e6-203-189-248-8.ngrok.io/webhook), en este ejemplo y pégala en el campo de la URL del webhook de Kompose. Aquí, he escrito el nombre del Webhook como «Test».

Paso 5:

Crea una intent haciendo clic en el botón +Añadir bajo la sección «Respuesta» y «Entrenar al Bot».

Aquí, he creado la intención Flask y he añadido una frase de entrenamiento como «¿Qué es Flask?»

Paso 6:

Haz clic en la opción «Bot Says» y selecciona el webhook que has creado anteriormente. Aquí, he seleccionado el webhook de prueba creado anteriormente. Ahora, haz clic en «Train Bot».

Paso 7:

Es el momento de las pruebas. Una vez que la configuración está hecha, puede añadirla fácilmente a su sitio web o aplicaciones utilizando Kommunicate.

Y prueba si el chatbot de Python está funcionando.

Ahí lo tienes, un chatbot en Python para tu sitio web creado con el framework Flask. Si quieres leer más sobre cómo construir un chatbot, puedes visitar la entrada de nuestro blog aquí.

Publicado originalmente en KOMMUNICATE.IO el 26/05/2022

Deja una respuesta

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