tadata
← Retour à l'accueil

Architecture RAG : Ancrer les LLMs dans Vos Données

#artificial-intelligence#vector-search#rag#llm#architecture

La génération augmentée par la récupération (RAG) est le pattern dominant pour construire des applications LLM sur des données privées. Au lieu de fine-tuner un modèle, vous récupérez des fragments pertinents au moment de la requête et les injectez dans le prompt. Bien fait, cela réduit les hallucinations et maintient les connaissances à jour.

Architecture du Pipeline RAG

tadata
Ingestion (offline, ahead of time) Documents PDF, HTML, wiki,tickets Parse + clean text, tables, metadata Chunk 300-800 tokens Embed same model as queries Index dense + BM25 Query (online, per question) Question Rewrite standalone, HyDE Retrieve hybrid top 50 Re-rank cross-encoder top 5 Prompt chunks + sources LLM Cited answer similar chunks Settings • chunk size: 300-800 tokens, 10-20 % overlap • retrieve: top 20-100 candidates • re-rank: keep 3-10 • filters: tenant, date, ACL
Ingestion (offline, ahead of time) Documents PDF, HTML, wiki,tickets Parse + clean text, tables, metadata Chunk 300-800 tokens Embed same model as queries Index dense + BM25 Query (online, per question) Question Rewrite standalone, HyDE Retrieve hybrid top 50 Re-rank cross-encoder top 5 Prompt chunks + sources LLM Cited answer similar chunks Settings • chunk size: 300-800 tokens, 10-20 % overlap • retrieve: top 20-100 candidates • re-rank: keep 3-10 • filters: tenant, date, ACL
Deux voies : l'indexation tourne hors ligne quand les documents changent ; la requête s'exécute à chaque question

Extrait de la fiche « Retrieval-Augmented Generation (RAG) » · Demander la fiche complète

Comparaison des Stratégies de Découpage

StratégieTailleChevauchementAvantagesInconvénientsIdéal pour
Taille fixe256-512 tokens10-20%Simple, prévisibleCoupe en pleine phraseDocuments homogènes
Par phrase1-5 phrases1 phrasePréserve le sensTailles inégalesTexte narratif
Par paragraphe1-3 paragraphes0-1Limites naturellesGrande varianceArticles structurés
SémantiqueVariableAdaptatifGroupe le contenu liéPlus lent, plus complexeDocuments mixtes
RécursifTaille cible10-20%Respecte la structureNécessite connaissance du formatMarkdown, HTML, code
Parent-EnfantPetit (recherche) + grand (contexte)N/ARecherche précise, contexte richeIndexation complexeLongs documents

Comparaison des Modèles d'Embedding

ModèleDimensionsTokens maxScore MTEBCoûtOuvert/Ferme
OpenAI text-embedding-3-large30728191~650,13 $/1M tokensFermé
OpenAI text-embedding-3-small15368191~620,02 $/1M tokensFermé
Cohere embed-v31024512~650,10 $/1M tokensFermé
BGE-large-en-v1.51024512~64Gratuit (self-host)Ouvert
E5-mistral-7b-instruct409632768~66Gratuit (self-host)Ouvert
nomic-embed-text-v1.57688192~62Gratuit (self-host)Ouvert

Matrice des Méthodes de Recherche

MéthodePrécisionRappelLatenceComplexitéQuand l'utiliser
Recherche vectorielle denseÉlevéeMoyenneRapideFaiblePoint de départ par défaut
Sparse (BM25/SPLADE)MoyenneÉlevéeRapideFaibleRequêtes avec mots-clés exacts
Hybride (Dense + Sparse)ÉlevéeÉlevéeMoyenneMoyenneSystèmes de production
Multi-requêteÉlevéeTrès élevéeLenteMoyenneQuestions complexes
Graphe de connaissances + VecteurTrès élevéeÉlevéeLenteÉlevéeConnaissances structurées
tadata
Dense only Hybrid + re-rank 0.65 0.7 0.75 0.8 0.85 0.9 By heading ~400 By heading ~400 Dense only: 0.78 By heading ~400 Hybrid + re-rank: 0.89 0.78 0.89 Semantic split Semantic split Dense only: 0.75 Semantic split Hybrid + re-rank: 0.86 0.75 0.86 Fixed 400 tokens Fixed 400 tokens Dense only: 0.74 Fixed 400 tokens Hybrid + re-rank: 0.85 0.74 0.85 Fixed 200 tokens Fixed 200 tokens Dense only: 0.71 Fixed 200 tokens Hybrid + re-rank: 0.84 0.71 0.84 Fixed 800 tokens Fixed 800 tokens Dense only: 0.69 Fixed 800 tokens Hybrid + re-rank: 0.79 0.69 0.79 recall@5
Dense only Hybrid + re-rank 0.65 0.7 0.75 0.8 0.85 0.9 By heading ~400 By heading ~400 Dense only: 0.78 By heading ~400 Hybrid + re-rank: 0.89 0.78 0.89 Semantic split Semantic split Dense only: 0.75 Semantic split Hybrid + re-rank: 0.86 0.75 0.86 Fixed 400 tokens Fixed 400 tokens Dense only: 0.74 Fixed 400 tokens Hybrid + re-rank: 0.85 0.74 0.85 Fixed 200 tokens Fixed 200 tokens Dense only: 0.71 Fixed 200 tokens Hybrid + re-rank: 0.84 0.71 0.84 Fixed 800 tokens Fixed 800 tokens Dense only: 0.69 Fixed 800 tokens Hybrid + re-rank: 0.79 0.69 0.79 recall@5
Expérience de découpage illustrative sur un jeu d'évaluation de 200 questions : recall@5 en dense seul vs hybride + re-ranker. Les chunks par titre avec recherche hybride l'emportent ; le re-ranker gagne le plus sur les petits chunks

Extrait de la fiche « Build a RAG Application: Workflow » · Demander la fiche complète

Cadre d'Évaluation RAGAS

MétriqueCe que ça mesurePlageCible
FaithfulnessLa réponse est-elle ancrée dans le contexte ?0-1> 0,85
Answer RelevanceLa réponse répond-elle à la question ?0-1> 0,80
Context PrécisionLes fragments récupérés sont-ils pertinents ?0-1> 0,75
Context RecallTous les fragments nécessaires ont-ils été récupérés ?0-1> 0,75
tadata
Tool Open source Managedoffer Embedded /in-process Hybridkeyword +vector Metadatafiltering Horizontalscale-out pgvector Postgres extension Qdrant Rust Weaviate Go Milvus Go/C++, Zilliz Cloud Pinecone proprietary, serverless OpenSearch k-NN plugin LanceDB Lance columnar format yes / full partial no / none
Tool Open source Managedoffer Embedded /in-process Hybridkeyword +vector Metadatafiltering Horizontalscale-out pgvector Postgres extension Qdrant Rust Weaviate Go Milvus Go/C++, Zilliz Cloud Pinecone proprietary, serverless OpenSearch k-NN plugin LanceDB Lance columnar format yes / full partial no / none
Sept produits comparés (✓ oui, ~ partiel ou via extension/mode, ✗ non ; en 2026, vérifiez la documentation à jour)

Extrait de la fiche « Feature Stores and Vector Databases » · Demander la fiche complète

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.