小白也能秒懂!GraphRAG是什么,一文搞懂GraphRAG的工作原理!
在人工智能浪潮席卷全球的今天,大模型成为了焦点,但它并非万能。而 GraphRAG 的出现,为解决大模型和传统技术的一些痛点带来了新希望。下面,我们就用简单的语言,带大家彻底搞懂 GraphRAG。
在人工智能浪潮席卷全球的今天,大模型成为了焦点,但它并非万能。而 GraphRAG 的出现,为解决大模型和传统技术的一些痛点带来了新希望。下面,我们就用简单的语言,带大家彻底搞懂 GraphRAG。
1、大模型问题
大模型虽然厉害,但也存在不少让人头疼的问题:
-
幻觉频发:就像人会说胡话一样,大模型可能生成听起来很对,实则错误的内容。比如问它某个冷门历史事件,它可能编造细节。
-
知识过时:大模型的知识截止到某个时间,对于之后发生的新事物、新信息,它就 “不知道” 了。
-
推理薄弱:面对需要多步思考、关联多个信息的问题,大模型常常力不从心,容易出错。
2、RAG是什么?
RAG 全称 Retrieval - Augmented Generation,即检索增强生成。简单说,就是让模型在回答问题前,先去一个专门的 “知识库” 里找相关资料,再根据资料来回答。这就好比学生做题时,先翻书找知识点,再写答案,能大大减少错误。

3、RAG架构

通常情况下,可以把一个简单的RAG应用从整体上分为数据索引(Indexing)与数据查询(Query)两个大的阶段,而在每个阶段都包含不同的处理环节。以上面的举例来解释:
- 索引阶段就是编写考试时需要的参考书,这本书要容易快速查找特定知识。
- 查询阶段就是考试时使用这本书的过程,先查找参考资料,然后解答问题。
4、传统RAG的问题
传统 RAG 虽然比单纯的大模型好,但也有不足:
-
检索局限:多依赖关键词匹配,可能会漏掉那些意思相关但用词不同的重要信息。
-
关联能力差:对于需要连接多个知识点的问题,很难处理好,回答容易片面。
-
效率下降:当知识库特别大时,检索速度会变慢,影响整体响应时间。
3、GraphRAG基础
在开始之前,我们先快速了解图(Graph)、图数据库(GraphDB)、知识图谱(Knowledge Graph)以及GraphRAG的基础知识。
图
图(Graph)是一种用来表示对象以及它们之间关系的数学结构。任何两个对象之间都可以直接发生联系,所以适合表达更复杂的关系信息。一个图结构的主要的组成是节点和边。
- 节点:用来表示一个对象。比如一部电影、电影中的一个演员…
- 边:用来表示对象之间的关系。比如演员Tom参演了电影的一个角色

图数据库(GraphDB)
图数据库是一种专门用于存储和操作图结构数据的数据库管理系统。与关系型数据库不同,图数据库使用图数据库是一种专门用于存储和操作图结构数据的数据库管理系统。与关系型数据库不同,图数据库使用节点、边和属性来表示和存储数据。这使得它们非常适合处理高度连接的数据,提供高性能的复杂查询能力,用来遍历与发现有洞察力的数据关系。其最大特点是:
- 灵活的模型:可以方便地表示复杂的关系。
- 高效的查询:特别是多跳关系的查询,比关系数据库更高效。
- 可扩展性:能够处理大量节点和边。
什么是知识图谱
知识图谱是一种基于图结构的语义网络,用于表示现实世界中的知识。这个知识和上学去学的那个知识不是完全一致的,这个知识更接近我们平时所说的信息,任何东西都可以成为知识图谱里的知识。知识图谱的优势
- 结构化信息:知识图谱将信息以节点(实体)和边(关系)的形式组织,使得复杂信息结构化,便于存储和查询。
- 语义理解:通过明确的关系定义,知识图谱可以帮助系统更好地理解信息之间的语义关系,提升信息检索和自然语言处理的效果。
- 知识关联性:知识图谱能够将不同的知识点联系起来,形成更丰富的知识网络,帮助用户发现隐藏的关联。
- 支持推理:基于知识图谱,系统可以进行逻辑推理,从已知的信息推导出新的信息,提高智能应用的能力。
- 可视化:知识图谱通常可以通过图形化的方式展示,使得复杂关系一目了然,便于用户理解和分析。
4、GraphRAG
graphRAG在整体架构与传统RAG并无更大区别,区别在于检索的知识采用图结构的方式进行构建、存储并检索

GraphRAG 的工作原理
GraphRAG的流程包括两个部分:索引阶段 和 查询阶段。

索引阶段
索引阶段主要负责将非结构化文本数据转化为结构化的知识图谱,并将其存储到数据库中。其主要流程如下:
- 文本切分: 将输入的文本数据按照一定的规则切分成多个文本块 (Text Unit),每个文本块通常包含一个或多个完整的句子。文档和文本单元之间一般存在严格的一对多关系,在极少数情况下,这可以变成多对多关系(当文档很短并且我们需要其中几个来组成一个有意义的分析单元)。

2.实体和关系抽取(图提取): 利用 LLM 从文本块(Text Unit)中抽取实体、关系和声明

