首篇GraphRAG综述出炉!
从技术演进的脉络来看,检索增强生成(RAG)的出现,原本是为了给大语言模型装上“外设知识库”——让它们在面对幻觉、知识过时或特定领域盲区时,能先翻翻资料再回答。这个思路很快被验证有效,也催生了大量应用。但很快人们就发现,传统RAG在检索环节往往“只见树木不见森林”:它擅长找点,却不擅长找关系。当问题涉及到实体之间错综复杂的关联时,单纯的向量或关键词检索就显得力不从心了。于是,GraphRAG应运而生——它把图结构的信息检索能力嵌入到RAG流程中,让检索不仅能“找到”,还能“理解”关系。
GraphRAG的全称是图检索增强生成。它的核心思路并不难懂:不是把所有相关信息都塞进同一个袋子里,而是先在数据库里构建一个实体关系的“知识图谱”,然后在回答问题时,顺着图谱里的边和节点一步步找到真正相关的子图,最后再让语言模型基于这些结构化信息生成答案。整个过程可以拆解为三个关键阶段:基于图的索引、图引导的检索、以及图增强的生成。下面我们就逐一拆解。

Graph-Based Indexing
一切GraphRAG的基础,是先把无序的原始数据变成带有丰富关联的图结构。你可以把这个阶段想象成给一个巨大的图书馆编制一套“关系型目录”——不只是告诉你书在哪个书架,还标明这本书与哪些书、哪些作者、哪些主题有引用或关联。只有这样,后续的检索才能顺着关系走。
图数据源通常分为两类:公共开放图谱(如维基百科、百度百科等)和私有领域图谱(针对医学、法律等垂直场景自建)。两者在构建成本、覆盖范围和实时性上有明显差异,实际应用时往往需要混合使用。
有了图数据之后,索引的构建方式直接决定了检索效率。目前主要有三种思路:
图索引
文本索引
向量索引
Graph-Guided Retrieval
索引搭建好之后,关键就成了“怎么问、怎么找”。检索器(retriever)的选择直接决定了检索质量。从方法上区分,有
非参数检索器
基于语言模型的检索器
基于图神经网络的检索器
搜索策略也各有千秋:
一次性检索
迭代检索
多阶段检索
检索的粒度也值得关注——你可以选择只检索单个节点、节点对(三元组)、一条路径,甚至整个子图。这会直接影响到后续生成阶段的信息量。此外,一些优化技巧(比如对问题做语义扩展、对检索结果做合并或剪枝)也经常被用来提升最终的召回精度。
Graph-Enhanced Generation
进入生成阶段,核心问题是如何把找到的图结构信息“喂”给语言模型。语言模型只能理解自然语言序列,而图数据是结构化的,所以必须做一次转换。目前主流的方案有两种:
图语言化
图嵌入
至于训练方式,GraphRAG继承并扩展了传统RAG的三种模式:一是直接使用现成模型(预训练语言模型或规则),简单但可能不匹配具体任务;二是用有监督信号独立训练检索器或生成器,让它们适应特定领域;三是联合训练,让检索器和生成器协同优化,效果往往最好但也最难实施。
从整体趋势来看,GraphRAG还处在快速演进的早期阶段。它把图的结构性优势与语言模型的生成能力结合起来,已经在事实验证、问答系统、推荐解释等场景中展现出超越传统RAG的潜力。当然,挑战也显而易见:图数据构建成本高、检索路径的复杂性可能导致延迟、以及不同任务对检索粒度和策略的需求差异极大。这些也正是未来研究需要重点突破的方向。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名