AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


现在很明显,仅仅依赖向量检索技术对于RAG应用开发是不够的,特别是在生产环境的部署中尤其如此
发布日期:2024-06-08 06:23:18 浏览次数: 1663


目前,开发大型模型的工程师需要了解检索增强生成(RAG)。在撰写本文之前,我注意到许多技术文章仍然将RAG狭义定义为嵌入式向量检索和大型模型生成技术的结合。

然而,经过一年对不同行业RAG应用的广泛探索和实验,现在很明显,仅仅依赖向量检索技术对于RAG应用开发是不够的,特别是在生产环境的部署中尤其如此。

今年9月,微软Azure AI发布了一篇名为“Azure认知搜索:通过混合检索和排名能力超越向量搜索”的博客文章。该文深入评估了在使用RAG架构的生成式AI应用中实施混合搜索和重新排名技术的实验数据,量化了这些技术对文档召回率和准确性的显著提升。

本文旨在介绍混合搜索和重新排名技术。我们将解释这些技术的基本原理及其在提升RAG系统召回率效率方面的作用。此外,还会讨论开发生产级RAG应用的复杂性。

作为一篇入门技术文章,我首先将用简单易懂的语言揭开RAG系统的神秘面纱。

RAG 概念解释

今年,以向量检索为核心的 RAG 架构已成为大型模型获取最新外部知识和缓解其幻想问题的主要框架,被广泛应用于多种场景。

开发者可以利用这项技术构建成本效益高的 AI 解决方案,如客服机器人、企业知识库和 AI 搜索引擎。这些系统通过自然语言输入和各种知识组织方法进行交互。

例如,如图所示,当用户询问“谁是美国总统?”时,系统不会直接查询大型模型。它首先在知识库(如维基百科)中进行向量搜索,通过语义相似性找到相关信息(例如,“拜登是现任美国第46任总统...”),然后将用户的问题和检索到的信息输入大型模型,使其能够提供更准确的答案。

为什么需要这样?

可以将大型模型想象为一个在各个人类领域都非常精通的超级专家。但它的局限性在于无法获取个人特定信息,因为这些信息是私密的,无法在线预习。

例如,如果你雇佣这个超级专家作为你的个人财务顾问,他们在回答你的问题之前需要查看你的投资记录和家庭开支。只有具备这些个性化信息,他们才能提供量身定制的专业建议。

这就是 RAG 系统的作用:它为大型模型补充了缺失的外部知识,使其在回答查询之前能够找到答案。

这个例子清楚地表明,RAG 系统的核心在于检索外部知识。专家能否提供准确的财务建议,关键在于他们能否获取所需信息。如果检索到的是无关信息(如家庭减肥计划)而不是投资记录,即使是最专业的专家也会束手无策。

为何需要混合搜索

如前所述,以语义相关性为中心的向量检索是RAG检索阶段的主要方法。其技术原理涉及将外部知识库中的文档拆解成语义完整的段落或句子,然后将它们嵌入到计算机可理解的数值表达式(多维向量)中,这一过程同样适用于用户的查询。

计算机能够检测用户查询和句子之间的微妙语义关系。例如,“猫追老鼠”与“小猫捕鼠”的语义关系比与“我喜欢吃火腿”更强。一旦找到最相关的文本,RAG系统就会使用这些信息作为大模型的上下文,帮助形成对问题的回答。

除了复杂的语义文本搜索,向量检索还有以下优势:

  • 理解相似语义,如鼠标/捕鼠器/奶酪或Google/必应/搜索引擎之间的关系。

  • 提供多语言理解,使跨语言匹配成为可能,如将英文输入与中文内容匹配。

  • 支持多模态理解,允许在文本、图像、音频和视频之间进行相似匹配。

  • 具备容错性,能有效处理拼写错误和模糊描述。

然而,向量检索在某些场景中存在不足,例如:

  • 搜索特定人或物体的名称,如埃隆·马斯克或iPhone 15。

  • 搜索缩写或短语,如RAG或RLHF。

  • 搜索ID,例如gpt-3.5-turbo或titan-xlarge-v1.01。

这些限制正是传统关键词搜索的强项,特别是在:

  • 精确匹配,包括产品名称、人名和产品代码。

  • 匹配少量字符,这是向量搜索的难点,但用户中很常见。

  • 匹配低频词汇,这些词往往具有重要意义,例如在“你想要和我一起喝咖啡吗?”中,“喝”和“咖啡”比“你”和“我”更有意义。

