Crea un Chatbot de IA para Atención al Cliente en Minutos

Vamos a ver cómo crear un chatbot de IA en un sitio web para atención al cliente, permitiendo a los usuarios consultar fácilmente sobre servicios e incluso la posibilidad de que puedan dejar sus datos de contacto y que el chatbot los envie a la herramienta correspondiente. A continuación, detallamos el proceso utilizando Flowise, ilustrando paso a paso la integración de diversos nodos para crear un chatbot funcional.

Imagen del diseño y estructura del chatbot para servicio al cliente

Funcionamiento del Chatbot de IA en Atención al Cliente

Agente de Herramientas (Tool Agent)

El agente de herramientas es el nodo principal de nuestro chatbot. Este nodo nos será de gran ayuda para que el chatbot seleccione cual es la información más adecuada o la herramienta necesaria para responder las peticiones del usuario y responder de manera efectiva.

Memoria Buffer (Buffer Memory)

Este nodo es necesario para mantener el contexto de la conversación. Esto es importante para que el chatbot pueda recordar lo que se ha ido comentando en la conversación y tenga contexto para poder dar respuestas más coherentes y relacionadas con la conversación.

Chat Open AI

Este nodo será el que nos permitirá usar los servicios de OpenAI para generar la conversación. Este nodo es requerido por el nodo Agente de herramientas (Tool Agent).

Texto plano (Plain Text)

Utilizaremos este nodo para cargar la información relacionada con el currículo. En este caso, emplearé mi propia información, pero aquí se puede incluir cualquier otro tipo de datos, como los servicios que ofrece una empresa de abogados, de contabilidad, entre otros. Actualmente, estoy proporcionando la información como texto plano, aunque también podría ser un archivo PDF o incluso datos extraídos de una página web.

Embeddings de OpenAI (OpenAI Embeddings)

Este nodo es importante para poder transformar el texto en representaciónes númericas, ya que la computadora solo sabe leer números, además los números asignados a las palabras permite diferenciar entre similaridad de las palabras lo cual facilita la busqueda.


En este caso pueden seleccionar entre tres opciones diferentes, en mi caso seleccionare el modelo "text-embedding-3-small"

Almacenamiento de memoria vectorial (In-Memory Vector Store)

Este nodo es muy importante para almacenar los embeddings que creamos de nuestro texto es importante mencionar que este nodo lo guarda en la computadora de forma local. Sin embargo es posible usar servicios externos como Pinecone o Qdrant en caso de usar un servicio externo el proceso sería registrarse en la plataforma y obtener la apikey y seleccionar el nodo correspondiente, el resto sería exactamente igual.

Herramienta de recuperación (Retriever tool)

Aqui es donde vamos a detallarle al modelo cuando va a consultar la información del texto que le pasamos, la descripción es muy importante ya que podemos tener múltiples Herramientas de recuperación y el modelo podría distinguir entre cuando usar una u otra dependiendo de la descripción que proporcionemos.


Un ejemplo de la descripción que podemos proporcionar la podemos ver en la siguiente imagen.

Imagen con la descripción del Nodo Retriever Tool para buscar en la información de Eladio Rocha

Herramienta personalizada (Custom Tool)

Podemos crear herramientas propias en Flowise y esto nos da mucha flexibilidad a la hora de darle funcionalidades a nuestro chatbot, ya que en estas herramientas podemos crear funciones de Node.js que nos permiten tanto hacer una tarea determinada, como conectarnos a un servicio externo para hacer una tarea correspondiente o incluso conectarlo con otros chatbots que hayamos creado en la plataforma.


Para crear una herramienta personalizada es necesario regresar al dashboard de flowise e ir a la sección de "Tools", si una vez en la vista le damos clic en el botón que dice "Create".

Al darle clic nos aparecerá el siguiente recuadro con la información necesaria para usar la herramienta.


Es importante mencionar que el titulo de la herramienta debe ser en minuscula y si tiene más de 1 palabra separarlos por un guin bajo (_). Además la descripción es muy importante por lo que es importante detallarla ya que esto es lo que usará el modelo para determinar cuando usar la herramienta.


En la parte de "Input Schema" podemos definir si es que queremos recibir valores del chat, dado que es un chatbot de servicio al cliente, los campos que nos pueden interesar podrían ser el campo de "nombre" y "correo".

Imagen que muestra los campos requeridos para crear una herramienta personalizada en flowise

Una vez que hayamos llenado los campos requeridos nos quedaría algo como en la siguiente imagen

Imagen con la información completa en la herramienta personalizada de Flowise

En las propiedades definidas también es importante poner una descripción de que es lo que queremos almacenar para que el chatbot puedo inferirlo a través de la conversación con el usuario.


La información la estamos enviando a un sitio que sirve para hacer pruebas para recibir peticiones, pero eso podría ser cualquier otro servicio, como una base de datos o incluso en algun excel, por ahora estoy usando eso para mantenerlo neutro pero sería casi lo mismo para cualquier otro servicio.

Una vez habiendo definido nuestra herramienta personalizada, podemos regresar a la ventana de nodos y seleccionar la herramienta que acabamos de crear.


Una vez hecho eso ya tenemos todos los nodos conectados y definidos, por lo que podemos darle en guardar, hacemos el upsert de nuestro embedding y abrimos la ventana de chat, ahora si podemos preguntarle acerca de la información proporcionada y también podemos pasarle la información de contacto y el modelo mandará la información a través de nuestra herramienta personalizada que acabamos de crear.

Imagen de la conversación para saber más acerca de Eladio Rocha y guardar la información de contacto

Como podemos ver, nos proporciona información relacionada con lo que le pasamos, además también si queremos ponernos en contacto, podemos pasarle la información de contacto y vemos que el chatbot infiere correctamente cual es la herramienta que debe usar.

Imagen para mostrar que la información enviada por el chatbot fue recibida de forma correcta.

Además como podemos ver en la imagen vemos que la información fue identificada de forma correcta y la agrego correctamente en el campo correspondiente.

La implementación de un chatbot de IA en un sitio web para atención al cliente es un proceso eficiente y accesible utilizando herramientas como Flowise. Para más detalles sobre cómo embeber este chatbot en una página web, puedes consultar un post anterior que escribir sobre el tema.

¡Hablemos!

Whatsapp: +524421399514

Redes sociales

Unete a nuestra comunidad

¡Recibe contenido exclusivo directamente en tu correo!