28 RAG variants¶
A working catalogue with brief notes on when to pick each one.
| Family | Variant | When to use |
|---|---|---|
| Foundational | Naive | Baseline; good for small corpora and prototyping |
| Foundational | Advanced | Naive + reranker, hybrid search |
| Foundational | Modular | Compose your own components |
| Quality | Self-RAG | Self-critique loop, retrieval as needed |
| Quality | CRAG (Corrective RAG) | Detects bad retrieval and corrects |
| Quality | Adaptive RAG | Adjusts strategy per query difficulty |
| Agents | Agentic RAG | Multi-step reasoning with tool calls |
| Agents | ReAct | Reasoning + acting interleaved |
| Knowledge graphs | GraphRAG | KG-backed retrieval |
| Knowledge graphs | KAG | Knowledge-augmented generation |
| Knowledge graphs | CAG | Cache-augmented generation |
| Query rewriting | HyDE | Generate hypothetical doc, retrieve on it |
| Query rewriting | RAG-Fusion | Multi-query expansion + RRF |
| Hierarchical | RAPTOR | Tree of chunk summaries |
| Hierarchical | FLARE | Forward-looking active retrieval |
| Long context | Long RAG | Larger chunks, fewer hops |
| Hybrid | Hybrid RAG | Dense + sparse + reranker |
| Conversational | Conversational RAG | Maintains turn history |
| Multi-modal | Multi-Modal RAG | Text + images + tables |
The full list (28) lives in
RagTypeenum. Each variant has its own factory builder.