GenAI

Four Retrieval Techniques to Improve RAG: CRAG, Self-RAG, RAG-Fusion and GraphRAG

CRAG, Self-RAG, RAG-fusion, Fast GraphRAG: four advanced retrieval techniques to make your RAG systems more accurate, more robust and far more scalable.

September 9, 20259 min
Arturo D.
Adservio Expert
Four Retrieval Techniques to Improve RAG: CRAG, Self-RAG, RAG-Fusion and GraphRAG
TL;DR
  • Naive RAG, chunk, vectorize, retrieve the nearest fragments, hits its limits in accuracy, cost and scaling on large corpora.
  • Corrective RAG (CRAG) adds a lightweight evaluator that grades the relevance of retrievals and redirects the search elsewhere when it falls short.
  • Self-RAG trains a retriever, a critic and a generator together, and steers its behavior at inference time through reflection tokens.
  • RAG-fusion multiplies reformulations of the query and merges the rankings through RRF to capture more nuance and context.
  • Fast GraphRAG relies on a knowledge graph and PageRank: richer retrieval on large, dynamic volumes, up to six times cheaper than GraphRAG.

RAG in 2026: why naive retrieval is no longer enough

Retrieval-augmented generation (RAG) remains, in 2026, the reference technique for grounding generative AI in reliable, up-to-date, company-specific data. But its simplest form, chunking documents, vectorizing them, retrieving the fragments closest to a query, shows its limits as soon as corpora grow, questions become more complex or accuracy becomes a regulatory or business-critical issue.

A variety of approaches has emerged to overcome these limits, to the point where retrieval has become an engineering domain in its own right, at the heart of agentic AI platforms: the quality of an assistant or an agent depends less on the choice of model than on the quality of what it is given to read. This article examines four proven techniques, Corrective RAG, Self-RAG, RAG-fusion and Fast GraphRAG, detailing for each the problem it solves, its limitations and its preferred use cases.

The list is not exhaustive, but it covers the four patterns we most often encounter in production with our clients, and provides a reading grid for arbitrating between accuracy, latency, cost and complexity. Each technique adds a layer of intelligence to a different stage of the pipeline: evaluation after retrieval, reflection before it, query expansion upstream, and graph structure in the store itself.

How RAG works and the limits of the naive approach

RAG augments large language models by letting them retrieve external information at query time. The model thus has access to information that is more accurate, up to date and contextual than its training corpus, without costly retraining. It is the shortest path between an enterprise knowledge base and a language model.

The pipeline: ingestion, embeddings, retrieval, generation

External knowledge sources, documents, databases, wikis, are ingested, chunked and then vectorized to create vector embeddings, most often stored in a vector database. When a user enters a query, it is vectorized in turn, the closest fragments are retrieved and injected into the model's context, and the model generates the answer. Chunking strategy, embedding model and similarity metric each influence the final quality.

This mechanism is powerful but fragile. Retrieval success depends entirely on data quality: the data must be well organized and up to date. Above all, so-called "naive" RAG struggles with complex queries and large databases: it confuses close meanings within a corpus, or lacks the nuance needed to bring back the truly relevant information. These are precisely the weaknesses the four techniques below address.

Semantic Search and Information Retrieval with Transformers
Related readSemantic Search and Information Retrieval with TransformersSemantic search in 2026: embeddings, cosine similarity, the retriever + reranker duo, vector databases and hybrid search for building an accurate RAG at scale.Read the article

Corrective RAG (CRAG): a self-evaluation step before generating

Corrective RAG (CRAG) is one of the most widespread approaches for making retrieval reliable. Its core idea: introduce an evaluation step into the process, through a self-grading mechanism. A lightweight retrieval evaluator computes the relevance of each retrieved element; if the score does not clear a given threshold, the system looks elsewhere, back to the dataset, a reformulated query, or even a complementary web search. The retrieved documents are also filtered and refined, so that only the useful passages reach the generator.

This step solves the problem of inaccurate retrievals, notably the confusion between semantically similar information, and reinforces the reliability of what feeds the generation. But it comes at a price: the evaluation adds latency and compute resources, which can weigh on a customer-facing production application, and it makes pipelines more complex, and therefore harder to debug. And of course, CRAG cannot fix problems present in the data itself, whether it is inaccurate, outdated or poorly chunked.

When to choose Corrective RAG

CRAG is a good choice when you need to balance accuracy with real-time data integration: living document bases, technical support, domains where a wrong retrieval is expensive but where the extra latency of an evaluation step remains acceptable.

Self-RAG: reflection tokens and iterative learning

Self-RAG is closely related to Corrective RAG: the "self" refers to the same idea of self-reflection. But it goes further. It extends reflection to the very decision to retrieve, should the system fetch additional data, or does the model already know the answer?,and learns from its evaluations iteratively, thanks to three models trained together: a retriever, a critic and a generator. The critic learns to judge both whether retrieval is needed and whether the generated answer is supported by the retrieved passages.

