GraphRAG 通过 Leiden 算法生成多层级的社区结构,形成从宏观到微观的层级索引。
1. 多层级社区结构
- 社区被组织为层级结构,顶层是覆盖范围广的宏观社区,底层是粒度更细的微观社区
- 高层社区用于把握整体主题,低层社区用于聚焦具体实体群组
- 这种层级划分使系统能够在不同抽象粒度上回答不同类型的问题
2. 社区摘要的生成
- 系统为每个层级的每个社区预生成一份社区摘要(Community Report)
- 摘要通常包含标题、内容概述、关键洞察、重要性评级以及指向源文本的引用
- 高层社区的摘要会用子社区摘要替换冗余细节,从而在有限上下文内承载更大范围的信息
3. 层级索引的价值
- 层级化的社区摘要构成了可复用的结构化索引,查询时无需重新扫描全部原始文本
- 面对全局性问题时,系统可直接调用高层社区摘要进行归纳,显著提升查询效率
- 层级结构是 GraphRAG 能够"俯瞰全局"的核心机制