AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微软GraphRAG 0.4.0发布,引入增量更新和DRIFT搜索
发布日期:2024-11-06 09:56:28 浏览次数: 1759 来源:深入LLM Agent应用开发


GraphRAG 已经发布 0.4.0[1] 新版本,该版本的代码经过一轮重构后,已于之前的代码结构有了很大的不同。该版本除了引入增量更新,还带了新的搜索机制 DRIFT 搜索,这是一种混合本地与全局的搜索的方法。本文即是对 DRIFT 方法的解析。我们后续也会带来 GraphRAG v0.4.0 解析和GraphRAG-server[2]对 0.4.0 的适配。

GraphRAG 是一种基于大型语言模型 (LLM) 的技术,用于从非结构化文本文档中生成知识图谱和摘要,并利用这些内容提升在私有数据集上的检索增强生成 (RAG) 效果。通过 GraphRAG,用户能够从大量非结构化的文本数据中提取信息,构建一个全局概览,同时还可以深入挖掘更为本地化的细节。该系统借助 LLM 生成知识图谱,识别文档中的实体和关系,利用数据的语义结构响应复杂查询。微软的研究合作伙伴 Uncharted Software[3] 正在进一步拓展此技术,开发出一种全新方法:DRIFT 搜索(动态推理与灵活遍历)。DRIFT 在微软的 GraphRAG 技术之上进行改进,将全局搜索和本地搜索结合起来,以平衡计算成本与响应质量。

GraphRAG 的核心工作机制

GraphRAG 由两个主要组件组成:索引引擎和查询引擎。

  • 索引引擎:负责将文档分解为更小的块,生成包含实体和关系的知识图谱。然后,它识别图谱中的社区结构,并生成代表全局数据的摘要(即“社区报告”)。
  • 查询引擎:利用 LLM 构建图形索引,并提供两种主要的查询模式:
    • 全局搜索:适合跨整个数据集的查询,能综合不同来源的信息来回答全面性问题,例如“过去五年 AI 研究的发展趋势”。全局搜索虽全面但较耗费资源。
    • 本地搜索:专注于与用户输入密切相关的小范围数据,从中提取出精准的内容,适合直接回答特定问题,例如“10 月 4 日 Microsoft Cosmos DB 团队发布了哪些新功能?”

通过人工参与 (HITL),用户可以指定需要关注的实体和关系类型,进一步优化知识图谱的生成。为确保图谱结构适配用户需求,索引阶段需明确定义目标用户的角色,这会影响节点、边和社区报告的结构。

DRIFT 搜索的引入

DRIFT 搜索通过整合社区信息,使本地搜索的起点更为宽泛,能够检索更多类型的事实,从而提升查询的详细性。DRIFT 在 GraphRAG 的查询引擎基础上进一步扩展,为本地搜索提供了更精细的分层查询方式,使其能够处理与预定义模板不完全匹配的复杂查询。表 1 展示了 DRIFT 和传统本地搜索对 AP 新闻数据集的一次汇总响应对比,查询内容为“描述美国 FDA 和 CDC 在 2023 年 11 月处理苹果肉桂果泥中的铅污染问题的行动”。表中显示,DRIFT 搜索能够提供比本地搜索更多的细节。

回答详细信息DRIFT (DS_Default)本地 (LS)
污染程度超出 FDA 最高标准的 2000 倍血铅水平为每分升 4-29 微克
供应链追溯到厄瓜多尔和斯里兰卡的某品牌肉桂产品受到污染厄瓜多尔的植物
操作召回和健康建议,调查工厂,向零售商发出警告召回和健康建议

DRIFT 搜索的分步过程

  1. 初始查询匹配:用户提交查询后,DRIFT 会将其与最相关的社区报告对比生成初步答案,并提出后续问题。这些问题类似轻量级的全局搜索,利用高级抽象来指导后续探索。
  2. 逐步跟进:在生成初始答案后,DRIFT 使用本地搜索执行每个后续问题,创建一个循环迭代过程,直到满足搜索的终止条件(目前设置为两次迭代)。
  3. 层次化输出:最终生成一个按相关性排序的层次化问答结构,便于根据用户需求进一步定制。基准测试期间,通过简单的 map-reduce 汇总中间答案,使每个答案权重相同。

这种逐层细化的方法,使得 DRIFT 能够在处理从抽象到具体的复杂查询时,兼顾广度和深度。

为什么 DRIFT 搜索更有效?

DRIFT 搜索通过将全局洞见和本地细化结合起来,支持从高级摘要逐步导航到知识图谱中的原始文本块。即便初始查询不完全符合预设角色,DRIFT 也能适应各种查询类型,逐层分解出具体细节。此特性使得 DRIFT 尤其适合需要同时满足广度和深度的查询场景。

DRIFT 搜索的性能评估

在基准测试中,我们将 DRIFT 与 GraphRAG 的本地搜索和语义搜索方法进行了对比,评估了各方法在“全面性”和“答案多样性”上的表现。在从美联社提取的 5000 篇新闻文章上生成了 50 个本地问题,DRIFT 搜索在全面性上优于本地搜索 78%,在答案多样性上优于本地搜索 81%。

可用性

DRIFT 搜索现已开源,详见 GraphRAG GitHub 仓库[4]

未来展望

未来,DRIFT 计划改进全局搜索,以更好地支持需要全局信息的查询。此外,还将探索单一查询界面,能够同时处理本地和全局问题。改进终止逻辑,使 DRIFT 更好地平衡新信息与冗余信息,同时提升资源利用效率。DRIFT 搜索是 GraphRAG 优化之路上的重要一步,未来还会继续通过知识图谱优化系统效率。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询