Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Corrective RAG (CRAG)

ia

Définition

Corrective RAG (CRAG) est une technique RAG proposee par Yan et al. (2024) qui ajoute une etape d'evaluation de la qualite du retrieval et une correction automatique quand les documents recuperes sont de mauvaise qualite. Un evaluateur (lequel peut etre un petit modele entraine ou un prompt LLM) score chaque document recupere comme 'correct', 'ambigu', ou 'incorrect'. Le mecanisme de correction : si l'evaluateur determine que les documents recuperes sont de qualite insuffisante (score faible), CRAG declenche automatiquement une strategie de fallback — typiquement une recherche web via Tavily, SerpAPI ou Bing pour obtenir des informations plus recentes ou plus pertinentes. Les documents web sont ensuite raffines (chunking, extraction des parties pertinentes) et combines avec les documents vectoriels. L'avantage principal de CRAG est sa robustesse aux bases de connaissances incompletes : quand la base vectorielle ne contient pas l'information necessaire (questions sur des evenements recents, sujets peu couverts), CRAG compense automatiquement par la recherche web. Cela est particulierement precieux dans les applications enterprise ou les bases de connaissances ne peuvent pas etre constamment mises a jour. L'implementation de CRAG dans LangGraph est naturelle : le graphe inclut un noeud 'd'evaluation du retrieval' avec des aretes conditionnelles — si la qualite est suffisante, passer directement a la generation ; si ambigue, combiner retrieval vectoriel et web ; si incorrect, basculer entierement vers la recherche web. Les ameliorations de CRAG par rapport au RAG standard : +6.8% sur PopQA (questions sur des entites rares), +4.2% sur AmbigQA (questions ambigues), +8.1% sur PubHealth (sante, ou les bases ne sont jamais completes). Le cout additionnel est la latence des appels de recherche web (500-2000ms).

Pipeline CRAG simplifie

def evaluate_retrieval_quality(query, docs, llm):
    scores = []
    for doc in docs:
        prompt = f'Est-ce que ce document repond a la question: {query}\n'
        prompt += f'Document: {doc.page_content[:500]}\n'
        prompt += 'Score: [correct/ambiguous/incorrect]'
        score = llm.predict(prompt).strip().lower()
        scores.append(score)

    correct_count = scores.count('correct')
    if correct_count >= 2:
        return 'good', docs
    elif correct_count >= 1:
        return 'ambiguous', docs  # Augmenter avec web
    else:
        return 'bad', []  # Remplacer par web search

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis