A rack of servers in a server room
Field note6 min read
All posts

The real cost of GraphRAG: indexing, queries and keeping the graph fresh

Indexing reads your whole corpus with an LLM, global search can use hundreds of times more tokens per question than plain RAG, and freshness is the cost nobody budgets. Published measurements, current prices and a cost model you can fill in.

Photo: Kevin Ache / Unsplash

On this page

    The first question I get about GraphRAG from anyone who holds a budget is not about accuracy. It is: what will this cost to run? The answers in circulation range from "about the same as vector search" to "thousands of dollars to index a few books", and both can be true, depending on the method, the model and how often the data changes.

    This post separates the three costs, indexing, queries and freshness, puts the published measurements next to each other, and turns them into a cost model you can fill in with your own numbers.

    The short answer: indexing means reading your whole corpus with an LLM, and with today's small models the token bill is modest; the model you choose changes it by a factor of fifty or more. Query cost depends far more on the search mode than on the graph: global search can use hundreds of times more prompt tokens per question than plain RAG. Keeping the graph fresh is the cost most teams forget, and the open-source tools only partly solve it.

    Indexing: you pay an LLM to read everything

    Vector RAG only embeds your text, which is cheap. GraphRAG and its relatives also ask an LLM to extract entities and relations from every chunk, and Microsoft's GraphRAG then writes summaries of each community of entities. Microsoft's documentation estimates that graph extraction is about 75% of indexing cost (GraphRAG indexing methods). The original paper took 281 minutes to index a one-million-token podcast corpus with GPT-4 Turbo (Edge et al.).

    GraphRAG-Bench measured the tokens each method needs to index the same book of about 56,000 tokens:

    Tokens used to index one 56,000-token book

    Microsoft GraphRAG
    655
    LazyGraphRAG (third-party)
    591
    KET-RAG
    518
    LightRAG
    474
    HippoRAG 2
    330
    Fast-GraphRAG
    252
    HippoRAG
    178
    RAPTOR
    116
    KGP
    89

    LLM tokens, input plus output (thousands)

    Microsoft GraphRAG read the book's 56,000 tokens with about 12 times as many LLM tokens. The LazyGraphRAG row is a third-party implementation: Microsoft says its own version costs the same to index as vector RAG.

    Source: Xiang et al., When to use Graphs in RAG (GraphRAG-Bench), arXiv 2506.05690 v3, February 2026, Table 10

    Download the data (CSV)

    Show the data
    methodTokens (thousands)
    Microsoft GraphRAG655
    LazyGraphRAG (third-party)591
    KET-RAG518
    LightRAG474
    HippoRAG 2330
    Fast-GraphRAG252
    HippoRAG178
    RAPTOR116
    KGP89

    Tokens become money through the model's price. Taking Microsoft GraphRAG's measured tokens and scaling them linearly to a million tokens of corpus gives an illustrative indexing bill at current list prices (OpenAI pricing, October 2026):

    Illustrative cost to index with Microsoft GraphRAG

    GPT-4o mini0.15 (best)0.60 (best)2.71 (best)271 (best)
    GPT-5 mini0.252.006.64664
    GPT-4.1 mini0.401.607.22722
    GPT-4 Turbo (original paper)10.0030.0015915,935

    My arithmetic: 535,832 input and 118,841 output tokens per 56,000-token book, scaled linearly. Batch processing halves these prices. Real corpora with more entities per page, or extra extraction passes, cost more.

    Source: Token counts: GraphRAG-Bench (2026); prices: OpenAI pricing page, accessed 26 October 2026

    Download the data (CSV)

    Two conclusions follow. With a small model, the token bill for indexing even a large document base is a rounding error next to engineering time. And the model choice matters more than the method: the same pipeline costs about sixty times more with the model the original paper used. Cheaper models extract worse, though, so test extraction quality on a sample before you pick the cheapest one. Microsoft's fast indexing method, which replaces LLM extraction with classic NLP, is cheaper again, at the price of a noisier graph.

    Queries: the search mode decides the bill

    At query time, the cost driver is how much text goes into the prompt. The original paper already showed the range inside GraphRAG itself: answering from the top-level community summaries needed 9 to 43 times fewer tokens than answering from lower levels or from the source text (Edge et al.). GraphRAG-Bench measured the average prompt per question across methods:

    Prompt tokens per question, and what 1,000 questions cost

    Vanilla RAG879 (best)0.13 (best)
    HippoRAG 21,0080.15
    RAPTOR3,4410.52
    Fast-GraphRAG4,2040.63
    HippoRAG7,2081.08
    Microsoft GraphRAG (local search)38,7075.81
    LightRAG100,83215.12
    Microsoft GraphRAG (global search)331,37549.71

    Novel dataset, GPT-4o mini as the answering model; cost is my arithmetic at $0.15 per million input tokens, excluding output. The paper's text gives lower figures for global search (up to about 40,000 tokens), but either way it is one to two orders of magnitude above vanilla RAG.

    Source: Xiang et al., GraphRAG-Bench (arXiv 2506.05690), Figures 8 and 9

    Download the data (CSV)

    Microsoft has worked on this. Dynamic community selection, which lets a cheap model skip irrelevant community reports, cut the average token cost of global search by 77% in its tests and shipped in GraphRAG 0.5 in November 2024 (Microsoft Research). LazyGraphRAG goes further: Microsoft reports that it matched GraphRAG global search on global questions at more than 700 times lower query cost, and indexes at the cost of vector RAG (Microsoft Research). That is Microsoft's own test, on one news dataset, and the post does not say which models were used or how cost was counted; I treat it as promising, not proven. As of version 3.3, LazyGraphRAG is not part of the open-source GraphRAG library.

    The practical lesson is routing. Most questions in an enterprise are lookups that plain or hybrid retrieval answers well; graph methods earn their cost on multi-hop and whole-corpus questions (GraphRAG vs RAG: what the evidence actually says). Send only those to the expensive mode.

    Freshness: the cost nobody budgets

    Documents change. In vector RAG you re-embed the changed chunks. In a graph, a changed document can alter entities, relations and the summaries built on top of them. The LightRAG authors estimated that, at the time, updating a GraphRAG index on a five-million-token legal corpus meant regenerating every community report, about 14 million tokens, while their own method merges new entities and relations into the existing graph (Guo et al. 2024).

    GraphRAG has since added incremental indexing (version 0.4, November 2024) and a graphrag update command that writes a new index next to the old one (GraphRAG CLI, changelog). In the current release, an update processes new documents and appends their communities rather than re-clustering the whole graph. That keeps updates cheap, but the graph drifts from what a full rebuild would produce. Before relying on it, check how your version handles documents that are edited or deleted, and plan a periodic full rebuild.

    A cost model you can fill in

    GraphRAG cost model

    Initial indexingCorpus tokens x LLM tokens per corpus token x priceModel choice; extraction passes
    UpdatesChanged tokens per month x the same factor, plus summary regenerationHow often documents change
    Full rebuildsInitial indexing cost x rebuilds per yearDrift from incremental updates
    QueriesQuestions per month x prompt tokens x price, per search modeShare of questions sent to global search
    Embeddings and storageVector index plus graph storeUsually small
    EvaluationLabelled question set, judging runsRepeated at every change
    EngineeringPipeline, extraction tuning, monitoringUsually the largest line

    Measure the factors on a sample of your own corpus and question log; benchmark numbers only give a starting range.

    Download the data (CSV)

    Ways to keep the bill down, roughly in order of impact:

    1. Route by question type. Lookups to hybrid retrieval, multi-hop to local graph search, whole-corpus to global search.
    2. Pick the extraction model on quality and price together. Test two or three on a labelled sample.
    3. Use batch processing for indexing. It halves the token price and indexing is not interactive.
    4. Prefer dynamic or lazy global search where your stack supports it.
    5. Update incrementally, rebuild on a schedule, and measure how far answers drift between rebuilds.

    Whether a graph is worth these costs at all is a separate decision: five questions before a knowledge graph for RAG help decide, and A GraphRAG business case, done the evidence-based way puts the cost model next to a value range and a pilot threshold.

    How much weight this evidence deserves

    Appraising the evidence

    GraphRAG-Bench token countsIndependent, same corpus for every methodOne small book; a third-party LazyGraphRAG; text and figures disagree on global search
    Edge et al.Primary source for GraphRAGReports context tokens and time, not indexing tokens or dollars
    Microsoft Research blogsThe builders, with clear claimsOwn tests, models and cost units not always stated
    LightRAG paperClear argument on updatesEstimates, not measurements, against a 2024 GraphRAG
    My cost tablesTransparent arithmeticLinear scaling from one book; list prices change

    Download the data (CSV)

    Sources

    How to cite

    Ivan Bardak. "The real cost of GraphRAG: indexing, queries and keeping the graph fresh". bardak.ai, October 29, 2026. https://bardak.ai/posts/graphrag-cost

    Data behind the charts (JSON)

    Discussion