微软开源GraphRAG深度评测:技术解读与对比
摘要
2024年7月2日,微软正式开源GraphRAG,迅速引发技术社区广泛关注。该框架是一种基于图结构
2024年7月2日,微软正式开源GraphRAG,迅速引发技术社区广泛关注。该框架是一种基于图结构的检索增强生成方法,专为私有或未见数据集设计的问答系统。其核心原理:通过大语言模型从原始数据中自动提取知识图谱,随后将该图谱按不同粒度聚类为实体社区,最终遍历所有社区生成“社区级答案”并汇总输出。本质上,这相当于为大模型配备了一张结构化的“知识地图”,不仅记录离散信息节点,更清晰刻画节点间的语义关联。

深入拆解后,GraphRAG的核心依赖两种图谱:文档图谱与文档内部的实体关系图谱。各组件定义如下:
- 文档:系统输入的原始文件,例如CSV中的一行数据或一个txt文件。
- 文本单元:待分析的文本块,其大小、重叠策略及是否遵循数据边界均可配置。
- 实体:从文本单元中提取的具体对象,如人物、地点、事件等。
- 关系:两个实体之间的语义连接。
- 协变量:带时间维度的声明信息,例如某实体在特定时间窗口内的属性描述。
- 社区报告:通过层次化社区检测为每个社区生成的总结性报告。
- 节点:渲染图视图的布局数据,包含已完成嵌入和聚类的实体与文档。
1 索引构建流程
文本文档转化为GraphRAG知识模型需经历以下几个关键阶段:
1. 文本单元切分:输入文档先被分割为固定大小的文本单元,这些单元后续作为图提取和源引用的基本单位。
2. 图谱抽取:对每个文本单元执行实体、关系及声明的提取。本阶段包含多个子任务:实体与关系抽取、实体与关系总结、实体消歧、声明抽取。其中,实体与关系总结环节尤为关键——它要求LLM将提取出的列表浓缩为一段精炼描述,确保每个实体和关系拥有唯一且清晰的解释。
3. 图谱增强:获得实体关系图后,需解析其社区结构并利用额外信息进行增强。该环节分为两步:社区检测与图嵌入。社区检测采用层次化的Leiden算法,递归聚类直至达到设定的社区大小阈值,从而在不同粒度层级上导航和概括图谱。图嵌入则借助Node2Vec算法生成向量表示,为后续查询提供额外的搜索空间。
- 注意:社区检测提供显式的拓扑结构理解,而图嵌入则提供隐式表示,两者互为补充。
4. 社区摘要:基于社区数据,为每个社区生成报告,提供对图的宏观理解。例如,顶层社区对应整个图谱的概览,底层社区则描述局部集群。具体操作流程:首先让LLM为每个社区生成摘要(包含执行概览,并引用关键实体、关系和声明);然后对这些报告进行简化总结;最后生成社区报告、摘要及标题的文本嵌入,作为向量表示。
5. 文档处理:构建文档图谱。首先将每个文档与对应的文本单元关联;随后进行文档嵌入——将文档重新分块(不重叠),为每个块生成嵌入,再根据token计数加权平均以获得整个文档的向量表示。基于该表示,可推断文档间的隐含关系,进而生成文档的网络结构。
2 两大应用场景
1. 全局搜索:当用户需要回答“数据集中有哪些核心主题”这类跨整个数据集聚合信息的问题时,全局搜索发挥作用。传统RAG依赖向量搜索检索语义相似的文本片段,但若无明确查询指引,难以从分散片段中拼凑全局图景。而GraphRAG的知识图谱天然揭示了数据集的整体结构与主题分布——因为LLM生成的图谱已将私有数据集组织成有意义的语义集群,且这些集群已预先完成总结。
具体实现采用map-reduce模式:将社区报告分割为预定义大小的文本块,每个块生成带评分的中间响应(点列表);然后在reduce步骤中筛选出最重要点,聚合后作为最终响应的上下文。
2. 局部搜索:针对特定实体的推理,例如“张三在该项目中的具体贡献是什么”。局部搜索首先识别与用户输入语义相关的实体集合,将这些实体作为入口,提取邻居实体、关系、协变量及社区报告;同时从原始文档中提取关联的文本块。随后对候选数据源进行优先级排序与过滤,适配到单一上下文窗口大小,最终生成回答。
简而言之,局部搜索通过融合知识图谱的结构化数据与原始文档的非结构化数据,使LLM在查询时获得更充分的上下文支持。
3 结论
GraphRAG的设计逻辑清晰:围绕全局搜索与局部搜索两大场景进行针对性优化。但需注意,它串联了实体识别、关系抽取、社区聚类等一系列算法,误差会逐层累积。若想真正落地,需投入大量精力进行调优,且未必每次都能达到预期效果。不过,其提出的“文档内部+文档外部”双图谱思路,以及基于图谱的嵌入补充方法,确实具有借鉴价值——至少为RAG的演进提供了一个极具潜力的方向。
论文题目:From Local to Global: A Graph RAG Approach to Query-Focused Summarization
论文链接:https://arxiv.org/pdf/2404.16130
项目链接:https://github.com/microsoft/graphrag
来源:互联网
本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。