Un bon RAG (Retrieval-Augmented Generation) ne se résume pas à brancher une base vectorielle à un LLM. L'enjeu réel : qualité des sources, traçabilité des réponses et expérience utilisateur fiable dans la durée.
Architecture d'un système RAG
Un système RAG se compose de trois couches distinctes : l'ingestion des documents, le moteur de recherche hybride, et le générateur (LLM). Chaque couche peut être un point de défaillance. Une architecture solide monitore chaque couche indépendamment.
- Ingestion : parsing des documents (PDF, Word, HTML), nettoyage, chunking
- Indexation : base vectorielle (Pinecone, Weaviate, Qdrant) + index BM25 pour la recherche hybride
- Récupération : reranking des résultats, filtrage par métadonnées
- Génération : prompt structuré avec les chunks récupérés, citations obligatoires
Les 4 briques à maîtriser
- Sources : pertinence, mise à jour régulière, gouvernance des droits
- Chunking : granularité cohérente avec les types de questions attendues
- Indexation : recherche hybride (dense + sparse), filtres par rôle et date
- Évaluation : tests automatisés, seuils de confiance, monitoring continu
Stratégies de chunking avancées
Le chunking naïf (découpe par taille fixe de tokens) produit souvent des résultats médiocres. Les chunks doivent respecter la structure sémantique du document : une section, un paragraphe complet, ou une unité logique.
- Chunking par structure (titre → sous-section → paragraphe) pour les documents structurés
- Chunking sémantique avec overlapping pour préserver le contexte entre chunks
- Chunking adaptatif : petits chunks pour les FAQ, grands chunks pour les analyses
- Métadonnées obligatoires : date, source, section, auteur, niveau d'accès
Évaluation continue avec RAGAS
RAGAS (RAG Assessment) est un framework open source pour évaluer automatiquement la qualité d'un système RAG. Il mesure quatre dimensions critiques qui doivent toutes être au vert avant de passer en production.
- Faithfulness : la réponse est-elle fidèle aux sources récupérées ?
- Answer Relevancy : la réponse répond-elle bien à la question posée ?
- Context Precision : les chunks récupérés sont-ils pertinents ?
- Context Recall : le système récupère-t-il tous les chunks nécessaires ?
Protections indispensables
- Citations de sources systématiques et lien vers le document original
- Détection d'incertitude : réponse prudente quand la confiance est faible
- Contrôle d'accès par rôle : chaque utilisateur ne voit que ce qu'il doit voir
- Protection contre l'injection de prompt dans les questions utilisateur
Point clé production
Un RAG fiable se mesure : taux de réponse utile, couverture des questions, temps de réponse médian et taux d'escalade vers un humain. Sans métriques, vous pilotez à l'aveugle.