0

知识图谱

RAG

经典RAG应用的范式与架构已经非常流行,我们可以在很短的时间内借助成熟框架开发一个简单能用的RAG应用。

但是传统的RAG系统有个非常大的局限,即不善于处理复杂关系推理、总结性问题和多跳问题。因为传统RAG需要对文本进行分块,然后进行向量化存储,这种处理模式就会天然导致RAG在全局查询或总结上的表现不会太好。比如面对这样的问题,“《跨越鸿沟》这本书整体上讲了什么?请撰写一份2000字的总结”,传统RAG大概率会表现不及格。

同样的,在对文本分块之后,可能会丢失一些信息之间的关系和因果性,因此在处理多跳问题时,会出现逻辑关系断裂的问题。比如面对这样的问题,“在华东区所有的门店中,哪个导购的消费者客单价最高”,传统RAG系统可能会给出错误的答复。

这正是知识图谱和GraphRAG可以发挥作用的场景

知识图谱是一种将将信息表示为实体(节点)和关系(边)的网络,模仿了人类结构知识的组成方式。知识图谱不仅能捕获原始信息,还能捕获跨越多个文档的高阶关系,并具备强大的推理能力。

知识图谱的信息存储可以使用图数据库,图数据库是一种专门用于存储和操作图结构数据的数据库管理系统,如下图所示。与关系型数据库不同,图数据库使用节点、边和属性来表示和存储数据,非常适合处理高度连接的数据,提供高性能的复杂查询能力,用来遍历与发现有洞察力的数据关系。其最大特点是:

灵活的模型:可以方便地表示复杂的关系。

高效的查询:特别是多跳关系的查询,比关系数据库更高效。

可扩展性:能够处理大量节点和边。

GraphRAG

GraphRAG 是一种结构化的、分层的检索增强生成 (RAG) 方法,而不是使用纯文本片段的简单语义搜索方法。 GraphRAG 过程包括从原始文本中提取知识图、构建社区层次结构、生成这些社区的摘要,然后在执行基于 RAG 的任务时利用这些结构。

GraphRAG架构

图索引构建:首先,使用LLM对源文档进行处理,提取实体和关系,构建实体知识图谱。然后,使用社区检测算法将图谱划分为社区,并为每个社区生成摘要。

查询处理:当接收到用户查询时,系统会使用社区摘要来生成部分答案。这些部分答案随后被汇总和摘要,以形成对用户的最终回答。

并行处理:在索引和查询时,系统能够并行处理社区摘要,这提高了处理效率并允许处理大规模数据集。

模块化和可扩展性:Graph RAG方法的模块化设计允许它适应不同规模和类型的数据集,同时保持高效和可扩展

GraphRAG工作流程

GraphRAG的工作流程主要分为索引(Indexing)和查询(Querying)两个阶段:

索引阶段:

文本单元分割:将输入的文本语料库划分为多个文本单元,如段落或句子。

实体与关系提取:利用LLM识别并提取文本单元中的实体(如人名、地点等)、实体之间的关系以及关键信息。

层次聚类:使用社区检测算法(如Leiden算法)对提取的实体和关系进行分层聚类,形成多个社区。

社区摘要生成:为每个社区生成自然语言摘要,以了解数据集的主题结构和语义。

查询阶段:

局部搜索:在相关社区中进行搜索,获取中间答案。

全局搜索:汇总局部搜索的结果,生成最终的全局性答案。

GraphRAG适合的应用场景

下面我们来分析一下GraphRAG适合的场景,通常来说,具备如下特征的数据和场景更适合使用GraphRAG。

第一类是有较多相互关联实体与复杂关系,且结构较明确的数据。比如:

人物关系网络数据:社交网络中的用户关系、历史人物关系、家族图谱等。

企业级关系数据:公司结构、供应链、客户等之间的关系。

医学类数据:疾病、症状、治疗、药物、传播、病例等之间复杂关系。

法律法规数据:法律条款之间的引用关系、解释、判例与适用法律条款的关系。

推荐系统数据:产品、用户、浏览内容、产品之间的关联、用户之间的关系等。

第二类是涉及复杂关系、语义推理和多步逻辑关联的查询,比如:

多跳关系查询:在华东区所有的门店中,哪个导购的消费者客单价最高?

知识推理查询:根据患者的症状和病史,推断可能的疾病并提供治疗方案。

聚合统计查询:在《三国演义》中,出场次数最多的人是谁?

时序关联查询:过去一年都有哪些AI大模型的投资与并购事件?

跨多文档查询:在《三体3》中,有哪些人物在《三体1》中出现?

基于GraphRAG的特点,我们可以提炼出一些GraphRAG适合的应用场景

智能客服:将产品手册或说明文档映射到知识图谱中,解答消费者各式各样的售后问题,不需要提前准备QA对,也不需要提前对问题进行扩写,GraphRAG可以在精确理解用户意图的基础上进行查找。

智能检修:通常电气设备的产品说明短则几百页,长则数千页,即便是最资深的运维工程师也很难完全消化。因此,可以将设备的故障排除指南映射到知识图谱中,当设备出现故障时,方便工程师快速排查和解决问题。

智能问诊:在医学领域,病人的症状和病因之间存在着非常复杂的因果关系,同时医学领域对精准度的要求也非常高,因此非常适合GraphRag的使用,比如智能问诊

**药物合成:**在医药领域,存在非常多的分子化合物,每种分子化合物的特性都相差迥异,不同的分子还能结合成新的分子化合物,其中的排列组合不胜枚举。因此,可以将各种已经发现的分子化合物的结构、特征映射到知识图谱中,帮助生物学家更高效地发现有益的大分子结构。

报告总结:在金融领域,行业分析师每天都要阅读海量的市场信息或研究报告,过去都得完全依靠人工提炼和总结。而通过GraphRAG,构建智能投研、智能投顾等系统,帮助研究员快速提炼分析报告的核心内容

总结

**知识图谱是为了解决了数据间的孤岛问题,在复杂关系和复杂语义的场景下发挥了很大作用;同时,**GraphRAG虽然强大,但是相比传统RAG,其成本要高出不少。因此在以下常规场景下,我们还是尽量使用传统RAG


标题:知识图谱
作者:Larry
地址:http://www.zhangyucode.top/articles/2026/05/02/1777664105480.html