---
title: "GraphRAG, RAG or hybrid RAG: when the graph pays off · Volcanic Minds"
description: "GraphRAG, vector RAG and hybrid RAG on the 2024-2026 benchmarks: which questions the graph wins and what it costs to build and keep up to date."
url: "https://volcanicminds.com/en/insights/graphrag-vs-hybrid-rag"
lang: "en"
type: "second_level_page"
updated: "2026-11-01"
alternate: "https://volcanicminds.com/insights/graphrag-vs-hybrid-rag"
summary: "GraphRAG pays off when questions connect several documents or ask for a summary of the whole archive; on point questions a hybrid RAG, with keyword search, vectors and a reranker, answers just as well and costs far less to build and to update. The article compares vector RAG, hybrid RAG and GraphRAG on the benchmarks published up to April 2026, with the costs, the state of the tools in November 2026 and the point the benchmarks do not measure, document permissions."
---

# GraphRAG or hybrid RAG: when the graph is worth what it costs

The graph wins on questions that connect several documents and ties on point questions, where it costs much more. Benchmarks, costs and tools as of November 2026.

## What does the choice depend on?

If the questions your system gets look for a fact that sits in one document, say the tightening torque a procedure requires or when a contract expires, a well built hybrid RAG answers as well as GraphRAG. It costs much less to build, and a new document is in the index within seconds. If instead the answer has to be pieced together from several documents, or you want the big picture of the whole archive, the graph does better, and you can see the difference.

The most recent study puts it in two numbers. In April 2026 a group at NYU Shanghai compared five GraphRAG variants with a vector RAG, on the same questions and with the same model. On general questions the best graph variant gains 0.47 percentage points of correct answers on average, which is next to nothing. On multi-hop questions, the ones that need two or more passages from different documents to be answered, it gains 27.23.

The catch is that you pay for the graph up front. To build it, a language model has to read the whole archive and extract entities and relations from it, which a vector index never does. So before choosing the architecture, ask yourself three questions. Do the people using the system look for a fact in one document, or for a link between documents? Can everyone read everything, or are some documents confidential? Do the documents change every day or once a year? The graph is for links, and it gets more expensive with confidential documents and with documents that change often.

## What is the difference between RAG, hybrid RAG and GraphRAG?

