también conocido como RAG, es un método poderoso para encontrar documentos relevantes en un corpus de información, que luego se proporciona a un LLM para dar respuestas a las preguntas de los usuarios.
Tradicionalmente, RAG primero utiliza la similitud de vectores para encontrar fragmentos relevantes de documentos en el corpus y luego introduce los fragmentos más relevantes en el LLM para proporcionar una respuesta.
Esto funciona muy bien en muchos escenarios ya que la similitud semántica es una forma poderosa de encontrar los fragmentos más relevantes. Sin embargo, la similitud semántica tiene problemas en algunos escenarios, por ejemplo, cuando un usuario ingresa palabras clave o ID específicos que deben ubicarse explícitamente para usarse como un fragmento relevante. En estos casos, la similitud de vectores no es tan efectiva y se necesita un mejor enfoque para encontrar los fragmentos más relevantes.
Aquí es donde entra en juego la búsqueda de palabras clave, donde se encuentran fragmentos relevantes al utilizar la búsqueda de palabras clave y la similitud de vectores, también conocida como búsqueda híbrida, que es el tema que discutiré hoy.
Por qué utilizar la búsqueda híbrida
La similitud vectorial es muy poderosa. Es capaz de encontrar eficazmente fragmentos relevantes de un corpus de documentos, incluso si el mensaje de entrada tiene errores tipográficos o utiliza sinónimos como la palabra levantar en lugar de la palabra ascensor.
Sin embargo, la similitud de vectores se queda corta en otros escenarios, específicamente cuando se buscan palabras clave específicas o números de identificación. La razón de esto es que la similitud de vectores no pesa específicamente las palabras o ID individuales en comparación con otras palabras. Por lo tanto, las palabras clave o los identificadores clave generalmente se ahogan en otras palabras relevantes, lo que dificulta que la similitud semántica encuentre las partes más relevantes.
La búsqueda de palabras clave, sin embargo, es increíblemente buena con palabras clave e identificadores específicos, como sugiere el nombre. Con BM25, por ejemplo, si tiene una palabra que solo existe en un documento y no en otros documentos, y esa palabra está en la consulta del usuario, ese documento tendrá una gran ponderación y probablemente se incluirá en los resultados de la búsqueda.
Esta es la razón principal por la que desea utilizar una búsqueda híbrida. Simplemente podrá encontrar documentos más relevantes si el usuario ingresa palabras clave en su consulta.
Cómo implementar la búsqueda híbrida
Existen numerosas formas de implementar la búsqueda híbrida. Si desea implementarlo usted mismo, puede hacer lo siguiente.
Implemente la recuperación de vectores mediante similitud semántica como lo habría hecho normalmente. No cubriré los detalles exactos en este artículo porque está fuera de alcance y el objetivo principal de este artículo es cubrir la parte de búsqueda de palabras clave de la búsqueda híbrida. Implemente BM25 u otro algoritmo de búsqueda de palabras clave que prefiera. BM25 es un estándar ya que se basa en TF-IDF y tiene una mejor fórmula, lo que lo convierte en la mejor opción. Sin embargo, el algoritmo exacto de búsqueda de palabras clave que uses realmente no importa, aunque recomiendo usar BM25 como estándar. Aplicar una ponderación entre la similitud encontrada mediante similitud semántica y la similitud de búsqueda de palabras clave. Usted mismo puede decidir esta ponderación en función de lo que considere más importante. Si tiene un agente que realiza una búsqueda híbrida, también puede hacer que el agente decida esta ponderación, ya que los agentes normalmente tendrán una buena intuición sobre cuándo usar o cuándo esperar, izquierda o similitud más, y cuándo sopesar más la similitud de la búsqueda de palabras clave.
También hay paquetes que puede utilizar para lograr esto, como el almacenamiento vectorial TurboPuffer, que tiene implementado un paquete de búsqueda de teclado. Sin embargo, para saber cómo funciona realmente el sistema, también se recomienda que lo implemente usted mismo para probar el sistema y ver si funciona.
Sin embargo, en general, la búsqueda híbrida no es tan difícil de implementar y puede ofrecer muchos beneficios. Si está buscando una búsqueda híbrida, generalmente sabe cómo funciona la búsqueda vectorial y simplemente necesita agregarle el elemento de búsqueda de palabras clave. La búsqueda de palabras clave en sí tampoco es tan complicada, lo que hace que la búsqueda híbrida sea algo relativamente sencillo de implementar, que puede generar muchos beneficios.
Búsqueda híbrida agente
Implementar la búsqueda híbrida es excelente y probablemente mejorará el funcionamiento de su sistema RAG desde el principio. Sin embargo, creo que si realmente desea aprovechar al máximo un sistema RAG de búsqueda híbrido, debe hacerlo agente.
Al hacerlo agente, me refiero a lo siguiente. Un sistema RAG típico primero recupera fragmentos relevantes, documenta fragmentos, los introduce en un LLM y hace que responda una pregunta del usuario.
Sin embargo, un sistema RAG agente lo hace de manera un poco diferente. En lugar de realizar la recuperación de la troncal antes de usar un LLM para responder, convierte la función de recuperación de la troncal en una herramienta a la que el LLM puede acceder. Esto, por supuesto, hace que el LLM sea agente, por lo que tiene acceso a una herramienta y tiene varias ventajas importantes:
El agente puede decidir por sí mismo el mensaje a utilizar para la búsqueda de vectores. Entonces, en lugar de usar solo el mensaje de usuario exacto, puede reescribir el mensaje para obtener resultados de búsqueda de vectores aún mejores. La reescritura de consultas es una técnica bien conocida que puede utilizar para mejorar el rendimiento de RAG. El agente puede recuperar la información de forma iterativa, por lo que primero puede realizar una llamada de búsqueda vectorial, comprobar si tiene suficiente información para responder una pregunta y, si no, puede recuperar aún más información. Esto hace que el agente pueda revisar la información que obtuvo y, si es necesario, obtener aún más información, lo que le permitirá responder mejor a las preguntas. El agente puede decidir la ponderación entre la búsqueda de palabras clave y la similitud del vector. Esto es increíblemente poderoso porque el agente generalmente sabe si está buscando una palabra clave o si está buscando contenido semánticamente similar. Por ejemplo, si el usuario incluyó una palabra clave en su consulta de búsqueda, el agente probablemente ponderará más el elemento de búsqueda de palabras clave de la búsqueda híbrida y obtendremos resultados aún mejores. Esto funciona mucho mejor que tener un número estático para ponderar entre la búsqueda de palabras clave y la similitud de vectores.
Los LLM de Frontier de hoy son increíblemente poderosos y podrán tomar todos estos juicios por sí mismos. Hace apenas unos meses, dudaría que se le debería dar al agente tanta libertad como la que describí en los puntos anteriores, haciendo que seleccione el uso rápido, la búsqueda iterativa de información y la ponderación entre la búsqueda de palabras clave y la similitud semántica. Sin embargo, hoy sé que los últimos LLM de Frontier se han vuelto tan poderosos que esto es muy factible e incluso es algo que recomiendo implementar.
Por lo tanto, al implementar HybridSearch y al hacerlo agente, realmente puede potenciar su sistema RAG y lograr resultados mucho mejores que los que habría logrado con un sistema RAG estático de solo similitud de vectores.
Conclusión
En este artículo, analicé cómo implementar la búsqueda híbrida en su sistema RAG. Además, describí cómo hacer que su sistema RAG sea auténtico para lograr resultados mucho mejores. La combinación de estas dos técnicas conducirá a un increíble aumento del rendimiento de su sistema de recuperación de información y, de hecho, puede implementarse con bastante facilidad utilizando agentes de codificación como Claude Code. Creo que Agentex Systems es el futuro de la recuperación de información y les insto a que proporcionen a sus agentes herramientas eficaces de recuperación de información, como una búsqueda híbrida, y les obliguen a realizar el resto del trabajo.
👉 Mi libro electrónico y seminario web gratuitos:
🚀 10 veces su ingeniería con LLM (curso gratuito por correo electrónico de 3 días)
📚 Obtenga mi libro electrónico gratuito sobre Modelos de lenguaje de visión
💻 Mi seminario web sobre modelos de lenguaje de visión
👉 Encuéntrame en las redes sociales:
💌 Subpila
🐦X/Twitter