@tom_doerr: 基于语义聚合和层次化检索的RAG知识图谱框架 https://github.com/KnowledgeXLa…
摘要
LeanRAG是一个开源框架,它利用知识图谱结构,通过语义聚合和层次化检索增强检索增强生成(RAG),以提供上下文感知、高保真的响应。该论文已被AAAI-26接收。
查看缓存全文
缓存时间: 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的处理流程包含以下核心阶段:
-
语义聚合
- 将低级实体分组为聚类;生成摘要节点并在它们之间构建邻接关系,以便高效导航。
-
知识图谱构建
- 构建多层图,节点表示实体和聚合摘要,节点间具有显式关系,支持基于图的遍历。
-
查询处理与分层检索
- 将查询锚定在最相关的详细实体(“自底向上”),然后通过语义聚合图向上遍历,收集证据片段。
-
冗余感知合成
- 精简检索路径,避免内容重叠,在生成回答前确保证据的简洁聚合。
-
生成
- 将检索到的结构良好的证据作为输入,提供给LLM,以生成连贯、准确且上下文相关的答案。
🚀 快速开始
前提条件
- Python 3.10+
- Conda用于环境管理
安装
-
克隆仓库:
bash git clone https://github.com/RaZzzyz/LeanRAG.git cd LeanRAG -
创建虚拟环境:
bash conda install -n leanrag python=3.11 conda activate leanrag -
安装所需依赖:
bash pip install -r requirements.txt
💻 使用流程
下面是典型的流程步骤:
步骤1:文档分块
在 file_chunk.py 中,将文档分割成块:
- 块大小:
1024 - 滑动步长:
128(即使用步长为128的滑动窗口)
生成的 chunk 文件中每个字典包含两个属性:
hash_code:根据text内容计算的哈希值,用于追溯text:块文本内容
步骤2:提取三元组和实体描述
目前提供两种知识图谱提取方法:
方法1:CommonKG
基于Wikipedia实体。首先定义头实体列表,然后从文档中提取三元组。
用法:
- 编辑配置文件:
CommonKG/config/create_kg_conf_test.yaml
填写模型的url和name,以及分块文件的路径。 - 运行提取:
bash python CommonKG/create_kg.py提取结果将保存在 output_dir 中。 - 处理带描述的六元组:
python python CommonKG/deal_triple.py输出包括:- entity.jsonl
- relation.jsonl
方法2:GraphRAG
依赖LLM能力,利用提示中的示例进行少样本提取。
用法:
- 编辑
GraphExtraction/chunk.py,填写url和模型。 chunk_file 与CommonKG中相同,来自步骤1。 - 对提取结果去重:
python python GraphExtraction/deal_triple.py输出包括:- entity.jsonl
- relation.jsonl
步骤3:构建图
python python build_graph.py
-
对提取的实体和关系描述进行聚类,并生成关系。
-
构建树状知识图谱,支持检索和问答。
步骤3:检索
python python query_graph.py
-
选择正确的 chunks_file。
-
基于查询,在图谱中检索Top-K实体。
-
根据树结构生成节点之间的路径。
-
沿路径返回同级关系和聚合实体信息,提供给LLM生成最终答案。
📊 结果与基准
在涵盖不同领域的四个具有挑战性的问答基准上,LeanRAG 始终表现优异:
评分
混合数据集
| 指标 | LeanRAG | HiRAG | Naive | GraphRAG | LightRAG | FastGraphRAG | KAG |
|---|---|---|---|---|---|---|---|
| 全面性 | 8.89±0.01 | 8.72±0.02 | 8.20±0.01 | 8.52±0.01 | 8.19±0.02 | 6.56±0.02 | 7.90±0.03 |
| 赋能度 | 8.16±0.02 | 7.86±0.03 | 7.52±0.03 | 7.73±0.02 | 7.56±0.03 | 5.82±0.03 | 7.41±0.04 |
| 多样性 | 7.73±0.01 | 7.21±0.02 | 6.65±0.03 | 7.04±0.02 | 6.69±0.04 | 4.88±0.03 | 6.42±0.04 |
| 总体 | 8.59±0.01 | 8.08±0.02 | 7.47±0.02 | 7.87±0.01 | 7.61±0.04 | 5.76±0.02 | 7.25±0.03 |
计算机科学
| 指标 | LeanRAG | HiRAG | Naive | GraphRAG | LightRAG | FastGraphRAG | KAG |
|---|---|---|---|---|---|---|---|
| 全面性 | 8.92±0.01 | 8.92±0.01 | 8.94±0.01 | 8.55±0.02 | 8.76±0.02 | 6.79±0.01 | 8.22±0.02 |
| 赋能度 | 8.68±0.02 | 8.66±0.02 | 8.69±0.04 | 8.28±0.04 | 8.50±0.04 | 6.67±0.04 | 8.52±0.05 |
| 多样性 | 7.87±0.02 | 7.84±0.02 | 7.79±0.02 | 7.42±0.02 | 7.63±0.04 | 5.45±0.04 | 7.03±0.02 |
| 总体 | 8.82±0.02 | 8.77±0.02 | 8.77±0.03 | 8.37±0.04 | 8.59±0.04 | 6.31±0.03 | 7.99±0.03 |
法律
| 指标 | LeanRAG | HiRAG | Naive | GraphRAG | LightRAG | FastGraphRAG | KAG |
|---|---|---|---|---|---|---|---|
| 全面性 | 8.88±0.02 | 8.68±0.02 | 8.85±0.01 | 8.95±0.01 | 8.24±0.02 | 3.87±0.02 | 8.41±0.02 |
| 赋能度 | 8.42±0.03 | 8.18±0.06 | 8.28±0.03 | 8.33±0.02 | 7.83±0.05 | 3.53±0.03 | 8.20±0.03 |
| 多样性 | 7.49±0.03 | 7.00±0.03 | 7.10±0.04 | 7.47±0.03 | 6.87±0.01 | 2.87±0.02 | 6.71±0.01 |
| 总体 | 8.49±0.04 | 8.00±0.04 | 8.21±0.03 | 8.44±0.01 | 7.74±0.03 | 3.43±0.02 | 7.83±0.03 |
农业
| 指标 | LeanRAG | HiRAG | Naive | GraphRAG | LightRAG | FastGraphRAG | KAG |
|---|---|---|---|---|---|---|---|
| 全面性 | 8.94±0.06 | 8.99±0.00 | 8.85±0.01 | 8.97±0.01 | 8.71±0.01 | 3.28±0.01 | 8.22±0.01 |
| 赋能度 | 8.66±0.02 | 8.52±0.02 | 8.51±0.03 | 8.52±0.02 | 8.23±0.02 | 3.29±0.05 | 8.33±0.06 |
| 多样性 | 8.06±0.03 | 7.98±0.02 | 7.76±0.06 | 7.95±0.02 | 7.68±0.03 | 3.01±0.03 | 7.07±0.02 |
| 总体 | 8.87±0.02 | 8.87±0.03 | 8.69±0.03 | 8.85±0.01 | 8.56±0.02 | 3.17±0.02 | 7.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 框架
RAG-Anything 是一个全新的开源框架,通过整合跨模态关系和语义匹配来增强多模态知识检索,在复杂的基准测试中表现优于现有方法。
@tom_doerr: 构建生产级RAG系统与Agentic工作流 https://github.com/jamwithai/production-agentic-rag-course…
一个面向学习者的项目,教授构建生产级RAG系统和Agentic工作流,涵盖关键词搜索、混合检索和LangGraph代理集成。
RAGA:用于自主知识图谱构建和检索增强生成的阅读与图谱构建智能体
RAGA 是一个由大语言模型驱动的自主智能体,通过“阅读-搜索-验证-构建”的认知循环构建知识图谱,并集成混合符号-向量检索以实现检索增强生成,在科学问答数据集上取得了实验性改进。
@DanKornas:你的RAG流水线不需要重复检索同一份证据。LeanRAG是一个开源的RAG框架,它利用……
LeanRAG是一个开源的RAG框架,它利用知识图谱、语义聚合和分层检索来减少检索流水线中的冗余,并提供带有简洁证据路径的接地答案。
LightRAG:简单高效的检索增强生成框架
本文介绍了 LightRAG,这是一个开源框架,通过整合图结构来提升检索增强生成(RAG)的上下文感知能力与信息检索效率。