Reflection tokens in practice

This three-part architecture lets the system emit "reflection tokens": generating these tokens makes the language model controllable during the inference phase and allows it to tailor its behavior to diverse task requirements. Self-RAG thus forms a feedback loop in which the decisions made at the retrieval stage reinforce the system's understanding and improve its performance over time.

Its limitations overlap with CRAG's, with risks of its own: the self-reflection mechanism can produce conclusions not actually supported by the data, the system "overthinks",and spending tokens on reflection can reduce the fluency of outputs. Self-RAG is particularly indicated when you want an adaptive LLM, for open-ended questions and sophisticated reasoning. In every case, measure: it is systematic evaluation of the system that decides between these variants on your real corpus.

How to Evaluate an LLM System
Related readHow to Evaluate an LLM SystemEvaluating an LLM system in production: quality metrics, eval datasets, LLM-as-judge, prompt regression testing and continuous drift monitoring.Read the article

RAG-fusion: multiplying queries and merging rankings with RRF

RAG-fusion takes another direction. Where CRAG and Self-RAG bet on self-reflection, it attacks the problem at the source: a single query rarely captures the user's whole intent. The system therefore generates several reformulations of the original query, runs a retrieval for each one, then merges the results into a single ranking through reciprocal rank fusion (RRF).

By widening what the model can retrieve, RAG-fusion captures more context and nuance: it helps the model give more coherent and detailed answers, and better handle difficult or multi-faceted queries. In return, it adds substantial complexity to the architecture and the pipelines, more than the two previous techniques, and every additional reformulation is paid for in model calls and latency. Budget accordingly: four reformulations mean four retrievals and one fusion step on every user question.

The use cases where RRF shines

RAG-fusion excels in domains where questions are naturally composite, such as customer support or internal assistance: "how do I migrate my contract and keep my benefits?" covers two intents that parallel reformulations recover better than a single query. Whenever specificity and depth of answers come first, it is a technique of choice.

GraphRAG and Fast GraphRAG: retrieval through a knowledge graph

GraphRAG, originally developed by Microsoft Research, changes the paradigm: instead of retrieving isolated chunks, it extracts entities and their relationships and places them into a knowledge graph, a map of the retrievable data. The advantage is structural: the connections between pieces of information become visible and exploitable by the LLM, which can answer cross-cutting questions such as "what themes connect these documents?",out of reach for pure vector search. Community detection and summarization over the graph also enable global questions about an entire corpus, not just local lookups.

PageRank in the service of relevance

Fast GraphRAG, an open-source implementation of this idea, adds PageRank, Google's historic algorithm, to identify the most relevant nodes of the graph more quickly. The result: richer retrieval, better suited to large volumes and to dynamic data that evolves as information is added or becomes outdated, at a cost potentially up to six times lower than classic GraphRAG. The graph is updated incrementally, without rebuilding everything at each ingestion.

The limitations: traversing a graph remains slower than searching a vector database, and building and maintaining the graph add a complexity that is not justified for many use cases. Fast GraphRAG can be overkill for a modest corpus; but on an especially large dataset, or when precision is critical, it is a very good option.

AIRAGGenAIInformation retrievalKnowledge graphLLM

GET THIS ARTICLE

Download the full article as a PDF to read offline or share it.

SHARE THIS ARTICLE

On LinkedIn, X or by email, or just copy the link.

STAY POSTED

Get our next analyses and field notes straight to your inbox.

TALK TO AN EXPERT

Put these ideas into practice

Talk to our engineers about how this applies to your platform, your data and your teams.

By submitting this form, you agree to our privacy policy.

Frequently Asked Questions

Corrective RAG introduces a lightweight evaluator that grades the relevance of each retrieval and redirects the search when the threshold is not met. Self-RAG goes further: it also decides whether to retrieve at all, and iteratively learns from its evaluations through three models trained together (retriever, critic, generator) and reflection tokens, at the cost of a risk of "overthinking".

When queries are complex or multi-faceted and the specificity and depth of answers matter, customer support, internal assistance. RAG-fusion generates several reformulations of the query and merges the rankings through RRF, at the cost of higher complexity and cost than the other techniques.

An open-source implementation of GraphRAG that organizes data into a knowledge graph rather than chunks and uses PageRank to quickly identify the most relevant nodes. It suits large, dynamic corpora where precision is critical, at a cost up to six times lower than GraphRAG, but with higher latency than vector-based approaches.

Yes. Preloading a whole corpus into the context (cache-augmented generation) is only viable for stable, bounded corpora, and does not improve accuracy. For large, evolving or sensitive document bases, selective retrieval remains more accurate, cheaper and easier to govern.

A pattern that became dominant in 2026: an agent decides for itself when to retrieve, where to search and which strategy to apply, combining CRAG, RAG-fusion or GraphRAG as needed depending on the query, most often through standardized connectors such as MCP.