微信扫码
与创始人交个朋友
我要投稿
在上一篇文章中GraphRAG原理深入剖析-知识图谱构建,我们重点了解了GraphRAG原理中的知识图谱的建立,今天这篇文章重点介绍一下GraphRAG原理中图谱检索部分。
GraphRAG为我们提供了2种方式的检索:local search和global search;接下来我们分别分析一下这两种检索方式。
local search
local search是GraphRAG框架中提供的一种局部检索的技术,是一个从微观视角来检索相关内容的策略,因此它更适合检索一些提问中涉及到具体实体的问题,比如说“急性肠胃炎要怎么治疗”这类问题。以下是local search的核心流程:
GraphRAG local search 的操作流程一般包含以下几个关键步骤:
查询准备:用户提交一个查询,该查询被转换成适合在知识图谱或向量数据库中搜索的形式(例如关键词、向量等)。
初步搜索:利用向量搜索或关键词搜索技术,在知识图谱或向量数据库中进行初步搜索,以识别出与用户查询概念上相近的一组初始节点或文档集。这些节点或文档是初步的搜索结果。
图数据遍历:基于初步搜索结果,在图数据库中进行图遍历,以收集与初始节点相关的其他节点信息。这一步骤利用了知识图谱中的关联信息,以增强检索的上下文相关性。
节点排序:采用基于图的排序算法(例如 PageRank)对搜索到的节点或文档进行排序,确保最相关的内容被优先展示。
响应生成:将排序后的节点或文档作为上下文信息输入到生成式 AI 模型中,以产生最终的响应。
local search特点
1、高效性:由于只在局部范围内进行搜索,计算量相对较小,搜索速度较快。特别是对于大规模的图数据,Local Search 可以在较短的时间内找到一个较好的局部解。
2、局部最优性:虽然 Local Search 能够找到局部最优解,但不一定是全局最优解。这是因为它只考虑了局部的信息,没有对整个图进行全面的搜索。
3、对初始解敏感:搜索结果很大程度上取决于初始节点的选择。不同的初始节点可能会导致不同的局部最优解。
global search
全局搜索是GraphRAG的核心优势之一,它解决了传统RAG技术在处理需要跨数据集汇总信息查询时的局限性。全局搜索侧重于全文理解,适用于处理摘要总结类问题;比如“这篇文章主要讲了什么”,这类问题在传统RAG中很难回答的很全面,切块后再检索总会有信息的丢失。以下是global search的核心流程:
global search核心步骤可以分为2步:
1、map阶段
根据用户输入问题与历史轮对话,查询指定层次上(community_level)的所有社区报告总结,对这些社区报告分成多个批次生成带有评分的中间响应,评分用来表示这个观点的重要性,这个过程没有用向量embedding来匹配,而是并发调用大模型来完成的
2、reduce阶段
对map中间响应的结果进行排序,选择最重要的观点(根据打分排序)汇总并作为参考的上下文,最后交给大模型来生成最终响应结果
global search特点:
1、全局最优性:能够找到全局最优解,保证了解的质量。对于一些对解的质量要求较高的问题,Global Search 是一种可靠的选择。
2、计算量大:由于要对整个图进行搜索,计算量通常较大,搜索时间较长。特别是对于非常大规模的图数据,Global Search 可能会变得非常耗时。
3、鲁棒性强:不受初始解的影响,能够对整个图进行全面的探索,找到最优解的可能性较大。
GraphRAG原理中的local search和global search各自拥有独特的优势和适用的环境。local search以其快速性和对起始点的依赖性而著称,非常适合处理大规模图谱数据集,并且在对解决方案的精确度要求不是特别严格的情况下表现良好。而global search则致力于发现最优解决方案,尽管它需要更多的计算资源,但它在需要高精度解决方案且图形数据集的规模较小的情况下是理想的选择。在实际应用中,我们需要根据自己的业务场景具体特征和需求来选择恰当的搜索策略,以便最大化 GraphRAG 的潜力。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-07-17
2024-07-11
2024-08-13
2024-07-13
2024-07-12
2024-06-24
2024-06-10
2024-07-08
2024-07-26
2024-08-27
2024-12-16
2024-12-10
2024-12-04
2024-12-01
2024-11-30
2024-11-22
2024-11-04
2024-10-10