在 4.1 和 4.2 节中,哪怕使用了最时髦的稠密向量查找+纯文本 BM25 稀疏匹配(混合搜索),RAG 系统依然会遭遇工业界的两大史诗级滑铁卢:
- “挤牙膏式”提问:用户常扔出一个惜字如金的“请假规定”。系统拿着这 4 个字去浩如烟海的合同里算向量夹角,它根本不知道用户想查的是病假流程还是年假天数。
- “大海捞针式”长线逻辑:用户问“分析苹果过去三年高管变动的连锁影响”,普通的 Chunking 切块策略会把不同年份的新闻切成数千块碎片。向量库能命中所有的碎片,但 AI 根本无法将其倒推连接成一张宏大的关系网。
在这节,我们将深入到图谱中 P1 级别的两件镇山之宝:HyDE 生成假答案与颠覆性的 GraphRAG 知识图谱。
1. 扩充用户的嘴替:Query Expansion 与 Multi-Query
最粗暴的解决“提问太短”的策略,就是不要直接拿用户的原话去搜。 我们在用户提问和数据库中间,偷偷插一个大模型(开销极低的小模型即可)把它当翻译官:
- Query Expansion(查询扩写):用户输入“劳动法”,模型在后台把它自动扩写成“中国劳动合同违约金赔偿标准及员工维权流程”。用这句丰满的话再去搜,召回精准率暴增。
- Multi-Query Retrieval(多维度并发):有时候用户的意图是薛定谔的猫。AI 拿到用户的“服务器崩了怎么办?”后,直接生成五条不同视点的变体:
- “Nginx 502 报错排查”
- “Linux 服务器宕机重启流程”
- “如何检查应用服务进程 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 的工作流:
- 生成假象(Hypothetical):用户问“苹果公司 2021 年发生了啥大事?”。此时不查库,直接让大模型发挥自带的“幻觉”硬答,它可能会瞎编:“2021年苹果或许发布了M1芯片,并在第三季度换了CFO...”。
- 用魔法打败魔法:我们把这段错漏百出的假答案,打包送进 Embedding 机器变成向量。
- 精准命中:奇迹发生了——因为生成的假答案在结构、长度和词语分布上(长得很像真正的企业研报文档),它在向量空间里的距离,反而离库里真实的研报文档非常近!
比起拿着短短两句干瘪的提问去数据库里碰运气,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.)]