跳到主要内容

4.3 检索进阶策略:HyDE假设生成与知识图谱GraphRAG

阅读需 6 分钟
wqz
脱下“关键词搜寻”的紧身衣

在 4.1 和 4.2 节中,哪怕使用了最时髦的稠密向量查找+纯文本 BM25 稀疏匹配(混合搜索),RAG 系统依然会遭遇工业界的两大史诗级滑铁卢:

  1. “挤牙膏式”提问:用户常扔出一个惜字如金的“请假规定”。系统拿着这 4 个字去浩如烟海的合同里算向量夹角,它根本不知道用户想查的是病假流程还是年假天数。
  2. “大海捞针式”长线逻辑:用户问“分析苹果过去三年高管变动的连锁影响”,普通的 Chunking 切块策略会把不同年份的新闻切成数千块碎片。向量库能命中所有的碎片,但 AI 根本无法将其倒推连接成一张宏大的关系网。

在这节,我们将深入到图谱中 P1 级别的两件镇山之宝:HyDE 生成假答案与颠覆性的 GraphRAG 知识图谱


1. 扩充用户的嘴替:Query Expansion 与 Multi-Query

最粗暴的解决“提问太短”的策略,就是不要直接拿用户的原话去搜。 我们在用户提问和数据库中间,偷偷插一个大模型(开销极低的小模型即可)把它当翻译官

  • Query Expansion(查询扩写):用户输入“劳动法”,模型在后台把它自动扩写成“中国劳动合同违约金赔偿标准及员工维权流程”。用这句丰满的话再去搜,召回精准率暴增。
  • Multi-Query Retrieval(多维度并发):有时候用户的意图是薛定谔的猫。AI 拿到用户的“服务器崩了怎么办?”后,直接生成五条不同视点的变体:
    1. “Nginx 502 报错排查”
    2. “Linux 服务器宕机重启流程”
    3. “如何检查应用服务进程 OOM” ... 拿这五句话去兵分五路全库搜索,把所有结果一并打散扔进咱们上节学的 Reranker (重排序器) 里筛洗,真正的答案必然插翅难逃。

[图片占位:(A clean, minimalist technical diagram on a solid white background. Use simple, crisp vector line art, monochrome or with very subtle minimal color accents. Flat design, no 3D effects, no clutter. Draw a single user text bubble branching out into three distinct, larger text bubbles before entering a database cylinder.)]


2. HyDE:先生成假答案,再按图索骥 (Hypothetical Document Embeddings)

这是一个听起来近乎魔法般的思想,由卡内基梅隆大学的研究人员提出:既然短问题在向量空间的匹配命中率低,我们不如让大模型强行“胡编乱造”一个假答案!

HyDE 的工作流

  1. 生成假象(Hypothetical):用户问“苹果公司 2021 年发生了啥大事?”。此时不查库,直接让大模型发挥自带的“幻觉”硬答,它可能会瞎编:“2021年苹果或许发布了M1芯片,并在第三季度换了CFO...”。
  2. 用魔法打败魔法:我们把这段错漏百出的假答案,打包送进 Embedding 机器变成向量。
  3. 精准命中:奇迹发生了——因为生成的假答案在结构、长度和词语分布上(长得很像真正的企业研报文档),它在向量空间里的距离,反而离库里真实的研报文档非常近!

比起拿着短短两句干瘪的提问去数据库里碰运气,HyDE 等于是画了一张犯人的清晰假想通缉令,再去海量的户籍库里面刷脸。

[图片占位:(A clean, minimalist technical diagram on a solid white background. Use simple, crisp vector line art, monochrome or with very subtle minimal color accents. Flat design, no 3D effects, no clutter. Draw a question mark icon creating a fake document silhouette. The fake document then points directly to a matching real document with a glowing border.)]


3. 撕碎文本边界:GraphRAG(知识图谱增强 RAG)

普通的 Chunking 文本切分存在致命短板——它破坏了逻辑网。 当你把一本书切成一页接一页的代码块时,“第一页提到的张三”和“第一百页提到的张三”在普通向量库中就是两个形同陌路的无关碎片。

要想解决这种宏观叙事的推理题,我们就不能再用“切猪肉”的方式对待数据,而是要使用后来居上的 GraphRAG(微软为首主推的架构体系)

GraphRAG 的运作体系:

  1. 抽丝剥茧(实体提取):在文档入库阶段,大模型先慢悠悠地通读全文。它不切块,而是极其耐心地把所有的实体(人、事物、公司、地点)和它们间的因果联系抽取出来:“张三 -> 任职 -> A公司”。
  2. 编织星图(构建图谱):无数个实体关系被绘制成一张巨大无边的神经网格拓扑图。这里不再是简单的相似度空间。
  3. 全局检索(社区总结):当用户问“张三这辈子做了什么?”时,图谱检索会瞬间锁定“张三”这个实体节点。接着,顺着他蔓延出去的那根隐形线索,把 A公司、B案件、C项目 全部像毛线团一样扯出来!

用普通 RAG,系统只能死板地回答:“文档里提到了三次张三,分别在 1990、1992、2001年”。 用 GraphRAG,系统能站在上帝视角回答:“张三早年在A公司历练,这件事导致他后来主导了C项目,深刻改变了行业。”

这便是下一代企业级知识中台(长上下文分析大厦)必定会采纳的钢架骨骼。

[图片占位:(A clean, minimalist technical diagram on a solid white background. Use simple, crisp vector line art, monochrome or with very subtle minimal color accents. Flat design, no 3D effects, no clutter. Draw a complex network of connecting dots and lines, with a magnifying glass zooming in on one cluster to reveal distinct interconnected nodes.)]


下一章预告: RAG 的机制从最原始的片段切割进化到了编织因果的神经计算网,看起来强大得无可救药了。 但是企业不是慈善家,一切的架构最终都要面临成本审判和质量考核。当用户问完问题发现答案牛头不对马嘴,你如何定位到底是 Embedding 断联,还是 Reranker 这个裁判没眼光,亦或是大模型脑抽出现了幻觉? 这涉及到极度关键的大道终局:4.4 RAG 专职评估:如何用 Ragas 科学测量幻觉与相关度。


下一章: 4.4 RAG 专职评估:用 Ragas 科学拦截幻觉报错

分享这篇文章
Loading Comments...