HyDE :让 RAG 检索从"匹配关键词"升级到"理解意图"

简介: HyDE(假设文档嵌入)是一种提升RAG检索效果的创新方法:不直接检索与查询相似的文档,而是先让LLM生成“理想答案”的假设文档,再对其嵌入检索。它绕过关键词匹配局限,聚焦语义意图,显著改善术语差异大、查询表述多样等场景下的召回质量,代码改动小、效果提升明显。

做过检索增强生成(Retrieval-Augmented Generation,RAG)的人大概都遇到过这样的情况:用户问了一个完全合理的问题,但检索就是漏掉了最相关的信息。

传统 RAG Pipeline 不弱,但它严重依赖查询和文档分块之间的直接相似度匹配。措辞和文档内容只要写法不一样这套就开始失灵。

Hypothetical Document Embeddings(HyDE) 不是"搜索文档",而是让系统在检索开始之前,先想清楚理想答案应该长什么样。

传统检索的问题

大多数 RAG 系统的流程很简单:

 Query → Embedding → Vector Search → Retrieved Chunks → LLM Response

向量数据库根据语义相似度去检索,但相似不等于相关。

举个例子:

 Query:
 "How can LangSmith help monitor LLM applications?"

如果存储的分块里从来没出现过 "monitor"、"tracking" 或 "observability",哪怕文档里其实写过答案,检索质量也会掉下来。

由此带来三类典型问题:对未见过的查询检索效果差;在领域专有术语上表现弱;不相关的上下文被送进了 LLM。检索一旦失败,生成基本也跟着崩。

什么是 HyDE

HyDE 是 Luyu Gao 提出的检索技术,思路是:在向量检索之前,先生成一份假设的答案文档。

不是直接把用户查询拿去做 Embedding,而是这样:

 User Query
      ↓
LLM generates hypothetical answer/document
      ↓
Create embedding of that hypothetical document
      ↓
Search vector database using this richer embedding
      ↓
 Retrieve better context

核心想法非常简单:生成出来的假设文档,比原始的短查询承载了更丰富的语义。检索系统据此搜索的是"上下文意图",而不只是关键词层面的相似度。

HyDE 内部是怎么跑的

完整流程如下。

1、用户提交查询例如:

 "What is LangSmith and why do we need it?"

2、LLM 生成一份假设文档

LLM 写出一段可能回答这个问题的合成文本。

例如:

 "LangSmith helps developers monitor, debug, and evaluate LLM applications..."

这份文档并不要求事实完全正确,它要表达的是"一个有用答案大致长什么样"。

3、生成 Embedding

把假设文档转成向量。这个向量通常比直接对原始查询做 Embedding 信息密度高得多。

4、执行向量检索

用这个 Embedding 去向量数据库里做相似度搜索:

 Hypothetical Embedding → Similarity Search → Relevant Documents

检索关注的是概念上的相关性,而不是浅层的关键词匹配。

5、生成最终答案

检索到的文档进入 RAG 的生成阶段,从而拿到更准确、更贴合上下文的回答。

这个设计的妙处在于不需要重新训练检索模型。改变查询的表达方式,就能改善检索质量。

LangChain 实现

HyDE 之所以流行起来,原因之一是用 LangChain 有现成的实现我们可以直接拿来用

 fromlangchain.embeddingsimportOpenAIEmbeddings
fromlangchain.chat_modelsimportChatOpenAI
fromlangchain.chains.hyde.baseimportHypotheticalDocumentEmbedder

llm=ChatOpenAI(
    temperature=0
)

base_embeddings=OpenAIEmbeddings()

hyde_embeddings=HypotheticalDocumentEmbedder.from_llm(
    llm=llm,
    base_embeddings=base_embeddings,
    prompt_key="web_search"
)

query="What is LangSmith and why do we need it?"

 embedding=hyde_embeddings.embed_query(query)

LLM 生成假设答案;答案被 Embedding;Embedding 用于检索。代码改动很小,但检索效果可能有不小的提升。

总结

HyDE 在 RAG 应用里尤其有用,特别是:文档很长;术语与用户表述差异大;检索质量不稳定。

传统 RAG 搜索的是"与查询相似的文档",HyDE 搜索的是"与理想答案相似的文档"。一个小小的视角切换,让检索明显聪明了不少。

https://avoid.overfit.cn/post/a90afc30978644d58d6dbcf809c457a8

by Mangesh Jadhav

