GraphRAG· LLM infrastructure
GraphRAG — Retrieval Over Relationships, Not Only Similar Text
Quick answer: Plain retrieval-augmented generation finds passages that look like the question. That works for "what is your refund window?" It struggles when the answer is spread across many documents or depends on how things connect, such as "which plans are affected by this outage, and which integrations do they use?" GraphRAG adds a map of those connections. The price is a much heavier build, so most small support chatbots should prove a need before choosing it.
How GraphRAG works
The version published by Microsoft Research has two stages, described in the paper "From Local to Global: A Graph RAG Approach to Query-Focused Summarization" (Edge and colleagues, first submitted April 2024).
- Build the index. A language model reads each text chunk and extracts entities (people, products, plans, features) and the relationships between them. Descriptions of the same entity from different chunks are merged. The entities are then grouped into communities of closely related items, and the model writes a summary report for each community.
- Answer at query time. Depending on the question, the system retrieves entity and relationship data, original text chunks, or community summaries, and passes them to the model as context.
Microsoft's documentation says that in the standard method a language model does the reasoning in every one of these steps, and that graph extraction is the main expense, which it estimates at roughly 75 percent of indexing cost. It also offers a cheaper "fast" method that uses ordinary language-processing libraries to pull out noun phrases instead. The documentation says that the fast graph tends to be noisier and suits mainly summary questions.
Three ways to search the graph
Microsoft's query documentation describes three modes. Other tools use similar ideas under different names.
| Mode | Best for | How it works, in short | Watch out for |
|---|---|---|---|
| Local search | Questions about a specific entity and its neighbors | Combines the entity's graph data with matching chunks of the original text | Narrow by design |
| Global search | Questions about the whole collection, such as main themes | Works through the community reports in a map-reduce fashion, each report yielding a partial answer that is then combined | The documentation calls it resource-intensive |
| DRIFT search | Questions that start specific but benefit from wider context | Extends local search with community information, then refines the query into follow-up questions | Adds steps and calls |
GraphRAG compared with plain RAG
| Plain vector RAG | GraphRAG | |
|---|---|---|
| Unit of retrieval | A chunk of text that is close in meaning to the question | Entities, relationships, chunks and community summaries |
| Good at | One-fact questions, quick lookup, fresh updates | Questions about connections, and about the whole collection |
| Build cost | Chunk and embed the documents | Many model calls to extract and summarize, then store a graph |
| Updating | Re-embed the changed pages | Depends on the tool; the graph and summaries may need rebuilding |
| Failure you see | The right facts sit in different chunks and are never retrieved together | A wrong or noisy entity link spreads into an answer |
The two are not rivals. A graph system still uses chunking and often vector embeddings for the text side, and a combined approach is common. For the comparison with keyword-and-vector retrieval, see the hybrid search guide. The retrieve-judge-retry loop of agentic RAG is a separate idea that can sit on top of either.
What the documentation says about four options
These are project statements, not our test results, and we have not run any of them.
- Microsoft GraphRAG. An open-source data pipeline under the MIT license. Its README calls it a modular graph-based RAG system and warns that indexing can be an expensive operation and advises starting small. The paper reports that on global sensemaking questions over datasets of about one million tokens, it substantially outperformed a conventional RAG baseline on the comprehensiveness and diversity of answers. That is the authors' claim on their datasets, not a result on a support chatbot.
- LightRAG. An open-source framework, under the MIT license, that describes itself as a lightweight alternative to Microsoft GraphRAG. Its README says it does not rely on community reports, which it says reduces model calls when indexing and querying, and that it supports incremental updates and deleting documents. Its comparison tables are the authors' own, and in one of four domains GraphRAG scored slightly higher on two measures.
- Neo4j. The neo4j-graphrag Python package is Neo4j's own library. Its documentation lists retrievers over Neo4j vector indexes, a knowledge graph builder pipeline with entity-resolution components, and several model providers. It needs a Neo4j database.
- LlamaIndex. Its PropertyGraphIndex runs extractors over each chunk to attach entities and relations, then lets you combine retrievers. The documentation lists several graph stores, from an in-memory store to Neo4j and others.
Note the difference in approach: Microsoft summarizes communities, LightRAG avoids community reports, and Neo4j and LlamaIndex are building blocks rather than a single method.
When a chatbot benefits from GraphRAG
GraphRAG tends to earn its cost when the questions that matter are about relationships or the whole collection: compatibility across products, dependencies between policies, "which of these apply to me", or summaries across many long documents. It is a poor fit when your help center is a few hundred short, self-contained articles and the questions are lookups; there, better chunking, reranking and a clean knowledge base usually come first.
Limits and risks to plan for
- Build cost and effort. Extraction is the big expense, and the setup is more work than embedding documents.
- Noisy graphs. The model can extract the wrong entity or merge two different ones. The same product named two ways may become two nodes.
- Freshness. If a policy changes, ask how the tool updates the graph and the summaries, and how long that takes.
- It does not remove hallucination. The model can still misread good context, so AI hallucination controls and answer checks still apply.
- Evidence is from other people's data. Published gains come from specific datasets. Test on your own questions before you commit.
- Harder to debug. When an answer is wrong, you must check the text, the graph and the summaries.
FAQ
What is GraphRAG?
A retrieval-augmented generation approach that builds a knowledge graph of entities and relationships from your documents, groups it into communities with summaries, and retrieves from that structure so the model can answer questions about connections and about the collection as a whole.
How is GraphRAG different from RAG?
Plain RAG retrieves text chunks that are similar to the question. GraphRAG also retrieves entities, relationships and community summaries. It is better suited to relationship and whole-collection questions and costs more to build.
Is GraphRAG better than RAG?
Not in general. Its authors report gains on whole-collection questions over large datasets. For single-fact lookups, plain RAG is simpler and cheaper, and a test on your own questions is the only reliable way to know.
Does GraphRAG need a graph database?
Not always. Some tools store the graph in files, and others use a graph database such as Neo4j. The choice depends on size and how you will update it.
What is the difference between GraphRAG and LightRAG?
LightRAG presents itself as a lighter alternative that avoids community reports and supports incremental updates, according to its README. Microsoft's GraphRAG builds community summaries and offers global search.
Is GraphRAG worth it for a small business chatbot?
Only if a meaningful share of your real questions are about connections or the whole collection and plain RAG fails on them. Otherwise improve retrieval first. The companion guide gives a test.
Related terms
- Retrieval-augmented generation — the base technique GraphRAG extends.
- Agentic RAG — the retrieve-judge-retry loop, a different axis.
- Vector database and vector embeddings — the text-similarity side.
- Entity extraction — the step that fills the graph.
- Chunking and reranking — cheaper levers to try first.
Sources
- Edge et al., From Local to Global: A Graph RAG Approach to Query-Focused Summarization — arxiv.org/abs/2404.16130, read 18 October 2026 (abstract).
- Microsoft, GraphRAG documentation, indexing methods and query overview — microsoft.github.io/graphrag, read 18 October 2026.
- Microsoft, GraphRAG, GitHub repository — github.com/microsoft/graphrag, read 18 October 2026.
- HKUDS, LightRAG, GitHub repository — github.com/HKUDS/LightRAG, read 18 October 2026.
- Neo4j, neo4j-graphrag for Python — neo4j.com/docs/neo4j-graphrag-python, read 18 October 2026.
- LlamaIndex, Property Graph Index guide — developers.llamaindex.ai, read 18 October 2026.
- Chatbotscape evaluation methodology. /methodology (continuously updated).