GraphRAG
GraphRAG is a modular graph-based Retrieval-Augmented Generation system that extracts a knowledge graph from unstructured text, builds a community hierarchy, generates summaries, and supports global, local, DRIFT, and basic search.
Visit microsoft/graphragOverview
GraphRAG is a structured, hierarchical approach to Retrieval Augmented Generation. It extracts a knowledge graph from raw text, builds a community hierarchy, generates summaries for these communities, and leverages these structures for RAG-based tasks.
Key Features
- Extracts entities, relationships, and key claims from TextUnits.
- Builds a hierarchical community structure using the Leiden technique.
- Generates bottom-up summaries of each community and its constituents.
- Supports Global, Local, DRIFT, and Basic query modes.
- Provides prompt tuning guidance for fine-tuning prompts to your data.
- Offers CLI and Indexer/Query packages for working with the system.
Use Cases
- Reasoning over private datasets such as enterprise proprietary research, business documents, or communications.
- Answering holistic questions over large data collections or singular large documents.
- Connecting disparate pieces of information through shared attributes to synthesize new insights.
- Question answering about specific entities by fanning out to their neighbors and associated concepts.
Getting Started
- Check out the Get Started guide.
- Try the command line quickstart.
Before You Adopt
- License: MIT. Review its terms before using, modifying, or distributing the project.
- GraphRAG is described as a research project that is largely in maintenance mode and will not accept new PRs or implement new features.
- The provided code is a demonstration and is not an officially supported Microsoft offering.
- Indexing can be expensive, so users should read the documentation to understand costs and start small.