AI Engineering Academy : 2.3BM25 RAG (Retrieval Augmented Generation)

bref

BM25 Retrieval Enhanced Generation (BM25 RAG) est une technique avancée qui combine l'algorithme BM25 (Best Matching 25) pour la recherche d'informations avec un grand modèle linguistique pour la génération de texte. En utilisant un modèle de recherche probabiliste validé, cette méthode améliore la précision et la pertinence des réponses générées.

 

BM25 RAG Workflow

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

 

Démarrage rapide

Carnet de notes

Vous pouvez exécuter le carnet Jupyter fourni dans cette base de code pour explorer le BM25 RAG en détail. https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/01_BM25_RAG

application de chat

  1. Installer les dépendances :
    pip install -r requirements.txt
    
  2. Exécuter l'application :
    python app.py
    
  3. L'ingestion dynamique de données :
    python app.py --ingest --data_dir /path/to/documents
    

serveur (ordinateur)

Exécuter le serveur :

python server.py

Le serveur contient deux points d'extrémité :

  • /api/ingestLe système de gestion des documents : pour l'ingestion de nouveaux documents
  • /api/query: pour la demande de renseignements BM25 RAG systèmes

 

Principales caractéristiques du BM25 RAG

  1. recherche probabilisteLa BM25 utilise un modèle probabiliste pour classer les documents, ce qui constitue une base théorique solide pour la recherche.
  2. saturation de la fréquence des mots: : BM25 tient compte des rendements marginaux décroissants des termes dupliqués et améliore la qualité de la recherche.
  3. Normalisation de la longueur des documentsL'algorithme tient compte de la longueur du document et réduit le biais en faveur des documents les plus longs.
  4. pertinence contextuelleEn générant une réponse basée sur les informations récupérées, le BM25 RAG fournit une réponse plus précise et plus pertinente.
  5. évolutivitéLa recherche BM25 permet de traiter efficacement des ensembles de documents volumineux.

 

Avantages du BM25 RAG

  1. Amélioration de la précision: Combinaison des avantages de la recherche probabiliste et de la génération neuronale de textes.
  2. l'interprétabilitéLe mécanisme de notation de BM25 est plus facile à interpréter que la méthode de recherche par vecteurs denses.
  3. Traiter les requêtes à longue traîneExcellente pour les requêtes nécessitant des informations spécifiques ou rares.
  4. Aucun encastrement n'est nécessaireContrairement aux RAG à base de vecteurs, le BM25 ne nécessite pas l'intégration de documents, ce qui réduit la charge de calcul.

 

conditions préalables

  • Python 3.7+
  • Jupyter Notebook ou JupyterLab (pour exécuter le notebook)
  • Paquets Python requis (voir requirements.txt)
  • Clé API pour le modèle linguistique sélectionné (par exemple, clé API OpenAI)
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...