Cómo utilizar la búsqueda híbrida para recuperar mejor los RAG de LLM | por el Dr. Leon Eversberg | agosto de 2024

Construcción de una línea de trabajo LLM RAG local avanzada mediante la combinación de incrustaciones densas con BM25

Fragmento de código de la búsqueda híbrida que vamos a implementar en este artículo. Imagen del autor

La secuencia básica de recuperación-generación aumentada (RAG) utiliza un modelo de codificador para buscar documentos similares cuando se le realiza una consulta.

Esto también se llama búsqueda semántica porque el codificador transforma el texto en una representación vectorial de alta dimensión (llamada incrustación) en la que textos semánticamente similares están próximos entre sí.

Antes de que tuviéramos modelos de lenguaje grandes (LLM) para crear estas incrustaciones vectoriales, el algoritmo BM25 era un algoritmo de búsqueda muy popular. BM25 se centra en palabras clave importantes y busca coincidencias exactas en los documentos disponibles. Este enfoque se denomina Búsqueda por palabras clave.

Si desea llevar su canalización RAG al siguiente nivel, es posible que desee probar búsqueda híbridaLa búsqueda híbrida combina los beneficios de la búsqueda por palabras clave y la búsqueda semántica para mejorar la calidad de la búsqueda.

En este artículo, cubriremos la teoría e implementaremos los tres enfoques de búsqueda en Python.

Tabla de contenido

· Recuperación de RAG
Búsqueda de palabras clave con BM25
Búsqueda semántica con incrustaciones densas
¿Búsqueda semántica o búsqueda híbrida?
Búsqueda híbrida
Poniéndolo todo junto
·…