给AI装上全景雷达!NodeRAG:开源异构图 RAG 系统,革新检索与生成效率!

 

传统 RAG 系统依赖文本块检索,难以捕捉信息间的复杂关系,导致上下文缺失或无关信息干扰,效率低下。

而在 RAG 技术愈发流行的今天,如何让 AI 更聪明地 “理解信息之间的关系”,而不是仅仅“找一段相关文本”!

在 GitHub 上一款名叫 NodeRAG 的开源项目,它让 RAG 从传统的“扁平检索”,进化成了真正的“知识网络式”智能查询。

它是一种基于异构图的 RAG 增强系统,通过结构化关系网整合文本、数据等多元信息,显著提升检索精准度和生成质量,让 AI 能够更快更准的找到需求内容。

为什么 NodeRAG 很特别?

传统 RAG 系统通常将文本切块后通过向量检索匹配,没有结构、不可解释、冗余度高。

NodeRAG 引入了“异构图”这一概念:

  • • 不同类型的节点:文档段落、图片、表格、知识点、实体等;
  • • 不同类型的边:上下文引用、引用关系、语义关联、时间顺序、实体共现等;
  • • 最终构建成一张复杂的“信息关系网”。

这让检索更细粒度、更精准,也让生成过程更可追溯、可解释。

主要功能

  • • 构建异构知识图谱:将文本、实体、表格等信息建模为不同类型节点,边表示语义或逻辑关系。
  • • 增量式更新:支持对已有图谱进行动态扩充,动态添加节点和边,无需重建整个图结构。
  • • 细粒度检索:基于图的上下文感知检索,聚焦相关节点而非整块文本。
  • • 可视化与Web界面:提供交互式 Web 界面,探索图结构、节点关系和检索结果。

快速入手

NodeRAG 提供简洁的安装流程和详细文档,以下是部署与使用步骤:

① 克隆项目

git clone https://github.com/Terry-Xu-666/NodeRAG.git
cd NodeRAG

② 创建Python虚拟环境

conda create -n NodeRAG python=3.10
conda activate NodeRAG

③ 安装uv管理器并安装依赖

pip install uv
uv pip install NodeRAG

使用方法:

先构建异构图,准备好语料集和APIKEY,将语料集放入一个自定义目录的input目录下

python -m NodeRAG.build -f path/to/main_folder

如果想要实现增量更新,放入新的语料文件,执行上述命令即可。

直接在代码中导入模块使用 NodeRAG。

from NodeRAG import NodeConfig, NodeSearch

# 从主文件夹加载配置
config = NodeConfig.from_main_folder(r"C:\Users\Terry_Xu\Desktop\HP")

# 初始化搜索引擎
search = NodeSearch(config)

# 查询系统
ans = search.answer('who is harry potter?')

# 'ans' 是一个包含多个可访问属性的对象:

# response:对您问题的生成答案
print(ans.response)

# 答案中的 token 数量
print(ans.response_tokens)

# 检索信息:用于生成答案的上下文
print(ans.retrieval_info)

# 检索上下文中的 token 数量
print(ans.retrieval_tokens)

注意事项: search.answer() 返回一个对象,该对象同时包含答案和检索上下文,以及有用的元数据。
这种方法非常适合快速集成到 Python 脚本或 Jupyter notebook 中,无需设置 API 服务器。

还支持本地命令行运行,比如基本查询:

python -m NodeRAG -f path/to/main_folder -q "您的问题"

# 返回带检索上下文的答案
python -m NodeRAG -f path/to/main_folder -q "您的问题" -r

运行WebUI指定,打开界面服务:

python -m NodeRAG.WebUI -f "C:\Users\Terry_Xu\Desktop\HP"

在侧边栏中,可以查看当前状态和配置参数。

配置完成后,可点击Build按钮开始为您的语料库建立索引。

项目结构速览可以参考中文提示文档。

写在最后

NodeRAG 是一个创新的基于异构图的 RAG(检索增强生成)系统。

它将多类型的数据(文本、表格、人物、组织、事件……)组织为一个统一的知识图谱,并结合语言模型进行更精准、更结构化的检索与问答。

它打破传统 RAG “文本碎片 + 向量匹配”的局限,用异构图(Heterogeneous Graph)结构组织信息,让生成更准确、检索更智能、结果更可解释。

它可以实现用你的私有数据(笔记、文档、代码等)构建一个 NodeRAG 知识网,给你定制“可解释检索+生成”的 QA 流程。

也为构建真正“懂结构”的 AI 知识问答系统提供了完美模板。

GitHub 项目地址:https://github.com/Terry-Xu-666/NodeRAG

中文使用文档:https://terry-xu-666.github.io/NodeRAG_web/zh/docs/

● 一款改变你视频下载体验的神器:MediaGo

● 新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star

● 最新最全 VSCODE 插件推荐(2023版)

● Star 50.3k!超棒的国产远程桌面开源应用火了!

● 超牛的AI物理引擎项目,刚开源不到一天,就飙升到超9K Star!突破物理仿真极限!








(文:开源星探)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往