All three do the same thing: before answering, they look through your documents for the relevant passages and hand them to the language model, the [LLM](/glossary#llm), which answers from those. That is [RAG](/glossary#rag), retrieval-augmented generation. What changes is how they search.

### Vector RAG

Documents are cut into chunks and an embedding model turns each chunk into a vector, a list of numbers that stands for its meaning. The question becomes a vector too, and you take the closest chunks. It is good at finding a concept phrased in different words; it gets codes, standard numbers and proper names wrong, where the exact string matters more than the meaning. If you want to see the code, there is our [RAG agent in TypeScript with Mastra](/insights/rag-agent-mastra-ai).

### Hybrid RAG

Next to the vectors runs a keyword search, usually BM25, the algorithm behind classic search engines. The two result lists are merged into one (the most common method is called Reciprocal Rank Fusion) and a reranker, a model that reads the question and each chunk together, puts the top results back in order.

Anthropic measured what each piece is worth in September 2024. Starting from 5.7% of searches where the right chunk was not in the top twenty, adding a short context written by a model to each chunk brings failures down to 3.7%, adding BM25 on the same chunks to 2.9%, adding the reranker to 1.9%. On financial documents, in an April 2026 study with 23,088 questions over 7,318 documents, BM25 alone beats vector search, and hybrid search with a reranker finds the most.

### GraphRAG

Before any question comes in, a language model reads the whole archive and extracts the entities (people, companies, products, standards) and the relations between them. The result is a knowledge graph, and [GraphRAG.com](https://graphrag.com/), the site Neo4j runs on the subject, defines GraphRAG in exactly those terms: RAG that searches a knowledge graph.

In the Microsoft Research version, which made the name famous in 2024, the graph is then split into communities of connected entities and the model writes a summary for each one. Questions are answered in two ways: local search starts from the entities named and follows the relations, global search reads the community summaries to answer about the whole archive.

Today GraphRAG is the name of a family. LightRAG, HippoRAG 2, LazyGraphRAG and the patterns collected by Neo4j use the graph in different ways, with costs that can differ a hundredfold. When you read a result, check which variant was tested.

## Which questions does the graph win?

The ones that connect several documents, and only there by a clear margin. The table brings together four independent studies and Microsoft's own; the examples in the second column are ours and turn the benchmark categories into company questions. Names like HotpotQA or MuSiQue are public question sets used as test beds. Scores are out of 100: accuracy counts the right answers, F1 measures how closely the answer matches the expected one, word for word.

| Type of question | Company example | Who does better | The data |
| --- | --- | --- | --- |
| Point fact, in one document | "What tightening torque does the assembly procedure require?" | RAG with a reranker, level with the best graph | GraphRAG-Bench (ICLR 2026), novel corpus: accuracy 60.92 for RAG with a reranker, 60.14 HippoRAG 2, 49.29 Microsoft GraphRAG. Han et al. (2026), Natural Questions: F1 64.78 RAG, 63.01 community GraphRAG |
| Link across documents (multi-hop) | "Which orders use parts from the supplier behind the March non-conformity?" | GraphRAG | Fan et al. (2026): +27.23 points on average over HotpotQA, 2Wiki and MuSiQue. GraphRAG-Bench, complex reasoning: 53.38 HippoRAG 2, 42.93 RAG with a reranker |
| Summary of the whole archive | "Which themes keep coming up in the audit reports of the last two years?" | GraphRAG, by a margin that depends on the corpus | Edge et al. (Microsoft, 2024): answers judged more comprehensive in 72-83% of comparisons, by an LLM. GraphRAG-Bench: 64.40 against 51.30 on novels, but on medical texts RAG with a reranker wins, 65.75 against 63.08 for HippoRAG 2 |
| Counts and aggregates | "How many non-conformities per supplier in 2025?" | Neither | Our assessment: it is a query on structured data, in SQL or in Cypher on a graph with a schema, not a text search |

These numbers **need to be read with care**, though.

First, it matters who the graph is up against. Where RAG has a reranker, as in GraphRAG-Bench, the advantage on point facts disappears. If a comparison sets the graph against a vector-only RAG, it is measuring it against the weakest version of the alternative.

Then there is the judge. Many results, Microsoft's included, come from an LLM that reads two answers and picks the better one. Zeng et al. found in 2025 that just swapping the order of the two answers shifts the win rate by more than 30 points, and that a 25-token difference in length shifts it by more than 50. Once these effects are removed, LightRAG, which beat plain RAG 72 to 28, ends up slightly behind.

And agents? You would expect an agent that searches several times and rephrases the question to find the links between documents on its own. In the NYU Shanghai study that barely happens: with untrained agents the graph's advantage on multi-hop questions drops only from 27.23 to 26.59 points. With agents trained by reinforcement learning the gap narrows more, and going from a 3 to a 7 billion parameter model it falls from 14.70 to 9.75 points.

## What does it cost to build the graph and keep it up to date?

The expensive part is building it. A vector index asks the embedding model for one vector per chunk; GraphRAG asks a language model to read every chunk, extract entities and relations, and then write the community summaries. Microsoft's documentation estimates that graph extraction accounts for roughly 75% of the indexing cost, and the project README warns that indexing can be expensive.

The published numbers, each with its base:

- Time to build the index, on the same archive: just over 2 minutes for RAG, over an hour and a half for community GraphRAG, over 2 hours for the triple-based one, that is 41 to 57 times longer (Han et al., MultiHop-RAG corpus).
- [Tokens](/glossary#token) used to index 11,656 MuSiQue passages: Microsoft GraphRAG reads 115.5 million and writes 36.1 million, LightRAG 68.5 and 18.3, HippoRAG 2 only 9.2 and 3.0, twelve times fewer than Microsoft's although it is a graph method too (Gutiérrez et al., the authors of HippoRAG 2).
- Spend with a small model, GPT-4o-mini: 13.19 dollars and 1.72 hours per million tokens of text (Fan et al.).
- Microsoft's first paper: 281 minutes, almost 5 hours, to index about one million tokens of podcast transcripts with gpt-4-turbo (Edge et al.).

For a sense of scale: at the prices in Fan et al., an archive of 100 million tokens, some 250,000 pages, would cost about 1,300 dollars just to build, with a small model. That is our own proportional estimate, and it changes with the model: a more capable one extracts better and costs more. The number you need to decide is the cost per million tokens of your archive, with the model you will use, measured on a sample. The model bill is the small part, though: what costs more is the work of the people who decide what to extract, check the graph and keep it in line with the permissions.

Then there are updates. In a hybrid RAG a new document is a few more chunks in the index. In GraphRAG the model has to read it, work out that "Rossi S.p.A." and "Rossi Spa" are the same company already in the graph, and rewrite the summaries of the communities that change. It can be done incrementally: Microsoft's library has an update command that updates an existing index, and LightRAG supports incremental inserts and selective deletion. It is still more work, and more tokens, than a few extra chunks.

There are ways to spend less. Microsoft offers a fast indexing method, FastGraphRAG, that extracts noun phrases with language processing libraries (NLTK, spaCy) instead of the model, and its documentation admits the graph comes out noisier. LazyGraphRAG, announced by Microsoft Research on 25 November 2024, defers the model's work to query time: according to Microsoft, indexing costs the same as a vector RAG, 0.1% of full GraphRAG, and a global question costs more than 700 times less than global search, at comparable quality. It does not appear in the open source library, though: the changelog never mentions it, and today it is available in public preview inside Microsoft Discovery and Azure Local.

## The point the benchmarks do not measure: who can read what

Benchmark datasets are public texts with no permissions. A company archive holds board minutes, a contract with a client, an employee's review. Here the two architectures behave differently, and what follows is our assessment, not a lab result.

In a hybrid RAG the control is straightforward. Each chunk carries the permissions of the document it comes from, and the search drops the ones the person asking cannot read before they reach the model. The model never sees what the user could not open.

In GraphRAG an entity, a supplier for instance, appears in documents with different permissions, and its relations come from all of them. A community summary is new text, written by a model that also read the confidential documents. In practice that summary is as confidential as the most confidential document the model read to write it, and showing it to everyone means leaking part of that document: a shift supervisor asks which suppliers have had problems and finds in the answer the penalty clause of a contract they are not allowed to open. There are solutions, and they take design work: separate graphs per access level, or the source of every relation stored and filtered on every search, or no global summaries over the sensitive parts.

That is why it pays to settle permissions before the architecture. In the document archive we built for an industrial company, 225 GB of regulations, HSE, safety and operations documents, search is hybrid: BM25 for exact terms such as a standard's number, vectors for meaning, and an agent that queries the archive from the question written in the user's own words. Each role sees its own share of documents, and a confidential document never enters the answers given to someone who cannot open it. It went into production in four months, with 20 people in the first phase. Where the documents travel, and with what guarantees, is the subject of the guide [AI on-premise or in the cloud](/guides/ai-on-premise-vs-cloud).

## Which tools are mature in November 2026?

None is a turnkey product for a company archive with permissions. These are the six that matter today.

| Tool | What it does | Status on 1 November 2026 | Worth knowing |
| --- | --- | --- | --- |
| Microsoft GraphRAG | the original pipeline: graph, communities, summaries, local, global and DRIFT search | version 3.3.0 of 8 October 2026; the README declares the project in maintenance, with no new features | stores the graph in plain data files (Parquet), no graph database needed; the update command updates an existing index |
| LazyGraphRAG | defers the model's work to query time | announced on 25 November 2024; in public preview inside Microsoft Discovery and Azure Local | indexing at the cost of a vector RAG, according to Microsoft; not found in the open source library |
| LightRAG | a lighter graph, queried with specific and general keywords | lightrag-hku 1.5.7 of 2 September 2026 | incremental inserts and selective deletion; results vary widely from one study to the next |
| HippoRAG 2 | uses the graph as an associative memory, with personalized PageRank | presented at ICML 2025 | in its authors' tests it indexes with 12 times fewer tokens than Microsoft GraphRAG; level with RAG on point facts |
| Neo4j GraphRAG | Python library to build and query a graph in Neo4j | neo4j-graphrag 1.23.0 of 28 October 2026; Aura Agent available since 3 February 2026 | requires Neo4j; Aura Agent works on a graph that already exists, at 0.35 dollars per agent hour |
| Amazon Bedrock Knowledge Bases | managed GraphRAG on Neptune Analytics | available since 7 March 2025, in seven regions including Frankfurt, London and Ireland | S3 documents only, up to 1,000 files per data source (10,000 on request), graph construction not configurable |

The same method gets different results from one study to the next. LightRAG, with its default settings, scores an average F1 of 6.6 out of 100 in the tests run by the HippoRAG 2 authors, beats plain RAG 72 to 28 with an automatic judge and, once the judge's biases are corrected, ends up slightly behind. The method's name tells you little: what counts is how it is configured and how it does on your questions.

Then there is security. A study presented at the IEEE Symposium on Security and Privacy 2026 finds that poisoning attacks designed for RAG work less well on GraphRAG, but that the graph opens a new route: a text crafted to inject shared relations compromises several questions at once, with a success rate of up to 98%. If documents you do not control end up in the archive, such as emails, supplier attachments or web pages, the graph has to be treated as untrusted input.

## What the answers you find online get wrong

On 1 November 2026 we asked Google, its AI Mode, ChatGPT and Perplexity the same questions about GraphRAG, signed out. Nearly all of them agree on the basic recommendation, and they are right: start from hybrid and add the graph where it is needed. On the details they are often wrong, and on points that weigh on a decision.

- "GraphRAG drastically reduces hallucinations", say Google's AI Overview and AI Mode, with no number. The independent studies read for this article contain no measurement that supports it, and one of them finds that the graph it built contains about 65.8% of the entities needed to answer the HotpotQA questions. If an entity was not extracted, the graph cannot find it.
- Cost as a fixed multiplier: 5 to 10 times, 10 to 50, 100 to 1,000, 300 to 2,000 times a vector index. Google's AI Mode alone gave three different ones in three questions. The cost depends on the archive and the model; the numbers with a base are the ones in the section on costs.
- "It requires rebuilding the whole index on every update": Microsoft's library has the update command and LightRAG inserts documents incrementally. Updating costs more than in a hybrid RAG, but it does not mean starting from scratch.
- "Best suited if you are already on Azure": Microsoft GraphRAG is an open source Python library, it installs with pip and does not require Azure.
- The graph that gives exact counts: several answers imply it. Community summaries are text written by a model; counting non-conformities per supplier is a query on structured data.

## Where to start

1. Collect a hundred or so real questions, the ones people actually ask, with the right answer written by someone who knows it. Without a set like that, every comparison between architectures stays an opinion. It is the same work you need to [bring an AI-built prototype into the company](/guides/ai-prototype-to-production).
2. Start from a hybrid RAG: BM25 and vectors, result fusion, a reranker, metadata filters and permissions applied in the search. It is the alternative the graph has to be compared with, and it is often enough.
3. Look at where it fails. If it fails because it finds the wrong chunk, the problem is in how the documents are split, in the embeddings or in the reranker, and a graph will not fix it. If it fails because the answer lies in the link between two documents, the graph becomes a candidate.
4. If you need the graph, build it where it is needed: a schema you decide (suppliers, products, orders) over one part of the archive, queried only for the questions that need it. It is easier to keep under control than a graph extracted freely from everything.
5. Settle permissions and update frequency before you choose. Those are the two points where the graph costs the most.
6. Evaluate against the right answers and with reference metrics. If you use an LLM as a judge, repeat every comparison with the order of the answers swapped.

## Frequently asked questions

The questions that come up when graphs are on the table

### When should you use GraphRAG and when hybrid RAG?

Hybrid RAG is the better choice when the person asking is looking for something that sits in one document, such as a standard's number, a deadline or a step in a procedure. It answers as well as GraphRAG, costs much less, and a new document is in the index within seconds. GraphRAG pays off when the answer has to be pieced together from several documents, for instance starting from the supplier behind a non-conformity and getting to the orders that use its parts: there, in the most recent study, it gets 27 more answers right out of 100 on average.

A real example is the document archive we built for an industrial company: 225 GB of regulations, HSE, safety and operations documents, with hybrid search, BM25 for exact terms and vectors for meaning, and each role seeing only the documents it is allowed to open. It went into production in four months, and each search saves 23 minutes.

### Does GraphRAG reduce hallucinations?

No independent measurement shows it in general. The graph helps when the answer needs several documents connected, because the model receives the links instead of having to guess them.

On point questions it gets as many answers wrong as a good RAG, or more, and what extraction did not put in the graph cannot be found: in a study updated in March 2026 the graph that was built contained about 65.8% of the entities needed to answer the HotpotQA questions, a public test bed.

### Do you need a graph database like Neo4j for GraphRAG?

No. Microsoft's library stores entities, relations, communities and summaries in plain files on disk, in Parquet format, and answers from there.

A graph database is useful when you want to query the graph precisely, with queries that in Neo4j are written in Cypher, or share it across several applications. The Neo4j GraphRAG library requires it, and Amazon Bedrock's GraphRAG service uses Neptune Analytics.

### How much does it cost to build a GraphRAG?

It depends on how much text you have and on which model extracts the graph. The most recent published figure, from April 2026, is 13.19 dollars and 1.72 hours per million tokens of text with GPT-4o-mini; with a larger model the cost goes up.

A vector index only uses the embedding model, and even adding the context Anthropic proposes to every chunk, the stated one-off cost is 1.02 dollars per million tokens. Microsoft's LazyGraphRAG brings indexing down to the cost of a vector RAG, but today it is only available in preview inside Microsoft services.

### Does GraphRAG make sense for a small or mid-sized company?

Rarely as a first step. If the archive is under 200,000 tokens, about 500 pages, Anthropic suggests skipping RAG altogether and putting everything in the [prompt](/glossary#prompt).

Above that threshold you start from a hybrid RAG. The graph comes in when the questions that matter connect several documents, for instance suppliers, batches and non-conformities, and after you have seen the hybrid fail exactly there.

### Is Microsoft GraphRAG still being developed?

Only maintained. As of 1 November 2026 the README says the project adds no new features and accepts no new pull requests; releases with fixes still come out, the latest being 3.3.0 of 8 October 2026.

For a new project it is worth looking at LightRAG or the Neo4j library as well, and keeping in mind that LazyGraphRAG does not appear in the open source version.

## Does your archive need a graph?

Let's look together at the questions people actually ask and at who can read what, before choosing the architecture.

- [Let's talk about your project](/en/contacts)

## More articles on the same topic.

*Continue*

- [Web Bot Auth: visitors with no eyes](/en/insights/web-bot-auth-agentic-traffic.md): AI agents read your site and convert better than organic, yet they never show up in analytics. How to measure them and verify them with Web Bot Auth.
- [Generative UI: for humans and machines](/en/insights/generative-ui-agents-dual-mode.md): Explore how Generative UI and Dual-Interaction UX transform enterprise SaaS by creating adaptive interfaces for human operators and AI agents.
- [Multi-tenant: SaaS data segregation](/en/insights/multi-tenant-ai-saas-strategy.md): What multi-tenant means and how to pick data isolation in a SaaS: dedicated database, separate schema or shared row, and what changes with AI and RAG.
