Crea un Chatbot de WhatsApp en minutos conectado a tu base de datos usando n8n y 2Chat
Aprende a crear un chatbot con n8nen minutos. Utiliza tu conocimiento y WhatsApp para configurar un servicio de chatbot eficiente y rápido. ¡Descarga la plantilla y comienza ya!

En este blog post, te guiaremos a través del proceso de creación de un servicio de chatbot utilizando n8n. Con la ayuda de una plantilla de flujo proporcionada por 2Chat, puedes configurar tu chatbot en solo unos minutos.
Paso 1: Crear un Nuevo Flujo de Trabajo
Para comenzar, crea un nuevo flujo de trabajo en n8n. Esto servirá como la base para tu servicio de chatbot.

Paso 2: Importar la Plantilla de Flujo
Para facilitar las cosas, importa la plantilla de flujo proporcionada por 2Chat. Puedes encontrar este archivo en el blog post relacionado o en la descripción del video. La plantilla de flujo consta de dos partes principales: una para importar la base de conocimiento y la otra para el chatbot en sí.


Paso 3: Configurar la Base de Conocimiento
Utilizaremos un formulario de envío para proporcionar la base de conocimiento para nuestro chatbot. Esta es quizás la forma más fácil de ingresar la información necesaria.
Asegúrate de configurar las credenciales para cada tarea de OpenAI. En la tarea de incrustación, selecciona el modelo deseado. Para este ejemplo, usaremos el modelo pequeño.
La base de conocimiento se almacenará utilizando la memoria del flujo, con la palabra "knowledgebase" como clave de memoria. La plantilla también incluye un cargador de datos predeterminado, que cargará los datos del formulario de envío en la base de datos vectorial. El archivo de datos contendrá el texto enviado desde la tarea de envío del formulario.

El divisor de texto dividirá el texto en fragmentos que serán utilizados más tarde por la IA. En este caso, usaremos 1,000 caracteres con un solapamiento de 100 caracteres.
Paso 4: Cargar los Datos
Ahora, carguemos los datos en nuestro chatbot. Primero, desactiva el disparador del webhook y activa el componente de envío del formulario. Haz clic en "Test workflow" para mostrar el formulario utilizado para ingresar el texto que el chatbot utilizará como su base de conocimiento.

Pega tu texto en el formulario y haz clic en "Submit". Verás cómo el flujo procesa tu base de conocimiento. Una vez que el proceso esté completo, puedes cerrar el formulario y proceder a la sección del chatbot de IA.

Paso 5: Configurar el Chatbot de IA
Asegúrate de que el envío del formulario esté desactivado y el webhook esté activado. El webhook muestra la URL que utilizaremos desde el flujo de 2Chat. En este ejemplo, hemos utilizado 2chat como el nombre de la ruta, pero puedes elegir una palabra más corta que describa mejor tu servicio web.

En el campo "Respond", selecciona "Using 'Respond to Webhook' Node". Ahora, echemos un vistazo a nuestro agente de IA.

Está configurado como un agente conversacional, con el campo de texto asociado al campo de mensaje en la solicitud del webhook.El prompt del sistema instruye al agente de IA sobre su comportamiento y cómo responder a las consultas de los usuarios. Siéntete libre de modificar el texto base según sea necesario.

Paso 6: Conectar el Modelo de OpenAI y Configurar la Memoria
Conecta el modelo de OpenAI al agente. Para permitir que el agente mantenga una conversación, utilizaremos la memoria de buffer de ventana. En este ejemplo, utilizaremos el número de teléfono como el ID de sesión y estableceremos una ventana de contexto de cinco. Esto determina la cantidad de historial de chat que el agente retendrá para preguntas posteriores.

Paso 7: Añadir una Herramienta para el Agente
A continuación, añadiremos una herramienta para el agente. En este caso, será el almacén vectorial. El límite en nuestro almacén vectorial asegura que solo los fragmentos relevantes de la base de conocimiento sean devueltos, ayudando a la IA a responder a las preguntas de los usuarios.

Conecta el almacén vectorial en memoria y utiliza la base de conocimiento cargada al principio. Asegúrate de que la clave de memoria sea idéntica a la utilizada para cargar el texto. Configura las incrustaciones de IA utilizando el mismo modelo empleado para cargar los datos, y configura el LLM.
Paso 8: Configurar el Webhook y Probar el Chatbot
El nodo "Respond to Webhook" tiene la estructura JSON que se utilizará en 2Chat. Después de guardar y activar el flujo de trabajo, estarás listo para probar tu chatbot.
Abre el componente del webhook y copia la URL de producción. En 2Chat, crea un flujo con la siguiente configuración:
Configura el disparador del flujo seleccionando el número de teléfono y utilizando "Message received" como el evento.

Añade un componente HTTP y pega la URL de producción copiada de n8n.

Para el cuerpo, envía la siguiente estructura y añade el último mensaje del usuario y el número de teléfono.
{
"phonenumber": "{{wa.phoneNumber}}",
"message": "{{message}}"
}
Como respuesta, prueba el webhook creado en n8n. Esto devolverá el texto generado por la IA en una variable llamada "answer".

En el componente final, "Message and Wait for Reply", incorpora la variable de respuesta. Asegúrate de que este componente esté conectado al puerto verde en el componente HTTP y vincula el componente de flujo de vuelta al HTTP para establecer el bucle de conversación.