microsoft /graphrag
A modular graph-based Retrieval-Augmented Generation (RAG) system
★ 36,620⑂ 3,878👁 205⑃ 1,367● 870▤ 44◈ 309
36,620
stars
+18
3,878
forks
205
watchers
1,367
prs
870
issues
44
releases
309
discussions
README
GraphRAG
[!WARNING]
GraphRAG is a research project that explores the functional use of graphs to form a targeted context for question answering. Since our first release in July 2024 the capabilities of frontier models have changed dramatically, and our portfolio of research projects has diversified to match. This project is largely in maintenance mode, and won't be accepting new PRs or implementing new features. We'll perform bug fixes and dependency updates as appropriate, particularly to address CVEs as they arise.
👉 Microsoft Research Blog Post
👉 Read the docs
👉 GraphRAG Arxiv
Overview
The GraphRAG project is a data pipeline and transformation suite that is designed to extract meaningful, structured data from unstructured text using the power of LLMs.
To learn more about GraphRAG and how it can be used to enhance your LLM's ability to reason about your private data, please visit the Microsoft Research Blog Post.
Quickstart
To get started with the GraphRAG system we recommend trying the command line quickstart.
Repository Guidance
This repository presents a methodology for using knowledge graph memory structures to enhance LLM outputs. Please note that the provided code serves as a demonstration and is not an officially supported Microsoft offering.
⚠️ _Warning: GraphRAG indexing can be an expensive operation, please read all of the documentation to understand the process and costs involved, and start small._
Diving Deeper
- To learn about our contribution guidelines, see CONTRIBUTING.md
- To start developing _GraphRAG_, see DEVELOPING.md
- Join the conversation and provide feedback in the GitHub Discussions tab!
Prompt Tuning
Using _GraphRAG_ with your data out of the box may not yield the best possible results.
We strongly recommend to fine-tune your prompts following the Prompt Tuning Guide in our documentation.
Versioning
Please see the breaking changes document for notes on our approach to versioning the project.
_Always run graphrag init --root [path] --force between minor version bumps to ensure you have the latest config format. Run the provided migration notebook between major version bumps if you want to avoid re-indexing prior datasets. Note that this will overwrite your configuration and prompts, so back them up if necessary._
Responsible AI FAQ
See RAI_TRANSPARENCY.md
- What is GraphRAG?
- What can GraphRAG do?
- What are GraphRAG’s intended use(s)?
- How was GraphRAG evaluated? What metrics are used to measure performance?
- What are the limitations of GraphRAG? How can users minimize the impact of GraphRAG’s limitations when using the system?
- What operational factors and settings allow for effective and responsible use of GraphRAG?
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
Microsoft's Trademark & Brand Guidelines.
Use of MiTop issues
#2583[Bug]: Community report context seems to keep only one edge per node3 comments · 2026-09-30#2540[Bug]: update_communities leaves dangling entity_ids/relationship_ids after an incremental update3 comments · 2026-09-03#2239[Feature Request]: Doc improvement, add a GraphRAG specific failure mode checklist and debug guide3 comments · 2026-02-20#2614[Bug]: JsonCache.get() crashes with unhandled AttributeError on non-dict or invalid envelope JSON payloads2 comments · 2026-10-27#2593[Bug]: TokenChunker never terminates when chunking overlap >= size (no validation of size/overlap)2 comments · 2026-10-08#2573[Bug]: `community_level` does not select a level — the community roll-up in `read_indexer_reports` is a no-op since v2.0.02 comments · 2026-09-25#2607Update Dependencies Sweep1 comments · 2026-10-19#2606Community report context building re-renders and re-tokenizes the whole context after every edge1 comments · 2026-10-16
Discussions
#2598Invitation: open Memory Tournament: review your setup before we run0 comments · 2026-10-12#2584A hard dollar limit on one GraphRAG indexing run (settings.yaml only)0 comments · 2026-10-03#2574Extraction is structured output, so format drift gets frozen into the graph2 comments · 2026-09-26#2535Non-LLM extraction backend for graph indexing: 1000× cheaper, schema-bounded — where would it fit in GraphRAG?0 comments · 2026-09-01#2501Pre-publication review: our reading of GraphRAG's entity matching (corrections welcome by 2026-08-30)0 comments · 2026-08-16#2463How to refresh GraphRAG when knowledge has change?1 comments · 2026-07-23#2437GraphRAG Workbench 2.0 — looking for people to break it0 comments · 2026-07-12#2396ccline — AI at your zsh shell, for knowledge graph developers0 comments · 2026-06-10
Latest release
v3.3.0 v3.3.0 2026-10-08What's Changed fix sqlite performance issue by @gaudyb in https://github.com/microsoft/graphrag/pull/2591 Release v3.3.0 by @gaudyb in https://github.com/microsoft/graphrag/pull/2592 Full Changelog: https://github.com/microsoft/graphrag/compare/v3.2.0...v3.3.0