Dans un système RAG, le modèle ne cherche pas lui-même dans vos données. Un retriever sélectionne d’abord les passages qui seront placés dans son contexte. LlamaIndex fournit les briques pour ingérer des sources, les découper, les indexer et construire cette étape de récupération.
Du document au nœud
Un Document représente généralement une source : fichier, page ou enregistrement. Pendant l’ingestion, il est découpé en Nodes, des unités plus petites enrichies de métadonnées comme l’URL, la date, le produit ou les droits d’accès. Cette distinction est importante : la citation doit remonter au document, tandis que la recherche classe les nœuds.
Un découpage trop grand dilue le signal. Trop petit, il sépare une explication de son contexte. Testez plusieurs tailles sur de vraies questions.
À quoi sert un index ?
Un index organise les nœuds afin de les retrouver. Le VectorStoreIndex calcule des embeddings et délègue généralement leur stockage à une base vectorielle. La similarité sémantique retrouve alors des formulations proches, même sans mots identiques. Les métadonnées restent indispensables pour filtrer par tenant, langue, version ou période.
Le retriever décide de ce qui entre dans le prompt
Le retriever reçoit une question et renvoie une liste de nœuds avec des scores. Ses paramètres — nombre de résultats, filtres, seuils et stratégie — ont souvent plus d’impact que le prompt final. Une recherche hybride combine similarité vectorielle et recherche lexicale. Un reranker peut ensuite réordonner les candidats avec un modèle plus précis mais plus coûteux.
Exemple de pipeline
- Charger les documents et normaliser leurs métadonnées.
- Découper le texte sans casser titres, tableaux ou blocs de code.
- Calculer les embeddings et créer l’index.
- Filtrer les résultats selon les autorisations.
- Récupérer davantage de candidats que nécessaire.
- Les reranker puis n’envoyer que les meilleurs au modèle.
- Conserver identifiants et extraits pour générer des citations vérifiables.
Évaluer avant d’optimiser
Constituez un jeu de questions avec les passages attendus. Mesurez si un passage pertinent apparaît dans les premiers résultats, puis analysez les échecs : mauvais découpage, métadonnée absente, vocabulaire exact ignoré ou embedding inadapté. Évaluez séparément la récupération et la réponse ; sinon, un bon texte généré peut masquer une mauvaise source.
Erreurs fréquentes
- Indexer sans stratégie de mise à jour ni suppression.
- Mélanger plusieurs clients sans filtre d’autorisation.
- Augmenter top_k jusqu’à saturer le contexte.
- Changer de modèle d’embedding sans réindexer.
- Confondre score de similarité et preuve de vérité.
FAQ
Faut-il toujours un reranker ?
Non. Commencez avec une récupération simple et ajoutez-le si l’évaluation montre qu’il améliore réellement les premiers résultats.
Peut-on combiner plusieurs retrievers ?
Oui. C’est utile pour fusionner recherche sémantique, mots-clés et sources structurées, à condition de normaliser les scores et de mesurer le résultat.
L’index contient-il la réponse ?
Il contient ou référence les passages sources. Le modèle formule ensuite la réponse à partir de ces passages.