一句话带走先让大模型想象答案再用答案去搜短查询召回率直接涨20%。事情从一次翻车说起上周三同事跑过来跟我吐槽他做的内部文档RAG用户搜怎么报销差旅费命中的全是《差旅管理制度》这种标题党文档真正讲报销流程的那篇排在第十开外。用户不爽老板不爽他更不爽。我看了眼他的查询日志发现问题很明显用户的查询太短了。“怎么报销差旅费”——七个字。而他的知识库文档呢动辄几千字讲报销流程、审批层级、发票要求。拿七个字的query的embedding去跟几千字文档的embedding算余弦相似度说白了这是拿一句话去猜一篇文章的意思。向量模型不是神仙短查询和长文档在向量空间里根本不在一个密度带上。这个问题有个名字叫query-document不对称。而解法说来有点反直觉先让大模型瞎编一个答案。HyDE是什么让LLM先想象答案HyDE全称Hypothetical Document Embeddings2022年那篇论文《Precise Zero-Shot Dense Retrieval without Relevance Labels》提出的。原理一句话讲完与其拿问题去搜不如先让大模型生成一个假设性答案拿这个假答案的向量去搜真文档。听着离谱假答案里全是幻觉拿幻觉去检索不是越搜越偏不是。关键在于我们不需要假答案是对的只需要它长得像真答案。向量检索匹配的是语义分布不是事实。LLM幻觉出来的那段话即使细节全错它的用词、句式、术语密度——都和真正的答案文档高度相似。embedding空间里它就落在真文档附近。而用户那句干巴巴的怎么报销差旅费离真文档远得多。画个图你就懂了也就是说HyDE做了一次语义翻译把用户的口语化提问翻译成文档的语言风格。翻译过程允许出错因为embedding只在乎风格像不像不在乎事实对不对。我的实测20%不是吹的光讲原理没意思我拿自己的Wiki-RAG知识库大概1200篇文档跑了一组对比实验。跑之前我心里也没底——论文数字看着漂亮到自己头上是不是另一回事谁知道呢。实验设置测试集60条真实查询一半口语化短查询一半专业术语长查询底座bge-m3 embedding Qdrant向量库对比原始查询 vs HyDE改写后的查询各取top-10指标Recall10标准答案文档是否出现在前10结果分两组看。第一组短查询、口语化查询32条查询方式Recall10原始查询61%HyDE改写83%将近22个点的提升。尤其是那种这玩意儿咋配置式的模糊提问提升最猛——因为原始query的embedding几乎是噪声HyDE等于免费做了一次查询扩写。第二组长查询、专业术语查询28条查询方式Recall10原始查询79%HyDE改写74%掉了5个点。没看错HyDE不是万金油。长查询本身信息量够、术语准确embedding质量已经很好了让LLM再想象一遍反而可能引入术语漂移——比如把k8s Pod资源限制幻觉成容器内存配额语义分布反而偏了。这个结果出来的时候我盯着屏幕愣了半天。合着前面短查询赚的那波在长查询这边又赔回去一部分。天下真没有免费午餐只有性价比高低。⚠️ 踩坑提醒HyDE对专业术语域法律条文、医学、内部代号要慎用。LLM对这类黑话的掌握往往不准它幻觉的答案文档和真文档的术语对不上检索反而变差。上线前一定拿自己的查询分布做AB测试别照搬论文数字。代码就十几行核心实现简单得离谱没有框架依赖from openai import OpenAI client OpenAI( base_urlhttps://api.deepseek.com, api_keyYOUR_KEY ) def hyde_search(query: str, vector_db, top_k: int 10): # 1. 让LLM生成假设性答案注意不要限制它必须正确 prompt f请直接回答下面的问题写一段100字左右的技术性回答\n{query} fake_doc client.chat.completions.create( modeldeepseek-chat, messages[{role: user, content: prompt}], ).choices[0].message.content三个工程细节都是我踩出来的一、生成提示词别写请准确回答。写了反而让模型输出一堆免责声明和我不确定污染embedding。就要它自信地编。二、别只依赖HyDE。我的线上做法是原始query和HyDE各搜一次结果用RRF倒数排序融合合并两边的好处都拿到。纯HyDE上线有风险——LLM抽风的那一次检索就全废了。三、延迟成本要算账。HyDE多一次LLM调用DeepSeek这边大概加600到900毫秒。对实时对话场景感知明显对后台批处理无所谓。预算紧的项目建议只在夜间跑的批量入库、离线评测这些场景先用起来线上再慢慢灰度。和ReRank是什么关系很多人搞混上个月我写过一篇ReRank选型的文章后台好几个人问HyDE是不是就是ReRank的替代品不是。这俩在管线里站的位置完全不同。ReRank在检索之后向量检索先粗筛100条rerank模型精排选出top-10。它优化的是排序质量。HyDE在检索之前查询还没进向量库先被改写了一遍。它优化的是召回质量。两者不冲突可以叠着用HyDE改写查询 → 向量粗筛 → ReRank精排。我的实测里这套组合拳打完Recall10比裸RAG高了27个点代价是多了约一秒延迟。如果你的问题出在该找的文档压根没进候选池先上HyDE如果该找的文档进了池子但排不到前面先上ReRank。先诊断再吃药。结尾我现在的判断标准很简单用户查询平均长度低于15个字、或者日志里全是这个怎么弄、帮我看看这类自然语言的系统HyDE基本是免费午餐。查询本身已经是精准术语的系统别折腾收益大概率是负的。你的RAG系统里用户的真实查询长什么样翻一下查询日志如果短得可怜——先别急着换embedding模型试试HyDE可能十几行代码就够。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
企业数字化 ERP 产品动态
相关推荐
车载以太网转换盒拆解:100BASE-T1转100BASE-TX方案对比 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 5:47:11
超实用Word合并工具,解决办公汇总烦恼 真心安利这款办公刚需工具!平时工作需要整合多个Word文件,手动拼接不仅耗时,排版错乱、行距混乱是常有的事。 这款Word合并工具特别贴心,支持批量导入多个文档统一合并,还能随意调整每个文件的排列顺序,想… · 2026/9/24 5:46:53
高通QFIL与9008模式详解:从救砖原理到分区备份实操 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 5:46:53
被谷歌手动处罚了还有救吗?有,但九成人死在申诉这一步:完整流程照着走 排名突然暴跌,你慌慌张张打开 Search Console,结果看到一张红色的"手动操作"通知——谷歌真人审核员,亲手给你下了处罚。第一反应可能是:"完了,这站是不是没救了?"先别绝望。手动处罚不… · 2026/9/24 6:39:45
Keil MDK许可证错误排查与Arm Compiler配置实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:39:21
Claude Opus 5.5 发布:更强且价降 40% Claude Opus 5.5 发布:更强且价降 40%
2026年9月22日,Anthropic 发布 Claude Opus 5.5,这是 Claude 5.5 家族的第一个成员。它把上一代 Opus 5 的 token 单价下调约 20%、缓存读取砍掉 60%,典型任务总成本反而比 Opus 5 低约 40%… · 2026/9/24 6:39:02
NLP-情感分析项目(三):RNN模型搭建 情感分析项目代码详解(三):textrnn.py 模型搭建前两篇完成了数据准备:词汇表建好了,文本也变成了定长的数字序列,还写好了分批读取的迭代器。这一篇开始搭建真正的"大脑"——情感分类模型。textr… · 2026/9/24 6:38:56
DAB双有源桥变换器:移相控制与软开关的工程实践指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 6:38:38
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44