当前位置: 首页 > news >正文

PathRAG:通过图剪枝的方法优化Graph-based RAG的性能方法浅析

PathRAG 也是一种新型 Graph-based RAG 方法,通过检索索引图中的关键关系路径,减少噪声并优化 LLM 提示。其核心创新在于基于流的剪枝算法和路径为基础的提示策略,特别适用于捕捉复杂数据集中的关系。(其实可以看做相比GraphRAG假如剪枝算法和路径提示策略,减少噪声并提升性能

三种Graph-based RAG对比总结(PathRAG、GraphRAG、LightRAG):

PathRAG:通过从索引图中检索关键的关系路径来减少冗余信息。PathRAG使用基于流的剪枝算法来识别和提取最相关的路径,从而减少噪声并提高生成答案的质量。(专注于关系路径的检索,通过流式剪枝算法识别最可靠的关系路径,并将这些路径转换为文本形式用于提示生成模型。这种方法能够更好地捕捉节点之间的关系。)

GraphRAG:通常通过社区检测算法对图进行分割,并从子社区中逐步聚合信息。这种方法可能会包含大量冗余信息,因为其使用了所有相关社区的信息。(主要依赖于社区检测和信息聚合,可能无法有效利用复杂的关系路径。)

LightRAG:采用双阶段检索框架,从局部和全局级别检索相关信息。虽然这种方法提高了检索效率,但仍然可能包含不必要的信息。(虽然也使用图结构,但其检索过程更侧重于快速检索,可能没有深入探索关系路径的潜力。)

下面再来看看PathRAG的方法。

PathRAG方法

包含三个主要阶段。1)节点检索阶段:根据查询中的关键词,从索引图中检索相关节点;2)路径检索阶段:我们设计了一种基于流程的剪枝算法,提取每对检索节点之间的关键关系路径,然后检索可靠性得分最高的路径;3)答案生成阶段:检索到的路径按照可靠性得分升序排列放入提示中,最后输入到大型语言模型中进行答案生成。

PathRAG 的方法论分为三个阶段,具体如下:

1. 节点检索
  • 从用户查询 q q q 中使用 LLM 提取关键词,记为 K q K_q Kq
  • 通过密集向量匹配(使用余弦相似度)检索相关节点,将节点和关键词编码为嵌入 X V X_V XV X q X_q Xq
  • 检索 N N N 个相关节点, N N N 可选值包括 {10, 20, 30, 40, 50, 60},结果子集为 V q ⊆ V V_q \subseteq V VqV,其中 V V V 是索引图的节点集。
2. 路径检索
  • 使用基于流的剪枝算法,从 V q V_q Vq 中的节点对 v start , v end v_{\text{start}}, v_{\text{end}} vstart,vend 提取关键关系路径,考虑距离感知。
  • 资源传播公式为:
    S ( v i ) = ∑ v j ∈ N ( ⋅ , v i ) α ⋅ S ( v j ) ∣ N ( v j , ⋅ ) ∣ S(v_i) = \sum_{v_j \in N(\cdot, v_i)} \frac{\alpha \cdot S(v_j)}{|N(v_j, \cdot)|} S(vi)=vjN(,vi)N(vj,)αS(vj)
    其中 α \alpha α 是衰减率,可选值包括 {0.6, 0.7, 0.8, 0.9, 1.0}; N ( v i , ⋅ ) N(v_i, \cdot) N(vi,) N ( ⋅ , v i ) N(\cdot, v_i) N(,vi) 分别是指向和来自 v i v_i vi 的邻居节点集。
  • 引入早期停止策略,当 S ( v i ) ∣ N ( v i , ⋅ ) ∣ < θ \frac{S(v_i)}{|N(v_i, \cdot)|} < \theta N(vi,)S(vi)<θ 时停止,实验中 θ = 0.05 \theta = 0.05 θ=0.05
  • 路径可靠性计算为:
    S ( P ) = 1 ∣ E P ∣ ∑ v i ∈ V P S ( v i ) S(P) = \frac{1}{|E_P|} \sum_{v_i \in V_P} S(v_i) S(P)=EP1viVPS(vi)
    其中 ∣ E P ∣ |E_P| EP 是路径 P P P 中的边数, V P , E P V_P, E_P VP,EP 分别是路径中的节点和边集。
  • 按可靠性 S ( P ) S(P) S(P) 排序,保留前 K K K 个路径, K K K 可选值包括 {5, 10, 15, 20, 25}。
  • 算法复杂度为 O ( N 2 ( 1 − α ) θ ) O(\frac{N^2}{(1-\alpha)\theta}) O((1α)θN2),其中 N ≤ 60 N \leq 60 N60,索引图节点数 ∣ V ∣ ∼ 1 0 4 |V| \sim 10^4 V104,计算效率较高。
3. 答案生成
  • 将选定路径转化为文本形式,路径文本通过连接节点和边块生成:
    t P = concat ( [ ⋯   ; t v i ; t e i ; t v i + 1 ; ⋯   ] ) t_P = \text{concat}([\cdots; t_{v_i}; t_{e_i}; t_{v_{i+1}}; \cdots]) tP=concat([;tvi;tei;tvi+1;])

  • 按可靠性升序排列路径,提示为:

    这种排序策略解决了“中间丢失”问题,确保 LLM 关注最相关信息(LLM使用 “GPT-4o-mini” 作为所有 LLM 组件,索引图与 GraphRAG相同。)。

实验结果

参考文献:PathRAG: Pruning Graph-based Retrieval Augmented Generation with Relational Paths,https://arXiv.org/abs/2502.14902)

code:https://github.com/BUPT-GAMMA/PathRAG

相关文章:

  • 第七章:Qt 实践
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-5.3.2实时配送范围计算(距离排序+多边形过滤)
  • 《PyCharm 重命名项目文件时遇到 java.io.IOException 的终极解决方案》
  • Jmeter下载安装配置及使用
  • ThinkPHP6用户登录系统的全过程
  • git操作
  • MAC查看自己真实IP命令
  • LINUX网络基础 [九] - IP协议
  • C语言_数据结构总结5:顺序栈
  • vue3自定义hooks遇到的问题
  • AIOPS架构师路径
  • Maven 私服 Nexus 简单使用
  • SSH 安全致命漏洞:渗透路径与防御策略
  • Python的文件
  • 使用dockerfile创建镜像
  • Ray|RLLib|Tune学习笔记
  • Windows10下docker desktop命令行操作指南(大部分也适用于Linux)
  • cu118 安装vllm 极简教程 踩坑笔记
  • PostgreSQL_安装部署
  • 基于ShuffleNet的雷达辐射源信号识别
  • 网站空间合同/软件定制开发平台
  • 珠海高端网站建设公司/国内免费域名注册网站
  • 网站设计书/如何快速提升自己
  • 公司网页网站建设/关键词seo资源
  • 幼儿园校园网站建设情况/郑州网络优化实力乐云seo
  • 网站建设技术规范及要求/小红书外链管家