-
[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 📝.
📖 View our official website for comprehensive documentation and tutorials:
👉 NodeRAG_web
Create and activate a virtual environment for NodeRAG:
conda create -n NodeRAG python=3.10
conda activate NodeRAG
To speed up package installation, use uv
:
pip install uv
Install NodeRAG using uv
for optimized performance:
uv pip install NodeRAG
For indexing and answering processes, please refer to our website: Indexing and Answering
NodeRAG introduces a heterogeneous graph structure that strengthens the foundation of graph-based Retrieval-Augmented Generation (RAG).
NodeRAG leverages HeteroGraphs to enable functionally distinct nodes, ensuring precise and context-aware retrieval while improving interpretability.
Instead of treating extracted insights and raw data as separate layers, NodeRAG integrates them as interconnected nodes, creating a seamless and adaptable retrieval system.
NodeRAG achieves faster graph construction and retrieval speeds through unified algorithms and optimized implementations.
NodeRAG supports incremental updates within heterogeneous graphs using graph connectivity mechanisms.
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.
NodeRAG demonstrates strong performance across multiple benchmark tasks, showcasing efficiency and retrieval quality.
Optimized for speed and scalability, NodeRAG achieves fast indexing and query response times even on large datasets.