Advanced RAG
iaDéfinition
L'Advanced RAG est une evolution architecturale du Naive RAG qui ajoute des etapes de pre-traitement et post-traitement pour ameliorer la qualite et la robustesse du retrieval. Formalise par Gao et al. (2023) dans le paper 'Retrieval-Augmented Generation for Large Language Models: A Survey', il categorise les optimisations en deux phases : pre-retrieval (avant la recherche) et post-retrieval (apres la recherche). Optimisations pre-retrieval : (1) Query enhancement — corriger les fautes, clarifier les ambiguites, reformuler la question de maniere plus semantiquement riche. (2) Query expansion — generer plusieurs variantes de la question (HyDE, stepback prompting, multiple queries) pour augmenter le recall. (3) Query decomposition — decomposer les questions complexes en sous-questions simples (chain-of-thought query planning). Ces optimisations ameliorent la qualite du retrieval initial. Optimisations post-retrieval : (1) Reranking — utiliser un cross-encoder pour re-scorer les chunks par pertinence reelle. (2) Contextual compression — extraire uniquement les phrases pertinentes de chaque chunk plutot que le chunk complet, reduisant le bruit dans le contexte. (3) Diversity ranking — diversifier les sources pour eviter la redondance. Ces etapes ameliorent la qualite des chunks passes au LLM. Les techniques d'indexation avancees font aussi partie de l'Advanced RAG : le chunking semantique (segmenter selon la structure logique du document plutot que de maniere fixe), le multi-vector retrieval (generer plusieurs embeddings par chunk), le hierarchical indexing (summary nodes + detail nodes pour le RAG a multi-echelle). En pratique, l'Advanced RAG apporte des gains significatifs mesurables via des frameworks d'evaluation comme RAGAS (Context Precision, Context Recall, Faithfulness, Answer Relevancy). L'amelioration typique vs Naive RAG : +15-30% de Context Precision avec reranking, +10-20% de Faithfulness avec contextual compression.
Pipeline Advanced RAG avec LlamaIndex
from llama_index.core import VectorStoreIndex
from llama_index.core.postprocessor import SentenceTransformerRerank
from llama_index.core.query_engine import RetrieverQueryEngine
from llama_index.retrievers.bm25 import BM25Retriever
# Hybrid retrieval : dense + sparse
bm25_retriever = BM25Retriever.from_defaults(index=index, similarity_top_k=20)
vector_retriever = index.as_retriever(similarity_top_k=20)
# Reranker post-retrieval
reranker = SentenceTransformerRerank(
model='BAAI/bge-reranker-v2-m3', top_n=5
)
query_engine = RetrieverQueryEngine(
retriever=HybridRetriever(bm25_retriever, vector_retriever),
node_postprocessors=[reranker]
)Niveaux RAG
- Naive RAG : Index → Retrieve → Generate
- Advanced RAG : + Pre-retrieval optimization + Post-retrieval processing
- Modular RAG : composants modulaires et interchangeables, routing adaptatif
- Agentic RAG : agents qui decident dynamiquement quelle strategie de retrieval appliquer
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h