在大多数文本搜索场景中,主要目标是确保最相关的结果出现在候选列表中。向量和关键词搜索在检索方面各有优势。混合搜索结合了这两种技术的优点,平衡了各自的弱点。

在混合搜索中,预先在数据库中建立向量和关键词索引是必要的。当用户输入查询时,系统会利用向量和关键词搜索模式从文档中检索最相关的文本。

“混合搜索”没有严格的定义。本文以向量和关键词检索的结合为例。但是,将其他搜索算法(如用于实体关系检索的知识图谱技术与向量检索技术的结合)也归为此类。

每种检索系统在识别文本中各种微妙联系方面都有其优势,包括精确、语义、主题、结构、实体、时间性和事件关系。没有单一的检索模式适用于所有场景。混合搜索通过融合多种检索系统,实现了不同检索技术的协同效应。

重要的是要强调,选择检索技术取决于具体问题。RAG系统本质上是基于自然语言的开放领域问答系统。为了对开放性用户查询实现高事实召回率,一般化和聚焦应用场景,选择合适的检索模式或组合至关重要。

因此,在设计RAG系统时,了解用户及其最可能提出的问题类型至关重要。

为何需要重新排名

混合搜索有效地结合了多种搜索技术以提高召回率,但需要将不同搜索模式的查询结果合并和标准化。这一过程将数据转化为统一的标准,以便在输入大型模型之前进行更好的比较、分析和处理。这就是评分系统,特别是重新排名模型,变得至关重要的地方。

重新排名模型通过根据文档与用户查询的语义对齐程度重新排列候选文档,来增强语义排序结果。其核心原理涉及计算用户问题与每个文档之间的相关性分数,然后按相关性从高到低返回文档列表。常见的重新排名模型包括Cohere重新排名、bge-reranker等。

通常,重新排名之前会进行初步搜索,因为计算查询与数百万文档之间的相关性分数非常低效。因此,重新排名通常位于搜索过程的末尾,非常适合合并和排序来自各种搜索系统的结果。

然而,重新排名不仅限于结合不同搜索系统的结果。在单一搜索模式中也很有用。在关键词搜索后引入重新排名步骤,如语义重新排名,可以显著提高文档召回的有效性。

在实际应用中,除了标准化多个查询结果外,通常还会在将文本段传递给大型模型之前对其进行限制(即,TopK,可调整为重新排名模型参数)。这是由于大型模型的输入窗口大小通常在4K到128K个令牌之间。因此,需要选择与模型输入窗口大小限制相匹配的合适分段策略和TopK值。

重要的是要认识到,即使具有足够大的模型上下文窗口,过多的召回段也可能引入不相关的内容,降低答案的质量。因此,重新排名中的更大TopK参数并不总是意味着更好的结果。

重新排名不应被视为搜索技术的替代品,而应视为增强现有搜索系统的补充工具。其主要优势在于提供了一种简单、低复杂度的方法来细化搜索结果,使当前搜索系统能够集成语义相关性,而无需进行重大基础设施修改。

以Cohere Rerank为例。其集成非常简单:用户只需注册账户,获取API密钥,然后只需两行代码即可实现。此外,Cohere Rerank支持多语言模型,可以同时对各种语言的文本查询进行排序。

Azure AI 实验数据评估

Azure AI 在 RAG 系统中对多种检索模式进行了实验数据测试,包括关键词检索、向量检索、混合检索以及加rerank的混合检索。结果显示,采用混合检索与rerank相结合的方式显著提升了文档召回的相关性,在使用 RAG 架构的生成式 AI 场景中尤其有效。

以下的评估结果详细列出了不同的查询场景,展示了在各种使用场景下,采用混合搜索和rerank后文档召回质量的提升程度:

以下是不同查询场景的评估结果,说明了混合检索加上重排序在不同用例场景中如何不同程度地提升了文档召回的质量:

结论

本讨论强调了将混合检索和语义重排序集成到RAG系统中以提高文档召回质量的原则和实用性。然而,这只是RAG检索管道设计的一个方面。

要真正提升RAG应用,需要全面的工程方法,而不仅仅是孤立的优化。深刻理解用户场景以及将复杂的开放领域问答挑战提炼为针对性策略的能力至关重要。这种理解为选择如索引、分割、检索和重排序等有效技术组合奠定了基础。

Dify.AI已经将本文提到的混合搜索和重排序方法融入其RAG系统,以提高召回效率。通过结合检索模式、重排序以及添加多路径检索,确保与用户查询高度相关的内容被优先处理。这种方法显著提高了搜索结果的全面性和准确性,有效地构建了一个基于LLM的高效问答系统。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询