实体和关系提取:使用LLM从原始文本中提取实体和关系、包含具由名称、类型和描述的实体列表,以及具有源、目标和描述的关系列表
实体和关系摘要:通过LLM为每个实体和关系提供简短的摘要描述
例如,从句子 “OpenAI 开发了 ChatGPT” 中,可以抽取出实体 “OpenAI” 和 “ChatGPT”,以及关系 “开发”。
3.知识图谱构建:将抽取出的实体和关系信息构建成图结构的知识图谱,其中节点代表实体,边代表关系。4.检测和识别社区: 利用图算法(例如,层次化 Leiden 技术)对知识图谱进行社区检测,将具有相似语义的实体聚集在一起,形成不同的社区。可以把社区理解成围绕某个主题的一组紧密相关的实体与关系信息。

- 生成社区摘要: 使用LLM基于社区数据为每个社区的摘要信息,用来了解数据集的全局主题结构和语义。比如:如果社区A是顶级社区,我们将获得关于整个图表的报告,如果社区是较低级别的,我们将获得有关本地集群的报告。这也是Microsoft GraphRAG的核心价值所在,也是回答QFS问题的关键。

在这个过程中,自然语言文本–>结构化的图谱—>自然语言摘要,由于转化的知识图谱组合了来自多个原始文本的实体和关系信息,因此基于社区的自然摘要就包含了跨多个数据源和文档的浓缩信息,因此可以很好的回答QFS问题
- 向量化: 利用 LLM 将实体、关系、社区概括等信息转化为向量表示,用于后续的语义搜索。

- 存储: 将构建好的知识图谱、社区信息和向量表示等数据存储到数据库中,供查询引擎使用。

查询阶段
GraphRAG定义了两种差异非常大的查询模式:local查询和global查询。
local查询:

- local查询会根据输入的查询问题与对话历史,从知识图谱中识别出最相关的实体。
- 从这些实体开始,提取与实体关联的原始文本块、社区报告、实体关系等内容,并对其进行排序和筛选,最终形成参考的上下文。
- 借助LLM与提示模板,输入上下文与原始问题,生成最终响应。local查询相比RAG会产生更大的上下文,所以一次query使用的token比普通的RAG要多不少。从它使用信息,可以看出loccal查询更适合针对具体事实的提问
global查询:

global模式采用了分布式计算中的Map-Reduce架构。可以简单概括为:
- MAP过程:根据用户输入问题与对话历史,查询指定层次结构上(community_level)的所有社区报告,对这些社区报告分成多个批次生成带有评分的中间响应(RIR),评分用来表示这个观点的重要性
- Reduce过程:对中间响应进行排序,选择最重要的观点汇总并作为参考的上下文,最后交给LLM生成最终响应结果
通过使用全局搜索,遍历整个图谱以总结主题和概念,global模式更适合处理摘要、总结类、相对抽象的问题。
5、GraphRAG vs RAG

6、LazyGraphRAG
微软研究院11月发布了GraphRAG迭代版本——LazyGraphRAG。核心亮点是极低的使用成本,其数据索引成本仅为现有GraphRAG 的。此外,LazyGraphRAG 引入了全新的混合数据检索方法,大幅提升了生成结果的准确性和效率。该版本将很快开源,并纳入到 GitHub GraphRAG 库中。
关键特点:
- LazyGraphRAG在数据索引成本方面大幅下降,仅为GraphRAG的0.1%。同时,其成本与向量RAG相当。
- 在与向量RAG相近的查询成本下,LazyGraphRAG在本地查询方面的性能超越了其他查询方法,包括GraphRAG已经提供的本地搜索(Local Search)与最新推出的DRIFT搜索。
- 相同配置下的 LazyGraphRAG 在全局查询中表现出与 GraphRAG 全局搜索(Global Search)相当的答案质量,但查询成本却降低了 700 多倍。

可以看到,两者最主要的区别是:
-
LazyGraphRAG推迟与减少了LLM的使用,特别是在原来消耗大量成本的索引阶段,LazyGraphRAG使用更加轻量级的NLP技术与Graph图分析方法,以提取关系与层次社区。
-
在查询阶段,LazyGraphRAG的方法是:
-
- 查询扩展。即RAG方法中的查询重写,生成子查询
- 对每个子查询借助LLM识别关联社区与相关文本片段
- 借助LLM对相关文本片段进一步筛选以形成参考上下文
- 生成最终答案
lazyGraphRAG 的核心思想是通过一种分阶段、迭代优化的方式,将 LLM 的调用推迟到最关键的步骤,并结合轻量化的技术大幅降低成本,同时维持高质量的查询结果。其“懒惰”的特性并不是降低功能,而是通过优化调用时机和操作流程,实现了更高效的查询和答案生成。
7、总结
看完这篇文章,相信小白们对 GraphRAG 已经有了清晰的认识。GraphRAG 凭借其独特的优势,在人工智能领域有着广阔的应用前景,未来会给我们带来更多惊喜。如果你还想深入了解 GraphRAG 的某部分内容,不妨告诉我,我们可以进一步探讨。
8、如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)