Aller au contenu

Récupération Contextuelle (Contextual Retrieval)

Ce que vous saurez dans 3 minutes

  • Développeurs IA : Comment implémenter cette technique pour réduire les erreurs de retrieval.
  • Architectes : Comprendre le compromis coût (indexation) vs qualité (recherche).
  • Experts RAG : Comparer cette approche au “Parent Document Retriever”.

1. Comprendre

Le RAG (Retrieval Augmented Generation) est la technique standard pour permettre à une IA de répondre sur vos propres documents. Mais le RAG a une faiblesse majeure : le découpage (chunking).

Le Syndrome du “Morceau Orphelin”

Imaginez que vous indexez un rapport financier de 100 pages. Vous le découpez en paragraphes. L’un des paragraphes est : “Le chiffre d’affaires a doublé au Q4 grâce à cette acquisition.” Si vous cherchez “Résultats Apple Q4”, le moteur de recherche ne trouvera jamais ce paragraphe, car il ne contient pas le mot “Apple”. Le contexte est perdu.

Définition


2. Appliquer

Comment transformer vos pipelines RAG classiques en pipelines Contextual ?

La Méthode en 3 Étapes

  1. Chargement du Document Vous avez le document complet en mémoire (ex: le rapport annuel d’Apple).

  2. Génération du Contexte (L’étape Clé) Pour chaque chunk, vous demandez à un LLM rapide (ex: Claude 3 Haiku, GPT-4o-mini) :

    “Voici le document complet. Voici un extrait. Donne-moi une phrase de contexte qui situe cet extrait dans le document.”

    Chunk Original : “Le CA a augmenté de 5%.” Chunk Enrichi : “Dans le rapport financier Apple 2024, section Services, le CA a augmenté de 5%.”

  3. Indexation Vous créez l’embedding (le vecteur) à partir du Chunk Enrichi.

Impact sur la performance

Selon les benchmarks d’Anthropic :

  • Réduction des échecs de récupération : -49% (le système trouve le bon document deux fois plus souvent).
  • Coût : Légère augmentation à l’indexation (appel LLM pour chaque chunk), mais coût nul à la recherche.

Contextual Retrieval + BM25 (Hybrid)

La technique est encore plus puissante si on la combine avec une recherche par mots-clés traditionnelle (BM25). Le vecteur capture le sens global, le BM25 capture les termes exacts (noms propres, IDs techniques). La combinaison des deux (Hybrid Search) avec Contextual Retrieval est l’état de l’art actuel du RAG.


3. Aller plus loin

Comparaison avec d’autres stratégies

TechniquePrincipeAvantageInconvénient
Contextual RetrievalEnrichir le chunk avant indexation.Très précis, self-contained.Coût d’ingestion (LLM).
Parent Document RetrieverIndexer des petits chunks mais récupérer le gros parent.Garde le contexte à la lecture.Ne résout pas le problème de recherche (le petit chunk doit matcher).
Late Interaction (ColBERT)Garder tous les tokens sans compresser en un seul vecteur.Extrême précision.Coût de stockage et de calcul énorme.

Implémentation Optimisée

Pour ne pas exploser les coûts d’indexation :

  1. Utilisez des modèles “Low Cost” pour générer le contexte (Claude Haiku, Gemini Flash).
  2. Utilisez le “Prompt Caching” si disponible (envoyer le document complet une fois, puis poser des questions pour chaque chunk).

Questions Fréquentes

Est-ce que ça ralentit la recherche (chat) ?

Non, absolument pas. Tout le travail se fait lors de l’ingestion (indexation). Au moment où l’utilisateur pose une question, la recherche est aussi rapide qu’avant, elle est juste plus pertinente.

Peut-on utiliser ça avec n’importe quelle base vectorielle ?

Oui (Pinecone, Weaviate, Qdrant, PGVector…). La modification se situe au niveau de la préparation des données (le texte que vous envoyez à l’embedding), pas de la base de données elle-même.


Notions Liées (Spider Web)

Ressources Externes