选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    NodeRAG:开源异构图 RAG 系统,革新检索与生成效率!

    智能 2025-05-10 18:22

    声明:该文章由作者(是桃桃呀)发表,转载此文章须经作者同意并请附上出处(0XUCN)及本页链接。。

    传统 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/

    关注我们

    [超站]友情链接:

    四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
    关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/

    图库