GraphRAG  by JayLZhou

GraphRAG analysis of graph-based retrieval-augmented generation systems

created 8 months ago
1,385 stars

Top 29.8% on sourcepulse

GitHubView on GitHub
Project Summary

This project provides a modular framework for studying and implementing various Graph-based Retrieval-Augmented Generation (RAG) systems. It aims to decouple and analyze different RAG methods, offering insights into their inner workings for researchers and practitioners interested in advanced RAG techniques.

How It Works

The core of GraphRAG is a flexible retrieval stage composed of 16 distinct operators categorized into Entity, Relationship, Chunk, Subgraph, and Community retrieval. Users can combine these operators to construct custom RAG pipelines, mirroring or extending existing state-of-the-art methods like RAPTOR, KGP, and DALK. This modular approach allows for systematic experimentation and comparison of different retrieval strategies.

Quick Start & Requirements

  • Install: Clone the repository and create a conda environment using conda env create -f experiment.yml -n your_experiment_name.
  • Run: Execute methods via python main.py -opt Option/Method/<METHOD>.yaml -dataset_name your_dataset.
  • Dependencies: Requires Python and Conda. Supports OpenAI, Ollama, and LlamaFactory for LLM backends.
  • Resources: Datasets are available for download. Specific resource requirements depend on the chosen method and LLM.
  • Docs: Paper

Highlighted Details

  • Implements and analyzes 10+ Graph RAG methods including RAPTOR, KGP, DALK, HippoRAG, and MS GraphRAG.
  • Categorizes graphs into Chunk Tree, Passage Graph, KG, TKG, and RKG based on attributes.
  • Distills retrieval strategies into 16 reusable operators for flexible pipeline construction.
  • Supports both cloud-based (OpenAI) and local LLM deployments (Ollama, LlamaFactory).

Maintenance & Community

The project is included in "Awesome Graph-based RAG." Citation of the associated paper is requested. No specific community links (Discord, Slack) or active contributor information are provided in the README.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The README does not detail specific limitations, known bugs, or deprecation status. The project appears to be research-oriented, and stability for production use is not guaranteed.

Health Check
Last commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
2
Star History
201 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.