CRAG (Corrective RAG)
Definition
Corrective RAG (CRAG) adds a self-correction layer that evaluates retrieved documents and triggers additional retrieval strategies (like web search) when the initial retrieval is insufficient.
Why It Matters
Standard RAG assumes retrieved documents are always useful. In reality, the retrieval step often returns irrelevant or partially relevant content. CRAG explicitly evaluates retrieval quality and has fallback strategies - making RAG systems more robust to retrieval failures.
How It Works
CRAG adds a correction loop:
- Initial Retrieval: Standard vector search for relevant documents
- Evaluation: Score retrieved documents as Correct/Ambiguous/Incorrect
- Correction Actions:
- Correct: Use documents directly
- Ambiguous: Refine with knowledge extraction
- Incorrect: Trigger web search as fallback
- Generation: Produce answer from corrected context
When to Use
Implement CRAG when: your document collection is incomplete, queries often fall outside your knowledge base, answer reliability is critical, or you need graceful degradation for edge cases. The extra evaluation step adds latency but significantly improves robustness.
Source
CRAG improves RAG robustness by evaluating and correcting retrieval results before generation.
https://arxiv.org/abs/2401.15884