概述
它弥合了简短问题与您实际想要找到的较长段落之间的差距。
深入探讨
HyDE 由 Gao 及其同事于 2022 年提出,用于无相关性标签的稠密检索。它要求遵循指令的语言模型生成假设的答案文档,使用无监督对比编码器(如 Contriever)对该文本进行嵌入,并在实际语料库中搜索相似的向量。即使其细节是错误的,假设的文档也可以提供类似文档的主题模式。该论文将稠密编码器描述为一个瓶颈,可以减少虚构细节的影响;但这并不保证错误绝不会影响检索。评估实际检索到的段落,而不是将生成的文本视为事实证据。HyDE 针对的是查询与文档的不匹配问题,并在测试的任务和语言中报告了强劲的结果,但这并不意味着它在所有训练过的检索器中都具有普遍优势。
现实世界的实施
在不存在标记查询通道训练数据的新领域中进行零样本检索
多语言搜索,在嵌入之前用目标语言生成假设答案
通过将简洁的用户问题扩展为丰富的伪文档来提高 RAG 召回率
研究和法律搜索,其中简短的查询需要匹配密集、行话较多的源段落
HyDE 假设文档嵌入的未来
HyDE 是高级 RAG 管道中的构建块,通常与重新排序和多查询生成相结合。期望生成多个假设文档并平均其嵌入以实现鲁棒性的变体,仅在原始查询检索不佳时触发 HyDE 的自适应使用,以及与更便宜的本地 LLM 更紧密的集成以减少延迟和成本。随着生成模型的改进,假设文档的质量以及检索的质量应该不断提高。
付诸实践
为什么这很重要
- 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
- 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
- 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。
留意
- 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
- 及时的敏感性可能会在类似的请求中产生不一致的结果。
- 如果访问控制薄弱,敏感文本数据可能会暴露。
后续步骤
- 在推出之前定义输出格式、语气和质量标准。
- 当准确性很重要时,请使用可信来源进行地面响应。
- 为高风险输出保留人工审查检查点。
- 跟踪故障模式并定期重新训练提示或工作流程。
不断探索
常见问题
什么是 HyDE 假设文档嵌入?
HyDE 通过首先要求语言模型想象一个虚假的答案文档,然后使用该文档的嵌入而不是原始查询进行搜索来改进检索。它弥合了短问题和您实际想要查找的较长段落之间的差距。
HyDE 在执行检索之前会生成什么?
HyDE 提示法学硕士撰写假设的答案文档,然后使用其嵌入来搜索真实的段落。
当 HyDE 的假设文档包含虚构细节时,编码器瓶颈的预期作用是什么?
论文将稠密瓶颈论证为过滤细节,但生成的错误仍然会改变表示和检索结果。
原始 HyDE 中使用哪种类型的嵌入模型来对假设文档进行编码?
HyDE 将 LLM 生成器与无监督对比编码器(如 Contriever)配对以嵌入假设文档。
HyDE 旨在解决密集检索中的哪些核心问题?
通过将查询转换为类似文档的文本,HyDE 使搜索向量更接近其应匹配的段落类型。
HyDE 变体如何将几个生成的假设文档组合成一个搜索表示?
组合嵌入是聚合生成样本的一种方法;它并不能保证在每个查询上都能改进检索。