← Back to Blog
AI / MLMarch 5, 20266 min read

GraphRAG (2024): Advanced RAG with Knowledge Graphs

GraphRAG is advanced RAG using knowledge graphs, introduced by Microsoft Research in July 2024.

Advanced RAG using knowledge graphs

GraphRAG is advanced RAG using knowledge graphs. Microsoft Research introduced it in 2024, with the official GitHub release announced on July 2, 2024. It extends classic RAG by extracting entities and relationships from documents and building a graph structure for retrieval.

Classic RAG retrieves flat document chunks. GraphRAG understands how entities connect. That matters for questions requiring global reasoning across a large corpus, such as summarizing themes or tracing relationships between concepts.

Graph indexing vs vector indexing

graphrag_index.pyPython
# Classic RAG: flat chunks
chunks = chunk_documents(documents)
embeddings = embed(chunks)
vector_store.upsert(chunks, embeddings)

# GraphRAG: entities + relationships + communities
entities = extract_entities(documents)
relationships = extract_relationships(documents, entities)
graph = build_knowledge_graph(entities, relationships)
communities = detect_communities(graph)
summaries = summarize_communities(communities)
graph_store.save(graph, summaries)

GraphRAG adds an indexing phase that classic RAG skips. The tradeoff is higher upfront cost for better global retrieval quality on complex knowledge bases.

RAG vs GraphRAG: when to use each

Use RAG for point lookups: find a hotel policy, answer a FAQ, retrieve a product detail. Use GraphRAG when the question requires synthesizing information across many documents or understanding how entities relate. Production systems often use both.