A modular graph-based Retrieval-Augmented Generation (RAG) system
Go to file
Copilot 7c28c70d5c
Some checks are pending
gh-pages / build (push) Waiting to run
Python CI / python-ci (ubuntu-latest, 3.10) (push) Waiting to run
Python CI / python-ci (ubuntu-latest, 3.11) (push) Waiting to run
Python CI / python-ci (windows-latest, 3.10) (push) Waiting to run
Python CI / python-ci (windows-latest, 3.11) (push) Waiting to run
Python Integration Tests / python-ci (ubuntu-latest, 3.10) (push) Waiting to run
Python Integration Tests / python-ci (windows-latest, 3.10) (push) Waiting to run
Python Notebook Tests / python-ci (ubuntu-latest, 3.10) (push) Waiting to run
Python Notebook Tests / python-ci (windows-latest, 3.10) (push) Waiting to run
Python Publish (pypi) / Upload release to PyPI (push) Waiting to run
Python Smoke Tests / python-ci (ubuntu-latest, 3.10) (push) Waiting to run
Python Smoke Tests / python-ci (windows-latest, 3.10) (push) Waiting to run
Spellcheck / spellcheck (push) Waiting to run
Switch from Poetry to uv for package management (#2008)
* Initial plan

* Switch from Poetry to uv for package management

Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>

* Clean up build artifacts and update gitignore

Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>

* remove build artifacts

* remove hardcoded version string

* fix calls to pip in cicd

* Update gh-pages.yml workflow to use uv instead of Poetry

Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>

* ruff formatting fixes

* update cicd workflow with latest uv action

* fix command to retrieve package version

* update development instructions

* remove Poetry references

* Replace deprecated azuright action with npm-based Azurite installation

Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>

* skip api version check for azurite

* add semversioner file

* update more changes from switching to UV

* Migrate unified-search-app from Poetry to uv package management

Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>

* minor typo update

* minor Dockerfile update

* update cicd thresholds

* update pytest thresholds

* ruff fixes

* ruff fixes

* remove legacy npm settings that no longer apply

* Update Unified Search App Readme

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jgbradley1 <654554+jgbradley1@users.noreply.github.com>
Co-authored-by: Josh Bradley <joshbradley@microsoft.com>
Co-authored-by: Alonso Guevara <alonsog@microsoft.com>
2025-08-13 18:57:25 -06:00
.github Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
.semversioner Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
.vscode Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
docs Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
examples_notebooks Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
graphrag Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
scripts Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
tests Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
unified-search-app Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
.gitattributes move mkdocs-typer to devdeps (#1331) 2024-10-30 14:49:30 -07:00
.gitignore Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
.vsts-ci.yml Initial Release 2024-07-01 15:25:30 -06:00
breaking-changes.md Update docs for 2.0+ (#1984) 2025-06-23 13:49:47 -07:00
CHANGELOG.md Release v2.4.0 (#1994) 2025-07-14 18:54:27 -06:00
CODE_OF_CONDUCT.md Initial Release 2024-07-01 15:25:30 -06:00
CODEOWNERS Stabilize smoke tests for query community context building (#908) 2024-08-12 13:17:40 -06:00
CONTRIBUTING.md Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
cspell.config.yaml Fix/notebooks (#1614) 2025-01-13 17:41:39 -06:00
DEVELOPING.md Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
dictionary.txt Improve internal logging functionality by using Python's standard logging module (#1956) 2025-07-09 18:29:03 -06:00
LICENSE Initial Release 2024-07-01 15:25:30 -06:00
mkdocs.yaml Docs: Add models page (#1842) 2025-04-28 17:36:08 -07:00
pyproject.toml Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00
RAI_TRANSPARENCY.md Initial Release 2024-07-01 15:25:30 -06:00
README.md Update docs for 2.0+ (#1984) 2025-06-23 13:49:47 -07:00
SECURITY.md Initial Release 2024-07-01 15:25:30 -06:00
SUPPORT.md Initial Release 2024-07-01 15:25:30 -06:00
uv.lock Switch from Poetry to uv for package management (#2008) 2025-08-13 18:57:25 -06:00

GraphRAG

👉 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

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 backup if necessary.

Responsible AI FAQ

See RAI_TRANSPARENCY.md

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 Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

Privacy

Microsoft Privacy Statement