Academia de Ingeniería de IA: 2.3BM25 RAG (Generación Aumentada de Recuperación)

breve

BM25 Retrieval Enhanced Generation (BM25 RAG) es una técnica avanzada que combina el algoritmo BM25 (Best Matching 25) para la recuperación de información con un amplio modelo lingüístico para la generación de textos. Al utilizar un modelo probabilístico de recuperación validado, este método mejora la precisión y pertinencia de las respuestas generadas.

 

BM25 RAG Flujo de trabajo

AI工程学院:2.3BM25 RAG (检索增强生成)

 

Inicio rápido

Cuaderno

Puede ejecutar el cuaderno Jupyter proporcionado en esta base de código para explorar la BM25 RAG en detalle. https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG

aplicación de chat

  1. Instalar dependencias:
    pip install -r requirements.txt
    
  2. Ejecuta la aplicación:
    python app.py
    
  3. Ingesta dinámica de datos:
    python app.py --ingest --data_dir /path/to/documents
    

servidor (ordenador)

Ejecuta el servidor:

python server.py

El servidor contiene dos puntos finales:

  • /api/ingest: para la ingesta de nuevos documentos
  • /api/query: para consulta BM25 RAG sistemas

 

Características principales de la BM25 RAG

  1. búsqueda probabilísticaEl BM25 utiliza un modelo probabilístico para clasificar los documentos, lo que proporciona una base teóricamente sólida para la recuperación.
  2. saturación de la frecuencia de las palabrasBM25 tiene en cuenta la disminución de los rendimientos marginales de los términos duplicados y mejora la calidad de la recuperación.
  3. Normalización de la longitud de los documentosEl algoritmo tiene en cuenta la longitud del documento y reduce el sesgo hacia los documentos más largos.
  4. relevancia contextualAl generar una respuesta basada en la información recuperada, la BM25 RAG proporciona una respuesta más precisa y pertinente.
  5. escalabilidadEl paso de búsqueda BM25 gestiona eficazmente grandes conjuntos de documentos.

 

Ventajas de la BM25 RAG

  1. Mayor precisión: Combinación de las ventajas de la recuperación probabilística y la generación neural de textos.
  2. interpretabilidadEl mecanismo de puntuación de BM25 es más interpretable que el método de recuperación de vectores densos.
  3. Consultas de cola larga: Excelente en consultas que requieren información específica o poco frecuente.
  4. No requiere incrustaciónA diferencia de los GAR basados en vectores, el BM25 no requiere la incrustación de documentos, lo que reduce la carga computacional.

 

condiciones previas

  • Python 3.7+
  • Jupyter Notebook o JupyterLab (para ejecutar el cuaderno)
  • Paquetes de Python necesarios (véase requirements.txt)
  • Clave API para el modelo lingüístico seleccionado (por ejemplo, clave API de OpenAI)
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...