
大模型知识图谱GraphRAG才是未来? 原创 精华
在大模型浪潮中,知识图谱与RAG的结合(GraphRAG)正展现出超越传统扁平化RAG的巨大潜力,它很可能代表着未来的发展方向。
一、传统 RAG
传统RAG是一个拥有优秀记忆,但缺乏逻辑的助手,它将文档切分成片段,为每个片段创建向量索引。当用户提问时,它通过语义相似度检索出最相关的几个片段,然后交给大模型生成答案。它的核心局限在于:
- “碎片化”理解:文档被切分后,篇章级的逻辑结构、实体间的深层次关系随之丢失。它能看到“树木”,却难以看清“森林”。
- 无法进行复杂推理:对于需要串联多个知识点的问题,传统RAG显得力不从心。
- 示例问题:“公司去年在亚太区的业务增长,主要受到了哪些政策的影响?”
- 传统RAG的困境:它可能分别检索到“亚太区业务增长”的段落和“某项政策”的段落,但由于检索是独立的,它很难自动建立两者之间的因果关联,除非原文明确同时提到了这两者。
- 对长上下文和多跳问题效果不佳:对于需要联系文档前后来回推理(多跳推理)的问题,传统RAG的检索机制很容易中断推理链。
传统 RAG 技术在某些场景下,可能存在以下几个问题,即使使用高级 RAG 方法通常也较难克服。
1. 效率问题:基于向量的搜索方法采用数学方法,如聚类,树形结构或 HNSW 等近似最近邻算法,这些方法在处理极高维度数据,或非常复杂的信息结构时效果不好。另外,ANN 搜索算法如 HNSW 虽然可以提高效率,但构建和维护索引通常需要大量的计算资源。
2. 可解释性:文本 Embedding 后的向量,可解释性很低。RAG 检索后得到的向量只关注文本的片段,而表示文本片段的向量是数字数组,没有直接的可解释性,无法通过观察向量中的具体数字理解文本内容。
3. 整体理解受限:RAG 检索到的内容(向量块)虽然来自数据库中所包含的文档,但这些内容相关的上下文却不一定包含在答案中,导致其无法对问题、答案以及文档形成整体理解。
4. 数值与文本:基于向量的检索,同时处理包含文本和数字的数据时准确度不高。向量数据库中,文本和数值型数据的特征和表示方法不同,系统会在处理中混淆这两种类型的数据(文本经过 Embedding 转化为向量,而数值型数据则可能直接使用或经过标准化后使用)。
5.工程挑战:RAG 系统涉及包含检索、排序、生成等多个组件,确保各组件之间的数据无碍传输、接口统一,以及如何高效地集成和优化这些组件,是一个巨大的工程挑战。
二、Graph RAG
1. Knowledge Graph
GraphRAG是一个既博学又善思的专家,先利用大模型从非结构化数据中抽取知识,构建一个结构化的知识图谱,然后基于这个图谱进行检索和推理。它通常包含两个阶段:
阶段一:知识图谱构建
- 使用大模型从整个文档库中系统性地抽取实体、关系和属性,构建一个富含语义的图结构。
- 例如:从公司报告中抽取
(公司A)-[收购]->(公司B)
、(政策C)-[促进]->(行业D)
这样的三元组。
阶段二:图谱增强的检索与生成
- 当用户提问时,系统不是去搜索文本片段,而是在知识图谱上进行查询、遍历和推理,找到相关的子图或路径,再将这个结构化的信息与大模型强大的生成能力结合,产出答案
Graph RAG 是一个用来表示实体及其相互关系的结构化图形数据模型。在 Graph 中,节点(Nodes) 代表实体如人、地点、事件等;边(Edges)则代表这些实体之间的关系,(如人物关系、地理位置等)。
2. 知识的两种表示方法:Vectors & Graphs
从人的视角,向量的视角,以及 Graph 的视角,来看一个“苹果:人对“苹果”的理解是复杂的,并非仅从字面捕捉。我们的大脑会为这个苹果赋予想象,从而产生一种果香诱人、甜美可口之感。这是“苹果”这个词在人类感知与概念上的结合体。
向量“苹果”的表示则是一组数字,这组数字以编码的形式表征了相应文本的一部分意义。在 RAG 过程中,这组数字通过一次计算,识别其与另一组向量的相似度。但是,如前所述,人类几乎无法理解这组向量内部每个数字所代表的内容;从这组数字尝试理解其上下文,或将其融入更长的文本中显然也无能为力。
知识图谱“苹果”的表示则是“declarative”(声明式的),用 AI 的术语来讲,是 symbolic(符号化)的。对人类来说, 知识图谱的表示方式直观,使用自然语言标签和关系,人类可以轻松理解其中的内容,比如我们上边的几张图。对于机器来说, 符号化表示的形式化和标准化特性,易于机器进行解析,并能进行逻辑和算法推理。
3. Graph RAG 运行模式
GraphRAG 本质上就是 RAG,只不过与一般 RAG 相比,其检索路径上多了一个知识图谱。GraphRAG 与 RAG 的基本架构也相同,区别在于其数据库中,同时存储了结构化的知识图谱数据和文本 Embedding 后的向量数据。
三、GraphRAG 的优势
- 真正的深度推理能力
- 知识图谱天然地存储了关系。对于问题“政策C如何间接影响了公司A的股价?”,GraphRAG可以通过图谱路径
政策C -> 促进 -> 行业D -> 包含 -> 公司B -> 竞争 -> 公司A
发现间接影响,并进行推理。这是传统RAG难以做到的。
- 全局视角与知识融合
- 图谱整合了散落在文档各处的知识。它能理解一个实体(如一个产品、一个人物)在整个文档中的全貌和所有关联,避免了传统RAG在不同片段中获取矛盾或片面信息的问题。
- 高效处理复杂查询
- 对于多跳查询、聚合查询(如“列出所有与我们有合作关系的初创公司的CEO”),在图谱上进行查询比在向量空间中搜索要高效、精确得多。
- 可解释性更强
- 传统RAG返回的答案,其来源是几段文本,逻辑需要用户自己梳理。而GraphRAG可以直接展示出推导出答案的知识子图,让答案的推理过程一目了然,极大地增强了可信度。
与 传统 RAG 相比,GraphRAG 还有几方面的特点
1、准确性与可用性
GraphRAG 能显著提高 RAG 环节中的“检索”性能,可以在检索的上下文中填充更高相关性的内容,最终产生更准确的回答与原始索引。同时,GraphRAG 与替代方法相比,所需要的 Token 数量减少了 26% 至 97%,因此其在提供答案方面不仅准确度高,而且成本也更低。
2、提升数据价值,加快产品迭代速度
由于知识图谱在概念和视觉上都比较直观,因此尝试从知识图谱的角度理解数据,会对数据产品新的洞察。图谱能生动地展现应用底层的数据情况。另外,图谱提供了能追溯到原始答案的“钩子”,可以沿着这些“钩子”组合而成的因果链追踪这些数据。
对于 LLMs 应用,图谱中独立的数据块能保留其价值,同时展现出的数据结构本身就能存储并传递额外意义,可通过这些为应用程序增加更多智能。比如 LlamaIndex 最近展示的一个图,阐释了其通过“MENTIONS”将词汇图和域图进行了关联:
3、可解释性及安全性
大语言模型缺乏可解释性,因此基于 LLMs 的应用很难在决策层面提供信任。但知识图谱则完全不同,知识图谱的数据可导航,查询、并能随时修正和更新。
在数据质量方面,将数据置于知识图谱中,更容易发现数据中的错误并进行溯源:并不仅能在计算中使用,还能在解释中加以利用。而这一点在数据的向量表示中是根本无法实现的。在数据隐私方面,Graph RAG 可以通过分析图结构中应用的访问模式和路径,检测异常行为并及时响应。
从安全性角度来说,GraphRAG 可以通过图结构,自然地表示和管理复杂的关系,包括用户、角色、权限、资源之间的多对多关系;并且能通过图的节点和边的属性与标签,实现更细粒度的权限管理和动态调整。下图是一个简单的安全策略示意,可以在具备细粒度访问控制的知识图谱中实现:
GraphRAG解决的是“深度”和“智能”问题。它代表了大模型应用从 “基于记忆的对话” 向 “基于知识的推理” 的范式转变。随着自动化构建图谱技术的成熟和成本的降低,GraphRAG必将成为处理复杂企业知识、驱动智能决策系统的核心基础设施。
因此,说 “大模型时代,知识图谱GraphRAG才是未来”,并非言过其实,而是对技术演进方向的深刻洞察。它并非要完全取代传统RAG,而是在需要深度理解和推理的场景中,提供了一个更强大、更根本的解决方案。
本文转载自数智飞轮 作者:蓝田
