知识图谱(六):GraphRAG
图检索参与问答的流程,以及 Microsoft GraphRAG、混合检索和相关方法。
RAG 与图检索
检索增强生成(RAG)先从外部资料中检索与问题有关的内容,再将资料作为上下文交给语言模型生成回答。索引阶段通常包括文档解析、切块和建立检索索引;查询阶段包括召回、筛选或重排序、上下文组织与生成。检索可以采用关键词、向量或结构化查询,并不限定为一种技术。
问题“parser 1.4 的公告需要通知哪些服务团队”需要公告、依赖和团队记录共同支持。仅按问题与文本的相似度召回时,写着“order-api 依赖 checkout-sdk”的构建记录可能没有直接命中 parser。图可以通过已知依赖补充这一连接,再定位相关原文。
问题分解和多轮检索也能处理关联问题。任务经常需要跨实体查找路径时,可以引入图检索,再用同一问题集比较效果和维护成本。
广义 GraphRAG 指利用图结构辅助检索增强生成的方法集合;Microsoft GraphRAG 是其中一个具体项目。图可能来自治理后的领域数据,也可能是从文档自动抽取的实体网络。自动抽取的实体网络还需要身份对齐和证据校验。
基于知识图谱的问答流程
问答首先识别用户意图和实体,将 parser 1.4 链接到规范版本。存在同名组件时,根据生态、仓库或业务范围消歧;资料不足则保留候选。随后执行限定快照和权限范围的依赖查询,得到服务、团队及路径。查询直接返回结构化的服务列表。
接着根据路径上的证据标识获取构建记录、组件清单和团队台账,并补充公告条件。检索器应保留每项材料支持哪条断言,以及时间和来源版本。下列上下文片段将结构化结果与尚未验证的条件同时交给生成阶段。
{
"question": "parser 1.4 的问题需要通知哪些团队?",
"snapshot": "demo-2026-10-01",
"candidateService": "svc:order-api",
"team": "team:commerce",
"path": ["svc:order-api", "pkg:checkout-sdk:2.1", "pkg:parser:1.4"],
"evidenceIds": ["build-order-1", "manifest-checkout-1", "ownership-order-1"],
"advisoryEvidence": "advisory-demo:v1",
"unverifiedCondition": "生产部署是否启用模板扩展"
}生成内容可以是:“订单服务由交易团队负责,其构建经 checkout-sdk 2.1 引入 parser 1.4,因此需要核查。公告要求启用模板扩展,目前没有对应生产配置证据。”
引用按句子或断言对应来源:公告支持影响版本,构建记录支持依赖,资产台账支持团队归属。
Microsoft GraphRAG 的索引与搜索
Microsoft GraphRAG 将文本抽取、图分析与摘要生成用于资料组织。其典型索引流程从文本单元中提取实体与关系,组织图结构,识别社区,并生成相应报告。社区报告为较高层次的检索提供摘要,原始文本则保留细节依据。
局部搜索围绕与问题相关的实体,组合邻近关系及文本上下文,适合询问某个组件及其联系。全局搜索利用社区报告组织跨材料的主题综合,适合“这个季度依赖治理有哪些主要问题”。精确服务计数仍应在明确定义的结构化数据上完成。
社区由图结构与算法参数产生,不一定对应真实业务部门。泛化节点、错误合并或抽取遗漏都可能改变社区与报告。社区摘要应保留到实体、关系和原文的关联,便于检查分类依据。
DRIFT 将社区信息与局部探索结合,通过细化问题继续搜索,适用于起初范围较宽、需要进一步深入的查询。更多轮次意味着额外延迟和调用成本,应记录每轮新增证据,并设置终止条件,避免反复检索相同材料。
混合检索与查询控制
关键词检索擅长公告编号、版本号和错误码等精确表达,向量检索擅长同义描述和较长自然语言,图检索擅长已识别实体之间的结构联系。例如 ADV-DEMO-001 可以精确匹配,“模板解析故障”可以语义召回,涉及哪些团队则通过依赖与归属查询获得。
多个检索器的分数通常不可直接相加。BM25 得分、余弦相似度与路径长度没有统一概率含义,可以先采用排名融合形成基线,再根据标注数据调整排序。候选合并还要去除重叠证据,并检查时间、权限与是否直接支持问题。
图扩展需要限制起点、关系类型、深度和候选数量。无限扩展会引入大量无关邻域,单纯偏向高连接度节点又可能反复召回热门组件。扩展规则应通过漏召回与误召回案例调整。
自然语言转查询可以扩大问题范围,但生成的 Cypher 或 SPARQL 需要经过语法、模式和资源检查,并以只读权限执行。稳定业务问题可以优先使用参数化模板。还需检查生成的条件是否符合“当前生产”或“实际受影响”的业务含义。
GraphRAG 代表方法
| 方法 | 主要关注点 | 采用前要验证什么 |
|---|---|---|
| Microsoft GraphRAG | 实体关系、社区报告与局部或全局检索 | 问题是否需要跨材料综合,摘要是否保留证据 |
| LazyGraphRAG | 减少预先生成摘要等处理,将部分工作延后 | 索引成本与查询成本如何随流量变化 |
| LightRAG | 图结构与双层检索组织 | 增量处理及检索效果是否适合本语料 |
| HippoRAG 2 | 结合图、段落和 Personalized PageRank 进行关联检索 | 事实检索与关联问题能否同时改善 |
LazyGraphRAG 的官方研究介绍讨论了减少预先生成摘要等工作,将部分处理延后到查询阶段。它改变的是离线与在线工作的分配:资料变化频繁、查询较少时可能有吸引力,查询频繁时则需要测量累积在线成本。
官方研究介绍:LazyGraphRAG,2024,页面含 2025 更新说明
LightRAG 通过图结构与双层检索组织信息。HippoRAG 2 则加强段落整合与在线语言模型使用,并利用 Personalized PageRank 进行关联检索。
论文:From RAG to Memory / HippoRAG 2,2025
比较时应记录构图方法、原文保留方式、查询调用和更新成本。在同一语料和任务上比较证据召回、答案质量与费用。
答案依据与更新一致性
答案质量首先取决于证据是否足以支持结论。没有团队记录时,可以列出服务并说明归属未知;没有找到目标版本时,应区分实体歧义、采集缺失与确实不存在。明确的返回状态可以降低生成模型填补空白的机会。
资料变化会影响图边之外的产物。公告撤回后,相关排查候选、摘要、向量条目和缓存回答都可能需要失效。若图使用新快照而摘要仍来自旧快照,答案会组合互不一致的依据。检索上下文应携带版本,使应用能够拒绝或处理这种混用。
访问权限也需要传播到派生材料。某个用户不能读取原始文档时,包含同一事实的社区摘要不应成为绕过权限的入口。按权限域构建摘要或采用能覆盖全部来源限制的访问策略,是需要在系统设计中明确的选择。
可追踪的回答应保留实体链接结果、查询参数、召回材料、过滤理由以及陈述与证据的对应关系。发生错误后,才能区分是图中知识错误、检索遗漏,还是生成内容超出了证据范围。