Academia de Ingeniería de IA: 2.3BM25 RAG (Generación Aumentada de Recuperación)
Base de conocimientos de IAActualizado hace 9 meses Círculo de intercambio de inteligencia artificial 7.4K 00
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

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
- Instalar dependencias:
pip install -r requirements.txt
- Ejecuta la aplicación:
python app.py
- 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
- 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.
- 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.
- 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.
- relevancia contextualAl generar una respuesta basada en la información recuperada, la BM25 RAG proporciona una respuesta más precisa y pertinente.
- escalabilidadEl paso de búsqueda BM25 gestiona eficazmente grandes conjuntos de documentos.
Ventajas de la BM25 RAG
- Mayor precisión: Combinación de las ventajas de la recuperación probabilística y la generación neural de textos.
- interpretabilidadEl mecanismo de puntuación de BM25 es más interpretable que el método de recuperación de vectores densos.
- Consultas de cola larga: Excelente en consultas que requieren información específica o poco frecuente.
- 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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...