Mi camino hacia los chatbots avanzados y el rerank

Nota: Esta publicación refleja mi experiencia personal desarrollando chatbots y aprendiendo sobre técnicas de rerank.
Un chatbot es un sistema que recibe mensajes de los usuarios y genera respuestas automáticas usando reglas o modelos de lenguaje. En su forma básica, solo responde a mensajes simples y secuenciales, sin capacidad de procesar audio ni manejar múltiples mensajes al mismo tiempo.
Mis inicios con chatbots
Comencé creando chatbots muy básicos usando n8n. Estos chatbots respondían mensajes simples, pero no podían procesar múltiples mensajes consecutivos ni manejar sesiones complejas. Con el tiempo, descubrí Flowise, que permite manejar flujos más complejos, procesar lotes de mensajes y trabajar mejor con modelos de lenguaje natural.
Para entender mejor el manejo de mensajes por lotes y almacenamiento en memoria, puedes leer más sobre Redis en mi post anterior.
Qué es el rerank
Antes de explicar el rerank, veamos un ejemplo práctico: cuando hacemos una pregunta a un sistema RAG (Retrieval-Augmented Generation), este primero busca documentos o fragmentos relevantes según las palabras de la pregunta. Sin rerank, el sistema puede devolver varios resultados que coinciden parcialmente con la consulta, pero que no necesariamente son los más precisos o relevantes. Esto puede generar respuestas confusas o repetitivas.
Explicación coloquial con ejemplo
El rerank actúa como un “reordenador inteligente”: toma todos los resultados que encontró el RAG y los evalúa de nuevo, seleccionando aquellos que realmente son más relevantes según el contexto y la intención del usuario.
Ejemplo práctico:
Supongamos que le preguntas al chatbot:
“¿Cuáles son los efectos del café en la salud?”
Sin rerank:
El RAG encuentra varios fragmentos relacionados con café:
- “El café contiene cafeína, que puede aumentar la alerta…”
- “El consumo excesivo de café puede causar insomnio y ansiedad…”
- “El café es originario de Etiopía y se cultiva en América Latina…”
El chatbot podría devolver una respuesta mezclada o poco clara, como:
“El café contiene cafeína, puede causar insomnio y es originario de Etiopía.”
Con rerank:
El rerank evalúa cada fragmento según relevancia y coherencia con la pregunta, y prioriza los que tratan directamente sobre efectos en la salud.
El chatbot devuelve:
“El café contiene cafeína, que puede aumentar la alerta y mejorar la concentración, pero el consumo excesivo puede causar insomnio o ansiedad.”
De esta forma, la respuesta es más precisa, coherente y útil para el usuario.
Explicación técnica
Técnicamente, el rerank asigna un puntaje de relevancia a cada resultado obtenido por el modelo de lenguaje o embeddings. Este puntaje se basa en:
- Similitud semántica: qué tan cercano es el fragmento a la intención de la pregunta.
- Coherencia contextual: si la respuesta tiene sentido en el flujo de la conversación.
- Prioridad de información: si el fragmento contiene información clave frente a datos menos relevantes.
Con esto, se asegura que, incluso cuando hay múltiples mensajes o resultados similares, el chatbot devuelva la respuesta más precisa y coherente.
Beneficios del rerank
- Evita respuestas duplicadas o irrelevantes cuando un usuario envía varios mensajes seguidos.
- Mejora la coherencia en conversaciones largas o complejas.
- Funciona muy bien junto con sistemas que procesan mensajes en memoria, como Redis, para gestionar sesiones y flujos paralelos.
Problemas que soluciona el rerank
- Evita respuestas duplicadas o irrelevantes cuando un usuario envía varios mensajes en corto tiempo.
- Mejora la coherencia en conversaciones largas o complejas.
- Funciona muy bien en combinación con sistemas que procesan mensajes en memoria, como Redis, para gestionar sesiones y flujos paralelos.
Reflexión final
Mi camino desde los chatbots básicos hasta los más avanzados me enseñó que la clave no está solo en recibir y responder mensajes, sino en procesarlos inteligentemente, manejar sesiones y lotes de mensajes, y usar herramientas como rerank para mejorar la calidad de las respuestas. La transición de n8n a Flowise marcó un salto importante en capacidades y en la forma de pensar la arquitectura de los chatbots.
En pocas palabras
En otras palabras:
- Con RAG + rerank: varias respuestas potenciales → rerank selecciona la mejor → coherencia y precisión.
- Chat normal sin RAG: solo hay una respuesta → rerank no tiene nada que reordenar.