Skip to content

allthingsllm/NodeRAG

 
 

Repository files navigation

NodeRAG: Structuring Graph-based RAG with Heterogeneous Nodes

NodeRAG Logo

arXiv PyPI License: MIT GitHub issues Python Website GitHub stars

📢 News

  • [2025-03-18] 🚀 NodeRAG v0.1.0 Released! The first stable version is now available on PyPI. Install it with pip install NodeRAG.

  • [2025-03-18] 🌐 Official Website Launched! Visit NodeRAG_web for comprehensive documentation, tutorials, and examples.


🚀 NodeRAG is a heterogeneous graph-based generation and retrieval RAG system that you can install and use in multiple ways. 🖥️ We also provide a user interface (local deployment) and convenient tools for visualization generation. You can read our paper 📄 to learn more. For experimental discussions, check out our blog posts 📝.


🚀 Quick Start

📖 View our official website for comprehensive documentation and tutorials:
👉 NodeRAG_web

🧩 Workflow

NodeRAG Workflow

NodeRAG

Conda Setup

Create and activate a virtual environment for NodeRAG:

conda create -n NodeRAG python=3.10
conda activate NodeRAG

Install uv (Optional: Faster Package Installation)

To speed up package installation, use uv:

pip install uv

Install NodeRAG

Install NodeRAG using uv for optimized performance:

uv pip install NodeRAG

Next

For indexing and answering processes, please refer to our website: Indexing and Answering

✨ Features

🔗 Enhancing Graph Structure for RAG

NodeRAG introduces a heterogeneous graph structure that strengthens the foundation of graph-based Retrieval-Augmented Generation (RAG).

🔍 Fine-Grained and Explainable Retrieval

NodeRAG leverages HeteroGraphs to enable functionally distinct nodes, ensuring precise and context-aware retrieval while improving interpretability.

🧱 A Unified Information Retrieval

Instead of treating extracted insights and raw data as separate layers, NodeRAG integrates them as interconnected nodes, creating a seamless and adaptable retrieval system.

⚡ Optimized Performance and Speed

NodeRAG achieves faster graph construction and retrieval speeds through unified algorithms and optimized implementations.

🔄 Incremental Graph Updates

NodeRAG supports incremental updates within heterogeneous graphs using graph connectivity mechanisms.

📊 Visualization and User Interface

NodeRAG offers a user-friendly visualization system. Coupled with a fully developed Web UI, users can explore, analyze, and manage the graph structure with ease.

⚙️ Performance

📊 Benchmark Performance

Benchmark Performance

NodeRAG demonstrates strong performance across multiple benchmark tasks, showcasing efficiency and retrieval quality.


🖥️ System Performance

System Performance

Optimized for speed and scalability, NodeRAG achieves fast indexing and query response times even on large datasets.

About

The official repository of NodeRAG

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%