Terry-Xu-666/NodeRAG

The official repository of NodeRAG

414

stars

6

commits

Python

primary language

Mar 19, 2025

updated

README

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.

Contributors

Terry-Xu-666

6 commits

Terry-Xu-666/NodeRAG

The official repository of NodeRAG

414

stars

6

commits

Python

primary language

Mar 19, 2025

updated

README

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.

Contributors

Terry-Xu-666

6 commits

Languages

Python

100.0%