图(Graph)能够编码大量的异构和关系信息,很契合众多现实世界应用,将Graph与RAG结合获得了越来越多的关注。2025开年,由MSU与Meta、Amazon、Adobe等出品了GraphRAG最新技术综述。
与RAG不同,其检索器、生成器的特殊设计,图结构数据的独特性为不同领域GraphRAG设计带来独特挑战,需要一个GraphRAG全面综述。
RAG与GraphRAG之间的区别。RAG处理文本和图像数据,这些数据可以统一格式化为1D序列或2D网格,不包含关系信息。相比之下,GraphRAG处理图结构数据,涵盖了多种格式并包含特定领域的关系信息。
通过定义GraphRAG关键组件,包括查询处理器、检索器、组织者、生成器和数据源,提出了一个完整的GraphRAG框架。此外,回顾了针对每个领域(Knowledge、Document、Social、Tabular、Reasoning等)独特定制的GraphRAG技术。
不同领域中GraphRAG的发表情况
全面的GraphRAG框架
提出了一个全面的GraphRAG框架,旨在通过检索和生成技术来增强下游任务的执行。这个框架的核心在于利用图结构数据的特性,以提高信息检索、数据挖掘和机器学习任务的性能。
GraphRAG的全面框架及其关键组件的代表性技术
GraphRAG框架的关键组件
-
查询处理器(Query Processor):负责预处理用户定义的查询,使其能够与图数据源进行交互。
-
检索器(Retriever):根据预处理后的查询从图数据源中检索相关内容。
-
组织者(Organizer):对检索到的内容进行整理和优化,以提高生成器的性能。
-
生成器(Generator):根据组织后的信息生成最终答案。
查询处理器
在GraphRAG框架中,Query Processor是一个关键组件,它负责对用户输入的查询进行预处理,以便与图数据源进行交互。
查询处理器主要功能:
-
实体识别:从查询中识别出实体,并将其与图数据源中的节点相匹配。
-
关系抽取:识别查询中的关系,并将其与图数据源中的边相匹配。
-
查询结构调整:将自然语言查询转换为结构化查询,如GQL(Graph Query Language)。
-
查询分解:将复杂的查询分解为多个子查询,以便进行多步推理。
-
查询扩展:通过添加相关术语来丰富查询,以提高检索的准确性和相关性。
1. 实体识别(Entity Recognition)
-
目标:识别查询中的实体,并将其与图数据源中的节点相匹配。
-
技术:包括基于规则的方法、无监督学习方法、基于特征的监督学习方法和深度学习方法。
-
深度学习方法:如EntityLinker和基于LLM的提取,能够识别查询中的实体类型,进一步指导检索器识别匹配类型的节点。
2. 关系抽取(Relational Extraction)
-
目标:从查询中识别关系,并将其与图数据源中的边相匹配。
-
技术:包括文本表示、上下文编码和三元组预测。
-
在GraphRAG中的应用:用于构建图数据源和匹配查询中的关系,以指导图搜索。
3. 查询结构调整(Query Structuration)
-
目标:将自然语言查询转换为结构化查询,如GQL。
-
技术:利用预训练和微调的LLM生成结构化查询。
-
示例:Cypher、GraphQL和SPARQL等GQL工具,用于与属性图数据库进行复杂交互。
4. 查询分解(Query Decomposition)
-
目标:将复杂的查询分解为多个子查询,以便进行多步推理。
-
技术:构建问题图,其中每个子查询表示为图中的三元组。
-
示例:Park等人通过构建问题图来增强查询分解,提高多步推理和规划任务的性能。
5. 查询扩展(Query Expansion)
-
目标:通过添加相关术语来丰富查询,以提高检索的准确性和相关性。
-
技术:包括基于LLM的查询扩展,利用图中提到的实体的邻居节点来扩展查询。
-
示例:Xia等人通过利用图中提到的实体的邻居节点来扩展查询,Wang等人通过预定义模板将查询转换为多个子查询。
检索器
在GraphRAG框架中,检索器(Retriever)是负责从图数据源中检索相关信息的关键组件。
检索器主要功能:
-
检索内容:根据预处理后的查询从图数据源中检索相关内容。
-
适应图结构数据:能够处理图结构数据的多样性和复杂性,包括不同格式和来源的信息。
-
多跳遍历:支持多跳遍历,以捕获逻辑上相关的知识。
-
领域特定设计:根据不同领域的特定需求进行设计,以提高检索的准确性和效率。
1. 基于规则的检索器(Heuristic-based Retriever)
-
实体链接(Entity Linking):将查询中的实体与图数据源中的节点进行匹配。
-
关系匹配(Relational Matching):将查询中的关系与图数据源中的边进行匹配。
-
图遍历(Graph Traversal):从已识别的节点和边开始,通过图遍历算法(如BFS或DFS)扩展检索范围。
-
图核(Graph Kernel):使用图核来衡量图之间的相似性,进行图级别的检索。
2. 基于学习的检索器(Learning-based Retriever)
-
浅层嵌入方法(Shallow Embedding Methods):如Node2Vec和Role2Vec,用于学习节点、边和图的嵌入。
-
深层嵌入方法(Deep Embedding Methods):如图神经网络(GNNs),用于学习节点、边和图的嵌入,同时考虑结构信号和语义特征。
3. 高级检索策略(Advanced Retrieval Strategies)
-
集成检索(Integrated Retrieval):结合符号和神经检索方法,提高检索效果。
-
迭代检索(Iterative Retrieval):通过多步检索操作,共享因果依赖,如因果、资源和时间依赖。
-
自适应检索(Adaptive Retrieval):根据查询的需要,自适应地调整检索的深度和广度。
组织者
在GraphRAG框架中,**组织者(Organizer)**负责处理检索器检索到的内容,将其与预处理后的查询结合,以生成更适应生成器(Generator)消费的格式。
组织者主要功能:
-
内容优化:对检索到的内容进行后处理和优化,以提高其质量。
-
图结构处理:处理检索到的图结构数据,包括图剪枝、重排序和图增强。
-
文本化:将检索到的图结构数据转换为文本格式,以便生成器可以处理。
组织者相关技术:
1. 图剪枝(Graph Pruning)
-
语义剪枝:根据查询的语义相关性去除节点和边。
-
语法剪枝:从语法角度去除无关节点。
-
结构剪枝:基于图的结构属性去除节点和边。
-
动态剪枝:在训练过程中动态去除噪声节点。
2. 重排序(Reranking)
-
基于信息的重排序:根据检索到的信息的相关性进行重排序。
-
基于模型的重排序:使用预训练的模型对检索到的信息进行重排序。
3. 图增强(Graph Augmentation)
-
图结构增强:向检索到的图中添加新的节点和边。
-
图特征增强:丰富节点和边的特征。
4. 文本化(Verbalizing)
-
线性文本化:使用预定义的规则将图转换为文本。
-
模型驱动的文本化:使用预训练的模型将图转换为文本。
生成器
在GraphRAG框架中,**生成器(Generator)**是负责根据查询和检索到的信息生成最终答案的关键组件。生成器的任务是将组织者处理后的信息转化为具体的输出,这些输出可以是文本、图像、数值或其他形式的数据,取决于具体的应用场景。
生成器主要功能:
-
生成最终答案:根据查询和检索到的信息生成具体的输出。
-
适应不同任务:能够处理多种任务,如分类、生成、预测等。
-
利用图结构信息:能够理解和利用图结构数据中的关系和模式。
生成器相关技术:
1. 基于判别式模型的生成器(Discrimination-based Generator)
-
图神经网络(GNNs):用于节点、边或图的分类和回归任务。
-
图变换器(Graph Transformers):用于捕捉全局依赖关系。
2. 基于大型语言模型的生成器(LLM-based Generator)
-
文本化:将检索到的图信息转换为文本格式,以便LLM处理。
-
嵌入融合:将图嵌入和文本嵌入融合到LLM中。
-
位置嵌入融合:将节点的位置信息添加到LLM中。
3. 基于图的生成器(Graph-based Generator)
-
分子生成:用于生成或设计新的分子结构。
-
图扩散模型:用于生成新的图结构,如分子图。
-
SE(3)-equivariant图神经网络:确保生成的分子结构在空间变换下保持不变。
每个领域中GraphRAG的任务应用和示例查询的总结
https://arxiv.org/pdf/2501.00309``https://github.com/Graph-RAG/GraphRAG/``Retrieval-Augmented Generation with Graphs (GraphRAG)
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