首页 > 教程攻略 > ai资讯 >GraphRAG原理深入剖析--图谱检索

GraphRAG原理深入剖析--图谱检索

来源:互联网 时间:2026-08-26 21:50:38

在上一篇文章中,我们深入剖析了GraphRAG原理中的知识图谱构建过程。今天这篇,咱们重点聊聊图谱检索这部分——也就是当知识图谱建好之后,如何把用户的问题精准映射到图上,再把答案捞回来。

GraphRAG 提供了两种检索方式:

local search

global search

。这两种方式各有各的脾气,适用场景也完全不同。下面我们逐个拆解。

Local Search(局部检索)

Local search 是一种从微观视角出发的检索策略,通俗点说,它更适合回答那些“问具体实体”的问题——比如“急性肠胃炎要怎么治疗”。这类问题需要紧盯着某个实体及其周边关系来提取信息,而不是放眼全局。它的核心流程大致如下:

首先,用户提交查询后,系统会把查询转换成适合在知识图谱或向量数据库中搜索的形式,比如关键词或者向量。接着,利用向量搜索或关键词搜索,在知识图谱中初步找出与查询概念相近的一组初始节点或文档集。这就像是先划了个“嫌疑范围”。

然后,基于这些初步结果,在图数据库里做图遍历,把跟初始节点有关联的其他节点信息也一并捞出来——这一步充分利用了知识图谱中的关联性,让上下文更丰满。之后,采用基于图的排序算法(比如 PageRank)对这些节点进行排序,确保最相关的内容排在前面。最后,把排序后的节点或文档作为上下文信息送入生成式 AI 模型,生成最终回答。

Local Search 特点

高效性

:因为只在局部范围搜索,计算量相对小,速度比较快。尤其面对大规模图数据时,能在较短时间内给出一个不错的局部结果。

局部最优性

:但它找到的是局部最优解,不一定是全局最优。毕竟只看了眼前这一亩三分地,没做全图扫描。

对初始解敏感

:搜索结果高度依赖初始节点的选择。换一个起点,可能就换了一个结果,运气成分不小。

Global Search(全局检索)

如果说 local search 是“显微镜”,那 global search 就是“卫星地图”。它是 GraphRAG 的核心优势所在,专门用来解决传统 RAG 技术在处理需要跨数据集汇总信息时的痛点。比如“这篇文章主要讲了什么”——这种摘要总结类问题,传统 RAG 把文档切块再检索,总会丢三落四,很难给出全面答案。Global search 侧重全文理解,能站在高处把散落的信息串起来。

它的核心流程可以分成两步:

map 阶段

reduce 阶段

Map 阶段

:系统根据用户输入的问题和历史对话,在指定的层次(community_level)上,把所有社区报告总结拿出来,分成多个批次,让大模型并发地给每个批次生成带评分的中间响应。这个评分用来衡量观点的重要性——注意,这里没有用向量 embedding 做匹配,而是纯靠大模型本身的理解能力来打分。

Reduce 阶段

:对上一步产生的中间响应结果进行排序,挑出得分最高的那些观点(按打分排序),汇总起来作为参考上下文,最后交给大模型生成最终回答。

Global Search 特点

全局最优性

:能找出全局最优解,解的质量有保障。对于那些精确度要求高的问题,global search 是靠谱的选择。

计算量大

:代价也很明显——需要遍历整个图,计算量通常很大,搜索时间也长。碰上超大规模的图,可能会慢到让人想砸键盘。

鲁棒性强

:它不受初始解的影响,因为对整个图做了全面探索,找到最优解的概率更高。

说到底,local search 和 global search 各有各的绝活。Local search 快、对起点敏感,适合大规模图谱上快速找局部答案,对精度要求不那么苛刻的场景很顺手。而 global search 追求最优解,但需要更多算力,更适合小规模图或高精度要求的任务。实际项目中选哪一种,得看业务场景的具体特征——数据量多大、查询类型偏实体还是偏总结、对响应速度有多敏感。把这些想清楚了,才能把 GraphRAG 的潜力真正榨出来。