一文彻底搞懂GraphRAG
简单说,就是把散落的信息,像拼图一样,用“关系”串起来。图形RAG就是这么干的。

自从ChatGPT掀翻桌子,大语言模型(LLM)和私有数据结合这件事,就成了整个行业最眼馋的香饽饽。它不光造出了一堆能打的AI应用,也标志着AI终于有了点真本钱。
但聊着聊着,问题就来了。传统的文本嵌入检索(Text2Vec RAG),在处理知识库问答时,总有种“明明有一仓库货,却只能掏点零碎”的憋屈感。
今天这篇文章,就好好聊聊GraphRAG是怎么把这个坑填上的,以及它如何做到对知识库的深度挖掘和全面理解。
1 局部和全局问题
Text2Vec的本事,是精准地从知识库里抓出关键事实,然后直接回答用户的问题。但它有个致命短板——
太吃查询的“具体性”
想象一下,有个特别全的诺贝尔和平奖得主数据库。你问系统“2023年的诺贝尔和平奖得主是谁?”系统秒回,因为这信息在库里有明确条目。但如果你问“过去十年最杰出的获奖者有哪些?”这就开始麻烦了——答案可能散落在几十页文档里。再比如,“最近几届获奖者主要关注哪些议题?”如果这些议题在文本里没直接提,传统的嵌入检索基本就答不上来。
怎么办?上图形RAG。它能同时处理“具体的局部问题”和“需要全局视角的复杂问题”。
知识图谱采用半结构化的层次方式组织信息,允许我们在数据集的全局层面上进行推理,识别节点间的复杂关系。
整个流程可以拆成五步:
- :从数据里抓出节点和边,搭起知识图谱的骨架。
图形提取
- :把图谱存进数据库,方便管理和检索。
图形存储
- :发现图中的社区,每个社区代表一个主题。
社区检测
- :给每个社区整一份报告,梳理节点和边之间的关系。
社区报告
- :用Map Reduce技术把社区信息整合起来,为用户的复杂查询提供精准上下文。
上下文构建
这一套优化下来,用户再问那些“弯弯绕”的问题,系统也能给出更全面、更靠谱的答案。
2 构建知识图谱:图形提取
想对非结构化的知识库建立抽象理解,第一步就得抓出关键节点和边。这一步完全可以让大语言模型(LLM)来干。但难点在于,
怎么判断哪些概念和关系是有价值的?
就拿一篇讲沃伦·巴菲特的文章来举例。他的持股情况、出生年份这些,显然是关键实体和边;但他上次董事会上领带的颜色,那就纯属废话。所以关键在于,你得根据应用场景和领域,定制好提取提示,这直接决定了能从数据里捞出什么类型的信息。
设定提取提示,常见的有两种方式:一是提供一批输入输出样例,让LLM照着学(多轮提示);二是直接用特定数据集微调模型。微调可能效果更好,但也更烧时间。
3 图谱数据的存储与管理
LLM的提取流程跑通了,接下来就是往哪存。正经干活的话,Neo4j或Arango DB这种图形数据库是首选标准,但学它们的新查询语言,门槛真心不低。
为了省事,可以考虑用一个叫graph2nosql的Python接口。它支持把图形数据存进NoSQL数据库,还能做节点管理、图形可视化、社区检测这些基本操作。这样一来,省去一套复杂的数据库技术栈,数据依旧灵活好用。
graph2nosql 数据模型
4 社区检测
图数据存好了,下一步是识别图中的社区结构。所谓社区,就是一群内部连接非常紧密、跟外部连接相对稀疏的节点。
这一识别可以通过多种算法实现。
用得最多的是Louvain算法。它的操作逻辑挺直观:不断迭代合并节点,形成社区,直到达到一个优化的模块度标准——简单讲,模块度就是衡量这群节点“扎堆扎得有多紧密”的指标。
除了Louvain,还有几种知名度较高的算法:
- Girvan-Newman算法
- Fast Unfolding算法
- Infomap算法
各有各的优势,选哪个得看具体场景和需求。
5 社区报告生成
社区报告是基于已识别的社区,提炼出节点和边上的关键信息,帮我们把握知识库的核心主题。
每个社区都代表一个主题,它能为回答相关问题提供非常具体的上下文。
比如诺贝尔和平奖得主的社区报告,会重点标出获奖者共同关注的议题。如果再搭配“发现”功能,还能进一步深挖,提供更细致的洞察。为了确保报告的相关性和准确性,根据具体应用场景做相应的提示设计或模型微调,是很有必要的。
6 上下文构建:Map Reduce的应用
处理查询时,可以借鉴Map-Reduce的模式,来构建从中间答案到最终答案的响应流程。
Map阶段
Reduce阶段
7 结语
Text2vec RAG在知识库问答上确实有局限性。图形RAG则刚好补上了这块短板——通过社区报告,它给知识库提供了更深层的理解,帮助团队快速定位关键信息、提升效率。当然,也不是没代价:
频繁调用LLM,成本高,延迟问题也得重视。
未来,RAG系统大概率会走向“混合策略”。根据查询类型动态选择最趁手的工具,比如遇到复杂问题时,就优先拿社区报告充当上下文候选。这个方向,探索空间还很大。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名