微信扫码
与创始人交个朋友
我要投稿
现有知识库属于传统意义上的RAG应用。近期领导和同事最常问的问题就是:
"GraphRAG调研怎么样了?"、"什么时候应该使用 GraphRAG ?"、"什么场景下应该使用传统RAG?"、"知识库使用的是传统RAG,如何与GraphRAG相结合呢?"
。为了系统地解答这些问题,我做了一些调研总结工作,对这些问题进一步的探讨。先从多个方面解释GraphRAG和传统RAG的区别,然后给出二者如何结合HybridRAG
的初步思路
。
点关注不迷路
区别项目 | 传统RAG | GraphRAG |
---|---|---|
检索机制 | 利用嵌入和向量数据库进行信息检索。 | 采用图形结构和图形数据库来管理数据。 |
上下文理解 | 缺乏对数据的全面理解,主要依赖于相似度得分。 | 通过捕获相关信息和相关实体来增强整体数据理解。 |
应用 | 最适合一般问答和简单的信息检索任务。 | 对于涉及结构化知识和复杂关系的复杂用例更有效。 |
复杂性 | 更易于实施和部署。 | 更复杂,需要知识图维护和管理。 |
可扩展性 | 高度可扩展和适应性。 | 扩展更复杂,需要修改图形结构。 |
维护 | 维护成本低,更新简单。 | 由于图形结构的复杂性,维护需求更高。 |
集成 | 更容易集成到现有系统中。 | 更复杂的集成,涉及图形数据库的管理。 |
学习曲线 | 有了向量和嵌入的基本知识,更容易掌握。 | 需要图谱分析和算法方面的额外专业知识。 |
成本 | 由于基础设施更简单,通常成本较低。 | 知识图谱维护与计算要求增加相关的成本更高。 |
优点 | 实施简单,检索时间更快。 | 在捕获复杂关系方面更出色,有效利用数据连接。 |
局限性 | 在捕获数据之间的复杂关系方面效率较低。 | 计算密集型,需要持续的图形管理。 |
区别项 | GraphRAG | 传统RAG |
---|---|---|
1)数据结构 | 图数据结构-四元组: - 实体节点 - 实体关系 - 实体属性 - 关系属性 | 文本块的形式: - 基于语义匹配文本块 |
示例 | 产品:华为P50 Pro 摄像头:莱卡四摄 品牌:华为 类别:智能手机 用户兴趣:高清摄影、适合游戏、旗舰机型 产品 属于 品牌 产品 属于 类别 产品 包含 用户兴趣 | 华为 P50 Pro是一款具备徕卡四射的华为旗舰机,搭载有XD Fusion Pro原色引擎、XD Optics计算光学技术、XD Fusion Pro超级滤光系统等华为影像技术,可以提升手机在拍摄时的成像质量。主摄采用了5000万像素原色镜头,可以记录拍摄场景的肉眼色彩观感。 |
小结 | 可以轻松寻找特定条件,如 "其他使用莱卡摄像头的手机" | 如果无明确匹配文本块,需要依赖逻辑代码处理查询 |
2)检索机制 | 示例: 用户询问:“有哪些适合长时间佩戴且有降噪功能的耳机?” - 从“耳机”节点开始,扩展到多个相关产品节点。 - 精准推荐既舒适又降噪的耳机。 | 示例:用户询问:“有哪些适合长时间佩戴且有降噪功能的耳机?” - 用关键词搜索匹配文本片段。 - 结果可能仅部分符合需求。 |
小结 | 处理复杂查询和跨特性检索更具优势 | 处理复杂查询时,结果可能不够精确 |
3)增量/海量数据 | - 添加新节点和关系,轻松整合新信息。 - 结构化和层级设计提高检索效率。 - 分层检索方式快速定位信息。 - 社区检测较为耗资源。 | - 存储数据可能需要重新整理文本块。 - 内容的多重版本存储。 - 增加检索性能压力。 - 复杂重排序算法增加复杂性。 |
4)全局性(QFS)任务 | - 使用社区检测算法识别不同社区。 - 使用大规模语言模型总结社区信息。 - 运用Map-Reduce算法整合信息。 - 更好理解隐性关系,准确理解上下文。 | - 找到包含关键词的文本片段。 - 难以将片段串联成连贯语义文本。 - 回答不够全面。 |
5)应用场景及问题复杂度 | 适合场景: - 社交网络、企业内部、医疗领域、法律数据、产品推荐。 查询需求: - 多跳关系查询、语义关联查询、知识推理查询、时序关联查询。 - 提供更强的导航和综合分析功能。 | 适合处理具体事实性问题,复杂关系处理能力较弱。 |
6)成本 | - 索引创建和查询处理复杂性大 - 需要更多时间和token数量 - 学习/构建图谱相关成本较高,适用于特定场景 | - 简单查询任务处理更经。 - 学习/构建时间成本和token数量较。 |
产品:华为P50 Pro
摄像头:莱卡四摄
品牌:华为
类别:智能手机
用户兴趣:高清摄影、适合游戏、旗舰机型
产品 属于 品牌
产品 属于 类别
产品 包含 用户兴趣
华为 P50 Pro是一款具备徕卡四射的华为旗舰机,搭载有XD Fusion Pro原色引擎、XD Optics计算光学
技术、XD Fusion Pro超级滤光系统等华为影像技术,可以提升手机在拍摄时的成像质量。主摄采用了5000万
像素原色镜头,可以记录拍摄场景的肉眼色彩观感。
小结:GraphRAG优势体现在,可以轻松地在图中寻找:
"其他使用莱卡摄像头的手机"
。相比较传统RAG如果没有明确符合这一需求的文本块,就需要依赖逻辑代码
来进行查询分解与处理计划。
以产品推荐系统为例,当用户询问:“有哪些适合长时间佩戴且有降噪功能的耳机?”
GraphRAG:查询从“耳机”节点开始,扩展到与耳机相关的多个产品节点。系统先查找与“佩戴舒适度”有关的特性,再筛选出具备“降噪功能”的耳机。通过这种多跳的关联查询方式,GraphRAG能精准推荐既舒适又降噪的耳机给用户。
而在传统RAG系统中,系统会用“智能手机”、“高质量视频”、“良好口碑”等关键词来搜索匹配的文本片段。但如果存储的文本没有同时涵盖所有关键词,结果可能仅部分符合需求,比如:推荐一款视频质量高但用户评价一般的手机。
因此,可以看出 GraphRAG 在处理复杂查询和跨特性检索时更具优势。
随着数据的增长,GraphRAG 可以通过添加新节点和关系,轻松整合新信息到现有知识图谱中,无需大幅调整原有数据。其结构化和层级设计让数据检索更高效。利用图遍历算法和层级导航技术,GraphRAG 能迅速聚焦目标信息,加快查询速度。
例如,用户可以从广泛的“电子产品”类别入手,逐步细化至“智能手机”,再到“适合游戏的高性能智能手机”。即使面对海量数据,这种分层检索方式也能通过有效导航快速定位所需信息。此外,GraphRAG 还能根据社区反馈和用户行为优化检索路径,提升准确性。不过,每当加入新数据时,GraphRAG 需要重新进行社区检测,这一步骤较为耗资源。
相比之下,传统RAG系统主要通过非结构化或半结构化的文本块来存储数据。随着知识库扩大,新增数据可能要求重新整理文本块,甚至导致内容的多重版本存储,这不仅降低存储效率,还增加管理难度。数据量的增加也会拖累检索性能,在处理复杂或模糊查询时,更容易受到无关数据的影响。
例如,当用户搜索“高性能智能手机”和“游戏”时,若数据库中有许多不相关的文本块,系统可能会返回大量冗余结果。为了排除这些无关内容,传统RAG系统可能需要使用复杂的重排序算法,这不仅增加了复杂性,还降低了检索速度。
GraphRAG 查询与传统方法相比,利用知识图谱的结构化特性来处理元信息问题,如“2023年市场上新发布的搭载 骁龙8Gen2 芯片的手机有多少款?”
GraphRAG:为非结构化文本设计了一套框架,旨在通过高层次的语义理解来解答总结性问题。它使用社区检测算法来识别知识图谱中的不同社区,并借助大规模语言模型对这些社区进行总结。GraphRAG还运用Map-Reduce算法,从不同年份的相关社区收集“高端智能手机”的信息,并整合这些信息以提供全面答案。
传统的RAG:可以找到包含“高端智能手机”、“发展趋势”或“近几年”等关键词的文本片段,但难以把这些片段串联成连贯的语义文本,导致回答往往不够全面。
小结:相比之下,GraphRAG能更好地理解知识图谱中的隐性关系,从而更准确地理解上下文;而传统RAG主要依靠显性文本匹配,对于隐性关系的理解能力较弱。
知识扩展: 元数据信息(Metadata)
是指描述其他数据属性的信息,比如创建日期、作者、位置和文件大小等,在数据管理中有重要作用。元信息问题
则是指那些需要查询或处理元信息的问题,例如:“这张照片是谁拍摄的?”、“这份报告是什么时候编写的?”。在知识图谱中,元信息可能包括实体的类型、属性及其相互关系,因此解决元信息问题通常需要从图谱中提取或推导相关元信息。
选择传统RAG
还是GraphRAG
应基于数据特性和查询需求,具体区别如下:
适合GraphRAG的数据特性:
另外考虑因素还包括查询需求:
对于上述
复杂查询
任务,GraphRAG提供了更强的概括
和综合分析
功能。而传统RAG则更适合处理具体事实性
的问题,在处理复杂关系方面的能力较弱。
尽管GraphRAG在数据语义扩展性上表现优异,但在实际应用中,其索引创建和查询处理过程中的复杂性和计算开销较大。特别是在构建索引阶段
,GraphRAG需要进行实体和关系的提取、生成描述信息、社区检测并生成摘要
;而在查询处理时,则需检索更多的节点、关系和社区信息。这些额外子查询对于简单的查询任务来说,尤其当传统RAG也能有效处理时,可能显得不够经济。
虽然GraphRAG生成的结果更详尽,但它所需的
时间成本
和token数量
(即LLM调用次数)几乎是传统RAG的数倍。因此,在使用GraphRAG时,需要权衡其性能与成本,确保在适当的场景中发挥其优势。
从评测结果中我们可以看到:
HybridRAG在忠实度和答案相关性方面表现最好
GraphRAG在上下文精度方面表现最佳
VectorRAG和HybridRAG在上下文召回率方面达到了满分 这些结果表明,HybridRAG通过结合VectorRAG和GraphRAG的优点,实现了更平衡和有效的性能。
为了更好地理解HybridRAG的优势,让我们来看一个具体的例子: 假设关于某公司财务状况的问题:"公司2023年第二季度的净利润是多少?"
VectorRAG可能会检索到包含"2023年第二季度"和"净利润"这些关键词的文本段落;
GraphRAG可能会在知识图谱中找到"公司-财务指标-净利润"这样的路径,并提取相关数据;
HybridRAG则会同时利用这两种信息:从向量检索中获取更广泛的上下文,如公司整体财务状况的描述从知识图谱中获取精确的数值信息和相关实体间的关系。
最终,HybridRAG生成的答案
可能会是:"根据公司2023年第二季度财报,净利润为1000万美元,较上年同期增长15%。这一增长主要得益于公司在新兴市场的扩张和成本控制措施的实施。"
HybridRAG生成的答案不仅提供了准确的数字信息,还包含了相关的背景和解释,展示了HybridRAG融合不同来源信息的能力。
总体而言,GraphRAG在处理复杂且高度关联的数据集及需要深度关联理解的查询时,展现了强大能力。它提高了信息查找的准确性和深度,尤其适用于多级分析和推导的场景
。不过,这种性能提升也增加了系统的复杂度和资源消耗
。因此,在决定是否采用GraphRAG前,必须仔细评估具体应用场景、数据结构及常见的查询模式。
在以下情况下,传统RAG仍是更优选择:
在实际应用中,单一的搜索策略往往难以满足所有需求。为了达到最佳效果和准确性,可以考虑建立一个
智能路由
,该系统根据问题类型和数据特点,动态选择最合适的多路召回策略
。关键是构建一个强大的路由机制(借助LLM),以便智能地引导查询至最佳搜索路径。
在GraphRAG与标准RAG之间查询性能的表现会根据具体的应用场景有所不同,整体来看,两者之间的结果并无显著差异。因此,在选择使用GraphRAG还是标准RAG时,应基于具体的使用案例来决定。鉴于标准RAG具有较低的复杂性和成本优势,建议在初期测试阶段优先考虑使用标准RAG。然而,对于需要处理大规模文本以及要求更为详尽答案的情形,GraphRAG可能会带来更概括、更全面的答案。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-11-23
RAG 2.0性能提升:优化索引与召回机制的策略与实践
2024-11-22
RAG技术在实际应用中的挑战与解决方案
2024-11-22
从普通RAG到RAPTOR,10个最新的RAG框架
2024-11-22
如何使用 RAG 提高 LLM 成绩
2024-11-21
提升RAG性能的全攻略:优化检索增强生成系统的策略大揭秘 | 深度好文
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
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