微信扫码
与创始人交个朋友
我要投稿
近期,微软开源GraphRAG的新闻成为热门话题。GraphRAG (Graph-Augmented Retrieval-Augmented Generation) 是一种基于图的检索增强生成技术,结合了知识图谱和传统的检索增强生成(RAG)方法,旨在提升大语言模型处理私有数据集问答的能力。
本文从知识图谱的原理等角度,结合一个 GraphRAG 的生动类比,说明了为什么知识图谱+RAG 的方案优于传统的 RAG 方案。
作者介绍:Divyanshu Dixit,Divisin.ai 联合创始人
原文链接:https://div.beehiiv.com/p/knowledge-graph-rag-naive-rag
以下为译文:
01
什么是知识图谱?
你是否曾觉得自己的大脑充斥了一团乱麻般的随机事实?知识图谱模拟了我们大脑思考事物,以及事物间关系的方式,同时又规避了大脑会遗忘和错误决策等问题。
我们可以将知识图谱视为带了主语、谓语和宾语的三元组。它们将信息表示为一个由相互连接的实体组成的网络,以及实体之间的关系。本质上,知识图谱利用基于图的数据模型,其中节点代表实体(如人、地点或概念的主体和宾语),边表示这些实体之间的关系或谓语。
OpenSPG 是一个语义增强的可编程知识图谱,GitHub地址如下,欢迎大家Star关注~
https://github.com/OpenSPG/openspg
换句话说,你可以把知识图谱看做是对经典"六度分隔"理论的数据层面的呈现,而且它不仅仅是将你连接到 Kevin Bacon,而是在一个广阔而多维的关系网络中链接所有可能的实体。
图片来源:Langchain
知识图谱的真正魔力在于其近乎超自然的连接数据能力,而且灵活且可扩展。知识图谱能无缝整合各种数据源,包括结构化和非结构化数据。这种融合创造出信息的统一视图,常常揭示出隐藏的联系和模式。先进的知识图谱融合了本体和语义 Schema,为领域中的概念及其相互关系提供了正式的定义。
这个语义层提升了图谱的逻辑推理能力,支持诸如传递闭包这样的操作,可以根据已有的关系推导出新的关系。例如,如果图谱中包含"约翰住在旧金山"和"旧金山在加利福尼亚"的信息,即使没有明说,知识图谱也能正确地推断出"约翰住在加利福尼亚"这个事实。
图片来源:Neo4j 博客
02
知识图谱的应用场景
那么知识图谱的应用场景有哪些呢?
我们可以通过延时、持久性和查询类型这三个维度的框架,去理解知识图谱在各种应用场景中的多样化。在分析方面,知识图谱在处理即时查询和系统性分析方面表现出色,从实时的客户洞察到复杂的财务建模都能实现。
另外,知识图谱具有持久数据存储和快速检索的能力,这在复杂的推荐系统和以用户为中心的界面中至关重要。在算法方面,知识图谱非常擅长处理系统查询,尤其是高级自然语言处理和链路优化。这进一步佐证了我们之前提到的灵活性,即既能处理实时分析,又能支持持久的系统数据结构。
这也是为何去年年底知识图谱技术会这么流行的原因,也就引出了今天的话题——GraphRAG 才是王道!
03
什么是 GraphRAG?
今年 4 月,微软研究团队 GraphRAG 的论文一经发布,就得到了业界的关注。7 月初,Graph RAG 在 GitHub 上开源,短短半个月,star 数量就达到 12k!
那么,GraphRAG(GRAG)究竟是什么呢?下面我们将从 GraphRAG 的论文开始介绍:
图片来源:Arxiv,《GRAG: Graph Retrieval-Augmented Generation》
为了让你更容易理解,我和 Sonnet 3.5 一起头脑风暴讨论出了一个关于 GraphRAG 的形象解释:
GRAG 就像是信息世界中最优秀的城市规划师。传统的 RAG 方法就像游客随意向行人问路,而 GRAG 则是了解城市每个角落的市长。它不仅了解单个建筑(或信息片段),还能看到整个城市的全貌,牢记错综复杂的街道、街区和社区网络。这种鸟瞰式的视角让 GRAG 能够像一个熟知所有捷径的老司机一样,高效地在这些街道中穿梭。
图片来源:arXiv,《GRAG: Graph Retrieval-Augmented Generation》
GRAG 之所以引人注目,是因为它能够识别并探索任何给定问题的相关“街区”(子图)。利用其“软修剪”技术(主要针对无关信息),GRAG 可以清理这些邻域,去除杂乱无章的信息,突出最相关的特征。然后,通过同时运用城市规划语言(图结构)和地方方言(文本信息)的双重提示,GRAG 作出的回答不仅能捕捉事实,还能揭示城市景观的丰富背景和内在联系。这就好比从一位长期居住在本地的历史专家那里获取的内部信息,远胜于任何旅游指南所能提供的信息。
微软《From Local to Global》的论文,将其应用于聚焦查询的总结,用自然语言总结知识图谱的内容以便检索。沿用之前的类比,我们可以将 GraphRAG 看作是知识库(或城市)的高级城市规划和信息检索系统。这个系统的运行主要分为两个阶段:索引和检索。
在索引阶段,城市规划者(LLMs)首先将城市景观(原始文档)划分为可管理的区域(文本片段)。然后,他们调查每个区域,识别关键地标和连接(元素实例)——这就像标定重要的建筑物、公园以及连接它们的道路。这些个体元素随后被总结为简洁的描述(元素摘要),就像为每个社区地标创建简短的概况。
接着,利用先进的城市分析工具(如 Leiden 社区检测算法),规划者将这些元素分组为自然社区,就像在城市中识别出不同的街区或行政区一样。最后,他们为每个社区制作详细的“社区报告”(社区摘要),提供一个丰富、多层次的全城指南。通过索引阶段,我们就创建了一个全面、分层次的、从单个建筑到整个区域的城市景观理解。
图片来源:Arxiv,《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》
当需要进行检索时,GraphRAG 在处理全局范围的查询时表现出色。它不会向随机位置派遣调查员,而是参考预先准备的社区报告。每个社区以其本地视角对全局问题作出贡献,就像城市规划师结合各个行政区的反馈来理解全市趋势一样。这种方法在处理“全局”问题时特别有效,给到答案的广度和多样性方面都优于传统方法。
论文中还提到了一个非常有趣的结论,文本块的大小至关重要。例如,使用 600 个 token 比使用 2400 个 token 可以获得更多的提取实体(见上图)。但这需要做一些平衡,因为文本块太小可能会导致上下文信息丢失。
正如我们之前多次讨论过的,在使用大模型时,我们总是要在成本、延迟、隐私和准确性之间进行平衡。图的性能伴随着更多的 token 数量和推理时间,因此采用与否在很大程度上取决于具体的应用场景,以及基于图的摘要是否是最优方案。
图片来源: Gradientflow 博客
04
关键区别:GraphRAG vs PAPTOR
这时可能有人会问,GraphRAG 与目前 RAG 技术中常用的 RAPTOR 有何不同。可以沿用之前的比喻概括一下,如果把 RAPTOR 看作是建筑师在设计一栋多层的高楼,从每一层楼向下看,都能看到城市的不同细节:
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
打造自己的RAG解析大模型:表格数据标注的三条黄金规则
2024-11-13
RAGCache:让RAG系统更高效的多级动态缓存新方案
2024-11-13
Glean:企业AI搜索,估值46亿美元,ARR一年翻4倍
2024-11-12
从安装到配置,带你跑通GraphRAG
2024-11-12
蚂蚁 KAG 框架核心功能研读
2024-11-12
【RAG】浅看引入智能信息助理提升大模型处理复杂推理任务的潜力-AssisTRAG
2024-11-12
体验完百度世界2024上的iRAG,我觉得AI绘图也可以没有幻觉了。
2024-11-12
提升RAG文档效率,10种有效策略
2024-07-18
2024-07-09
2024-05-05
2024-07-09
2024-05-19
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21