Developer

【Developer】引入混合搜索与重排序以提升RAG系统的检索准确率

引入混合搜索与重排序技术,提升 RAG 系统的检索准确率

摘要

本文深入解析 RAG 架构中检索技术的演进。针对单一向量检索的局限性,文章详细介绍混合搜索(Hybrid Search)与重排序(Rerank)技术的核心原理。通过融合向量语义匹配与关键词检索,并引入结果重排序机制,可显著提升 RAG 系统在复杂场景下的召回率与答案准确性,为生产级 AI 应用开发提供实用指南。


当前,大模型开发者必须掌握检索增强生成(RAG)技术。在动笔前我发现,许多技术文章仍狭隘地将 RAG 定义为“基于 Embedding 的向量检索 + 大模型生成”的简单组合。

然而,经过一年在多个行业深入探索与实验,我们已明确:仅依赖向量检索技术,已无法满足 RAG 应用开发的需求,尤其是在生产环境中部署时。

今年九月,微软 Azure AI 发布了一篇题为《Azure Cognitive Search:利用混合检索与排序能力超越向量搜索》的博客。该文通过实验数据,深入评估了在基于 RAG 架构的生成式 AI 应用中引入混合搜索(Hybrid Search)与重排序(Rerank)技术的实际效果。数据清晰量化了这两项技术对文档召回率与答案准确性的显著提升。

本文旨在介绍混合搜索与重排序技术。我们将解析其基本原理,阐明它们如何提升 RAG 系统的召回效果。同时,文章也会探讨开发生产级 RAG 应用所面临的复杂性。

作为一篇入门技术文,我首先用通俗的语言拆解 RAG 系统到底是什么。

RAG 概念解析

今年,以向量检索为核心的 RAG 架构已成为大模型获取最新外部知识、缓解幻觉问题的主流方案,并在众多场景中落地。

开发者可利用该技术,低成本构建客服机器人、企业知识库和 AI 搜索引擎等应用。这些系统通过自然语言输入,结合多样化的知识组织方式与用户交互。

如图所示,当用户提问“美国总统是谁?”时,系统不会直接调用大模型。它会先在知识库(如维基百科)中进行向量检索,通过语义相似度找到相关信息(例如“拜登是美国现任第46任总统……”)。随后,系统将用户问题与检索到的信息一并输入大模型,从而生成更准确的答案。

为什么需要 RAG?

可以把大模型想象成一位博学多才的专家。但它的短板在于,无法掌握特定个人的私有信息。这类数据通常不公开,大模型也无法提前学习。

例如,如果你聘请这位专家担任私人财务顾问,他必须先查阅你的投资记录和家庭开支,才能回答你的问题。只有掌握这些个性化数据,他才能提供量身定制的专业建议。

这正是 RAG 系统的核心价值:为大模型补齐缺失的外部知识,让它在回答问题前,先找到所需依据。

这个例子清楚地表明,RAG 系统的本质在于“检索外部知识”。专家能否给出准确的财务建议,完全取决于能否获取关键信息。如果检索到的是无关的家庭减肥计划,而不是投资记录,再厉害的专家也无能为力。

前文提到,以语义相关性为核心的向量检索,是 RAG 检索阶段的主流方法。其技术原理是将外部知识库中的文档拆解为语义完整的段落或句子,随后将其转化为计算机可理解的多维数值向量。用户查询也会经过同样的处理。

计算机能够精准捕捉用户查询与文本之间的细微语义关联。例如,“猫追老鼠”与“小猫捕鼠”的语义相似度,远高于“猫追老鼠”与“我喜欢吃火腿”。系统识别出相关性最高的文本后,会将其作为上下文输入大模型,辅助生成答案。

除了处理复杂的语义文本,向量检索还有诸多优势:
- 理解相似语义:例如能关联 mouse(鼠标)、mousetrap(捕鼠夹)与 cheese(奶酪),或 Google、Bing 与 search engine(搜索引擎)。
- 跨语言理解:支持多语言匹配,如用英文输入精准检索中文内容。
- 多模态理解:可在文本、图像、音频和视频之间进行相似度匹配。
- 容错能力强:能高效处理拼写错误和模糊描述。

然而,向量检索在以下场景存在短板:
- 检索特定人名或物名,如 Elon Musk 或 iPhone 15。
- 检索缩写或短词组,如 RAG 或 RLHF。
- 检索特定 ID,如 gpt-3.5-turbo 或 titan-xlarge-v1.01。

这正是传统关键词搜索(Keyword Search)的强项,尤其擅长:
- 精确匹配:如产品名、人名、产品编码。
- 短词匹配:用户常输入几个字,向量检索在此表现不佳,但关键词搜索却能轻松应对。
- 低频词匹配:低频词往往承载核心含义。例如在“你愿意和我喝咖啡吗?”中,“have”和“coffee”比“you”和“me”更具检索价值。

在大多数文本搜索场景中,核心目标是确保最相关的结果排在候选列表前列。向量检索与关键词检索各有所长。混合搜索(Hybrid Search)将两者优势结合,有效弥补了单一技术的不足。

在混合搜索中,数据库需预先建立向量索引与关键词索引。用户输入查询后,系统会同时调用向量检索与关键词检索模式,从文档中召回最相关的文本。

“混合搜索”并无绝对统一的定义。本文以向量检索与关键词检索的融合为例。实际上,结合其他搜索算法同样可称为混合搜索。例如,将用于实体关系检索的知识图谱技术,与向量检索技术结合,也属于此类。

每种检索系统在识别文本的细微关联时各有侧重,涵盖精确匹配、语义关联、主题、结构、实体、时间与事件关系等。没有任何一种检索模式能通吃所有场景。

混合搜索通过融合多种检索系统,实现了技术间的优势互补。

需要强调的是,检索技术的选择必须紧扣具体业务问题。

RAG 系统本质上是基于自然语言的开放域问答系统。若要针对开放式用户提问实现高事实召回率,就必须聚焦应用场景,进行场景泛化与收敛,从而挑选最合适的检索模式或组合。

因此,在设计 RAG 系统时,深入理解目标用户及其高频提问类型至关重要。

为什么需要重排序(Rerank)?

混合搜索虽能有效融合多种检索技术以提升召回率,但不同检索模式返回的结果格式与评分标准往往不一致。因此,必须将各渠道的查询结果进行合并与标准化。

该过程会将数据转换为统一标准,便于后续对比、分析与处理,进而为...

注:原文在此处截断,此处仅翻译至截断处。

文章来源: https://dify.ai/blog/hybrid-search-rerank-rag-improvement
← 返回文章列表