@tom_doerr: 基于语义聚合和层次化检索的RAG知识图谱框架 https://github.com/KnowledgeXLa…

X AI KOLs Timeline 工具

摘要

LeanRAG是一个开源框架,它利用知识图谱结构,通过语义聚合和层次化检索增强检索增强生成(RAG),以提供上下文感知、高保真的响应。该论文已被AAAI-26接收。

基于语义聚合和层次化检索的RAG知识图谱框架 https://t.co/5Ebpd0rmIz https://t.co/9Q4drMArs5
查看原文
查看缓存全文

缓存时间: 2026/06/29 06:24

基于语义聚合与分层检索的RAG知识图谱框架

https://t.co/5Ebpd0rmIz https://t.co/9Q4drMArs5


KnowledgeXLab/LeanRAG

来源:https://github.com/KnowledgeXLab/LeanRAG

LeanRAG:基于语义聚合与分层检索的知识图谱生成技术

🎉 本文已被 AAAI-26 接收!🎉

Python版本 (https://www.python.org/downloads/) 许可证:MIT arXiv (https://arxiv.org/abs/2508.10391)欢迎提交PR

LeanRAG是一个高效的开源检索增强生成框架,利用知识图谱结构,结合语义聚合与分层检索,生成上下文感知、简洁且高保真的回答。

✨ 特性

  • 语义聚合:将实体聚类为语义上连贯的摘要,并构建显式关系,形成可导航的聚合级知识网络。
  • 分层、结构导向的检索:从细粒度实体开始检索,沿知识图谱向上遍历,高效收集丰富且高度相关的证据。
  • 降低冗余:优化检索路径,显著减少冗余信息——与平面检索基线相比,LeanRAG的检索冗余度降低了约46%(基于基准评估)。
  • 基准性能:在多个问答基准测试中表现出色,回答质量和检索效率均有提升。

🏛️ 架构概览

LeanRAG概览

LeanRAG的处理流程包含以下核心阶段:

  1. 语义聚合

    • 将低级实体分组为聚类;生成摘要节点并在它们之间构建邻接关系,以便高效导航。
  2. 知识图谱构建

    • 构建多层图,节点表示实体和聚合摘要,节点间具有显式关系,支持基于图的遍历。
  3. 查询处理与分层检索

    • 将查询锚定在最相关的详细实体(“自底向上”),然后通过语义聚合图向上遍历,收集证据片段。
  4. 冗余感知合成

    • 精简检索路径,避免内容重叠,在生成回答前确保证据的简洁聚合。
  5. 生成

    • 将检索到的结构良好的证据作为输入,提供给LLM,以生成连贯、准确且上下文相关的答案。

🚀 快速开始

前提条件

  • Python 3.10+
  • Conda用于环境管理

安装

  1. 克隆仓库: bash git clone https://github.com/RaZzzyz/LeanRAG.git cd LeanRAG

  2. 创建虚拟环境: bash conda install -n leanrag python=3.11 conda activate leanrag

  3. 安装所需依赖: bash pip install -r requirements.txt

💻 使用流程

下面是典型的流程步骤:

步骤1:文档分块

file_chunk.py 中,将文档分割成块:

  • 块大小1024
  • 滑动步长128(即使用步长为128的滑动窗口)

生成的 chunk 文件中每个字典包含两个属性:

  • hash_code:根据 text 内容计算的哈希值,用于追溯
  • text:块文本内容

步骤2:提取三元组和实体描述

目前提供两种知识图谱提取方法:

方法1:CommonKG

基于Wikipedia实体。首先定义头实体列表,然后从文档中提取三元组。

用法:

  1. 编辑配置文件:
    CommonKG/config/create_kg_conf_test.yaml
    填写模型的 urlname,以及分块文件的路径。
  2. 运行提取:
    bash python CommonKG/create_kg.py 提取结果将保存在 output_dir 中。
  3. 处理带描述的六元组: python python CommonKG/deal_triple.py 输出包括:
    • entity.jsonl
    • relation.jsonl

方法2:GraphRAG

依赖LLM能力,利用提示中的示例进行少样本提取。

用法:

  1. 编辑 GraphExtraction/chunk.py,填写url和模型。 chunk_file 与CommonKG中相同,来自步骤1。
  2. 对提取结果去重: python python GraphExtraction/deal_triple.py 输出包括:
    • entity.jsonl
    • relation.jsonl

步骤3:构建图

python python build_graph.py

  • 对提取的实体和关系描述进行聚类,并生成关系。

  • 构建树状知识图谱,支持检索和问答。

步骤3:检索

python python query_graph.py

  1. 选择正确的 chunks_file。

  2. 基于查询,在图谱中检索Top-K实体。

  3. 根据树结构生成节点之间的路径。

  4. 沿路径返回同级关系和聚合实体信息,提供给LLM生成最终答案。

📊 结果与基准

在涵盖不同领域的四个具有挑战性的问答基准上,LeanRAG 始终表现优异:

评分

混合数据集

指标LeanRAGHiRAGNaiveGraphRAGLightRAGFastGraphRAGKAG
全面性8.89±0.018.72±0.028.20±0.018.52±0.018.19±0.026.56±0.027.90±0.03
赋能度8.16±0.027.86±0.037.52±0.037.73±0.027.56±0.035.82±0.037.41±0.04
多样性7.73±0.017.21±0.026.65±0.037.04±0.026.69±0.044.88±0.036.42±0.04
总体8.59±0.018.08±0.027.47±0.027.87±0.017.61±0.045.76±0.027.25±0.03

计算机科学

指标LeanRAGHiRAGNaiveGraphRAGLightRAGFastGraphRAGKAG
全面性8.92±0.018.92±0.018.94±0.018.55±0.028.76±0.026.79±0.018.22±0.02
赋能度8.68±0.028.66±0.028.69±0.048.28±0.048.50±0.046.67±0.048.52±0.05
多样性7.87±0.027.84±0.027.79±0.027.42±0.027.63±0.045.45±0.047.03±0.02
总体8.82±0.028.77±0.028.77±0.038.37±0.048.59±0.046.31±0.037.99±0.03

法律

指标LeanRAGHiRAGNaiveGraphRAGLightRAGFastGraphRAGKAG
全面性8.88±0.028.68±0.028.85±0.018.95±0.018.24±0.023.87±0.028.41±0.02
赋能度8.42±0.038.18±0.068.28±0.038.33±0.027.83±0.053.53±0.038.20±0.03
多样性7.49±0.037.00±0.037.10±0.047.47±0.036.87±0.012.87±0.026.71±0.01
总体8.49±0.048.00±0.048.21±0.038.44±0.017.74±0.033.43±0.027.83±0.03

农业

指标LeanRAGHiRAGNaiveGraphRAGLightRAGFastGraphRAGKAG
全面性8.94±0.068.99±0.008.85±0.018.97±0.018.71±0.013.28±0.018.22±0.01
赋能度8.66±0.028.52±0.028.51±0.038.52±0.028.23±0.023.29±0.058.33±0.06
多样性8.06±0.037.98±0.027.76±0.067.95±0.027.68±0.033.01±0.037.07±0.02
总体8.87±0.028.87±0.038.69±0.038.85±0.018.56±0.023.17±0.027.95±0.03

胜率

NaiveRAG vs LeanRAG

指标混合 (NaiveRAG)混合 (LeanRAG)CS (NaiveRAG)CS (LeanRAG)法律 (NaiveRAG)法律 (LeanRAG)农业 (NaiveRAG)农业 (LeanRAG)
全面性11.9%88.1%41.0%59.0%30.0%70.0%37.7%62.3%
赋能度1.5%98.5%40.5%59.5%24.5%75.5%19.8%80.2%
多样性3.1%96.9%28.0%72.0%9.0%91.0%10.0%90.0%
总体2.7%97.3%39.5%60.5%23.5%76.5%19.3%80.7%

GraphRAG vs LeanRAG

指标混合 (GraphRAG)混合 (LeanRAG)CS (GraphRAG)CS (LeanRAG)法律 (GraphRAG)法律 (LeanRAG)农业 (GraphRAG)农业 (LeanRAG)
全面性35.0%65.0%41.0%59.0%49.0%51.0%45.5%54.5%
赋能度20.0%80.0%33.5%66.5%44.0%56.0%27.0%73.0%
多样性16.5%83.5%34.0%66.0%44.0%56.0%22.0%78.0%
总体21.9%78.1%37.5%62.5%47.0%53.0%28.5%71.5%

LightRAG vs LeanRAG

指标混合 (LightRAG)混合 (LeanRAG)CS (LightRAG)CS (LeanRAG)法律 (LightRAG)法律 (LeanRAG)农业 (LightRAG)农业 (LeanRAG)
全面性28.8%71.2%44.5%55.5%25.0%75.0%38.0%62.0%
赋能度16.5%83.5%35.5%64.5%12.0%88.0%17.0%83.0%
多样性13.1%86.9%34.0%66.0%40.5%59.5%16.5%83.5%
总体18.8%81.2%38.5%61.5%21.0%79.0%18.5%81.5%

FastGraphRAG vs LeanRAG

指标混合 (FastGraphRAG)混合 (LeanRAG)CS (FastGraphRAG)CS (LeanRAG)法律 (FastGraphRAG)法律 (LeanRAG)农业 (FastGraphRAG)农业 (LeanRAG)
全面性0.0%100.0%0.5%99.5%1.0%99.0%0.5%99.5%
赋能度0.0%100.0%0.0%100.0%0.5%99.5%0.0%100.0%
多样性0.0%100.0%0.8%99.2%2.5%97.5%0.0%100.0%
总体0.0%100.0%0.0%100.0%4.5%95.5%0.0%100.0%

KAG vs LeanRAG

指标混合 (KAG)混合 (LeanRAG)CS (KAG)CS (LeanRAG)法律 (KAG)法律 (LeanRAG)农业 (KAG)农业 (LeanRAG)
全面性1.5%98.5%5.0%95.0%5.0%95.0%2.5%97.5%
赋能度1.9%98.1%3.0%97.0%4.5%95.5%2.5%97.5%
多样性1.2%98.8%4.0%96.0%2.5%97.5%1.0%99.0%
总体1.2%98.8%3.5%96.5%4.5%95.5%1.0%99.0%

HiRAG vs LeanRAG

指标混合 (HiRAG)混合 (LeanRAG)CS (HiRAG)CS (LeanRAG)法律 (HiRAG)法律 (LeanRAG)农业 (HiRAG)农业 (LeanRAG)
全面性43.8%56.2%46.5%53.5%29.5%70.5%49.5%50.5%
赋能度26.5%73.5%43.5%56.5%16.5%83.5%26.5%73.5%
多样性20.4%79.6%44.5%55.5%23.5%76.5%23.5%76.5%
总体28.1%71.9%45.0%55.0%21.5%78.5%28.0%72.0%

令牌消耗

检索信息令牌

致谢

我们衷心感谢在我们的工作中使用以下开源项目:

  • nano-graphrag (https://github.com/gusye1234/nano-graphrag):一个简单、易于修改的GraphRAG实现

  • HiRAG (https://github.com/hhy-huang/HiRAG/tree/main):一种新颖的层次实体聚合与优化检索RAG方法

📄 引用

如果你觉得LeanRAG有用,请引用我们的论文: bitex @inproceedings{zhang2026leanrag, title={Leanrag: Knowledge-graph-based generation with semantic aggregation and hierarchical retrieval}, author={Zhang, Yaoze and Wu, Rong and Cai, Pinlong and Wang, Xiaoman and Yan, Guohang and Mao, Song and Wang, Ding and Shi, Botian}, booktitle={Proceedings of the AAAI Conference on Artificial Intelligence}, volume={40}, number={41}, pages={34862--34869}, year={2026} }

Star历史

Star历史图表 (https://www.star-history.com/#RaZzzyz/LeanRAG&Date)

相似文章

RAG-Anything:全能型 RAG 框架

Papers with Code Trending

RAG-Anything 是一个全新的开源框架,通过整合跨模态关系和语义匹配来增强多模态知识检索,在复杂的基准测试中表现优于现有方法。