目录
相关文章
|
6月前
|
数据采集 人工智能 测试技术
LLM-as-a-judge有30%评测偏差?这篇论文给出修复方案
KRAFTON AI研究揭示,用LLM评估LLM存在高达30%的系统性偏差,导致性能排名失真。评判模型的敏感性与特异性不均衡,使分数偏离真实水平。论文提出基于Rogan-Gladen估计器的校正方法,结合小规模标注数据校准偏差,并量化不确定性,提升评估可靠性。结果表明,未经校正的排行榜可能误导研发方向。评估自动化需以统计严谨为前提,校准不是可选而是必需。
599 5
LLM-as-a-judge有30%评测偏差?这篇论文给出修复方案
|
3月前
|
传感器 人工智能 运维
AgentRAG三大核心能力:意图识别+任务规划+经验库问答
AgentRAG创新性融合ReAct Agent、知识库与Skill,以意图识别、任务规划、经验库问答三大能力,破解传统RAG答非所问、难解复杂问题、无法复用企业经验等痛点,让AI真正懂业务、可落地、易部署。(238字)
435 0
|
3月前
|
人工智能 缓存 固态存储
投机解码原理详解:小模型打草稿,大模型一次验证
生产环境中,推理成本远超训练——自回归解码受制于内存带宽墙,70B模型在H100上每token需700亿次计算。投机解码(2026年已成标配)用小模型“猜词+大模型并行验证”,严格保质提速2–2.5倍;SSD更进一步,复用大模型浅层自生成草稿、构建回滚树,接受率提升、显存零新增。vLLM已原生支持,开箱即用。
548 2
投机解码原理详解:小模型打草稿,大模型一次验证
|
1月前
|
人工智能 Oracle 机器人
推理 → 行动 → 观察:用 LangChain + Python 实现一个智能体循环
智能体循环(Agentic Loop)突破单次问答局限,通过“推理→行动→观察”迭代闭环,让AI能自主分解任务、调用工具、持续优化直至目标完成,是构建真正自动化智能体的核心架构。
331 9
推理 → 行动 → 观察:用 LangChain + Python 实现一个智能体循环
|
2月前
|
人工智能 自然语言处理 安全
阿里云上线团队版Token Plan:一站式多模型订阅,解决企业规模化AI使用难题
阿里云上线团队版Token Plan,内置Qwen3.6、Kimi-K2.6等十余款主流多模态模型,支持坐席灵活分配、成本管控与多租户隔离,兼容Qoder、Cursor等主流Agent工具,提供标准/高级/尊享三档套餐,一站式解决企业AI规模化使用痛点。
374 1
|
2月前
|
人工智能 定位技术 数据库
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
2026 RAG选型指南指出:Vector RAG已难胜任复杂场景;GraphRAG通过知识图谱支撑多跳关系推理,Vectorless RAG则摒弃向量库,依托文档树结构+LLM导航实现高精度定位。三者非替代,而应按问题类型智能路由——Adaptive RAG成企业新范式。
351 3
2026 RAG 选型指南:Vector、Graph、Vectorless 该怎么挑
|
2月前
|
NoSQL 测试技术 Redis
构建一个可自我改进的多 Agent RAG 系统:架构、评估,以及带人工审核的 Prompt 反馈闭环
本文提出一种可审计、可改进的多Agent RAG系统:通过Orchestrator动态编排分解、检索、批判与合成Agent,结合Token预算管控、溯源式答案生成及SSE实时可观测性;首创Prompt自我改进闭环——自动定位薄弱维度、生成结构化改写、并经回归检测+人工审批上线,兼顾LLM系统质量与工程严谨性。
259 2
构建一个可自我改进的多 Agent RAG 系统:架构、评估,以及带人工审核的 Prompt 反馈闭环
|
3月前
|
JSON 前端开发 关系型数据库
2026年的 ReAct Agent架构解析:原生 Tool Calling 与 LangGraph 状态机
本文介绍2026年演进版ReAct架构下的Research Brief Agent:摒弃脆弱的字符串解析(如"Thought:/Action:"),采用原生结构化工具调用(JSON Schema)、消息账本式State管理、自动引用提取与Postgres持久化,实现可复现、可审计、带真实URL引用的自动化研究简报生成。
423 2
2026年的 ReAct Agent架构解析:原生 Tool Calling 与 LangGraph 状态机
|
3月前
|
自然语言处理 运维 算法
BM25 + Vectors:为什么真实 RAG 系统通常两者都需要
RAG系统先检索文本块(chunks)再生成答案。Chunk质量与检索策略直接影响效果:结构感知切分保语义完整;BM25擅精确标识符匹配,向量检索强于语义理解;混合检索(Hybrid+RRF融合+元数据过滤+重排序)可兼顾精度与泛化,适配多样技术查询。
209 0