Construcción de una línea de trabajo LLM RAG local avanzada mediante la combinación de incrustaciones densas con BM25
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
·…