GraphRAG 退位,HG-RAG 雄起——给 RAG 装上层级指南针

lxiol
📝
HG-RAG 在 GraphRAG 基础上显式区分「结构边」(父子层级)和「关系边」(横向关联),四步流水线(实体解析→层级锚定→横向遍历→子节点抓取)替代语义相似度检索。图越大优势越大:large 图上 baseline 准确率 0.02 → HG-RAG 1.86,multi-hop 评分从 1.66 → 4.10。

原文链接:GraphRAG退位,HG-RAG雄起
作者:PaperRAG
论文:HG-RAG: Hierarchy-Guided RAG for Structured Knowledge Graphs
代码:Pranubot/HG-RAG(Python)


问 LLM「Voss 城在哪个国家」,dense RAG 找 top-10 相似节点,但 country 节点语义不够近没被召回,模型只能瞎猜。这就是平铺式 RAG 的致命伤:它假设知识是平的、无结构的。

崩塌模式:自洽但全错

更阴险的发现:图越大 baseline 准确率越低,幻觉率却没升

图规模 Baseline 准确率 幻觉率
Small (~18 节点) 1.00
Medium (~150 节点) 0.24
Large (~800 节点) 0.02 0.006

检索召回了错误节点,LLM 忠实地复述了错误内容——自洽但全错。光看幻觉率会以为系统没问题。

HG-RAG 核心抽象:两类边

HG-RAG 的核心创新是显式区分图上的两类边

边类型 含义 示例
结构边(contains) 父子层级 Planet → Country → City
关系边 横向关联 borders / trade_with / hostile / unfriendly / neutral

检索不靠语义相似度,靠锚点 + 方向

四步流水线

1
Query → ①实体解析 → ②层级锚定(k_up=2) → ③横向遍历(k_side) → ④子节点抓取(k_down)

第一步:Entity Resolution

LLM 扫 query 抽命名实体当锚点。失败时 4 级 fallback:

1
exact match → first-word match → fuzzy match(cutoff=0.5) → No entity

关键设计:fuzzy match 命中错误类型节点时(该要 country 却匹配到 city),静默回退到 ground-truth anchor——大图 name collision 场景的关键保险。

第二步:Hierarchy Anchoring(k_up=2)

从锚点沿 contains 边向上走两步,正好覆盖三层结构(City → Country → Planet)。

第三步:Lateral Traversal(k_side)

沿关系边横向扩展。关键工程取舍:子图硬 cap 15 节点,触到 cap 时 hostile 和 unfriendly 邻居永远优先于 neutral——对抗关系是最重要信息,不能被稀释。

第四步:Child Traversal(k_down=0)

按需向下抓子节点,默认关闭,只在 query 显式需要时开启。

序列化格式:

CityX is a city located in CountryY, on Planet Z + [PLANET]/[COUNTRY]/[CITY]/[RELATIONS] 分块标签

(试过箭头 notation,LLM 读不懂。)

实验结果

Mistral 7B 本地 Ollama 推理,三层合成世界。

指标 Small Medium Large
Baseline 准确率 1.00 0.24 0.02
HG-RAG 准确率 1.79 1.79 1.86
Baseline multi-hop 3.45 2.82 1.66
HG-RAG multi-hop 3.23 3.88 4.10

反直觉发现:图越大,HG-RAG 优势越大

  • Hierarchical 和 local_fact 上每个规模都满分 2.00
  • Multi-hop 评分:baseline 随规模退化(3.45→2.82→1.66),HG-RAG 随规模上升(3.23→3.88→4.10)

为什么小图拉不开差距?

  1. 小图 18 节点,15-node cap ≈ 整张图塞进去,过滤优势被稀释
  2. Baseline 在小图上噪音本就少
  3. 大图上 cap 成了有效过滤器,baseline 在数百候选中迷失

关键启示

  • 结构化知识该用结构化检索——语义相似度不是万能的
  • 幻觉率低 ≠ 答案对——dense RAG 在大图上会「自洽地全错」
  • 层级结构是信息——把结构边和关系边混为一谈等于扔掉最重要的导航信号

局限

  • 仅在合成三层世界上验证,真实 KG 更复杂
  • Mistral 7B 自评自审的偏差未消除
  • Name collision 场景依赖 ground-truth fallback
  • 标题: GraphRAG 退位,HG-RAG 雄起——给 RAG 装上层级指南针
  • 作者: lxiol
  • 创建于 : 2026-07-27 13:20:00
  • 更新于 : 2026-07-27 12:38:55
  • 链接: https://blog.lxiol.cn/2026/07/27/HG-RAG-层级指南针-GraphRAG退位/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。