Back to Insights人工智能应用

领导者的混合 RAG 指南:突破背后的技术细节

Mercury Technology Solutions2025年7月11日6 min read

在我们上次讨论中,我们介绍了 "混合 RAG" 作为一种突破性解决方案,显著提高了 AI 知识库的准确性和速度。但究竟发生了什么?为什么这种 "混合" 方法比之前的方法更有效?

本文件提供了混合 RAG 的详细而易于理解的技术解释。理解这些机制对于任何在 AI 实施中做出战略决策的领导者来说至关重要。

核心问题:单一搜索方法的局限性

传统的检索增强生成(RAG)系统依赖于单一的方法来查找信息。这通常是两种方法之一:

  1. 关键词搜索(或词汇搜索):这是一种经典的搜索方法。它擅长查找包含您查询中 "确切单词" 或短语的文档。它很精确,但 "愚蠢"——它不理解上下文、同义词或单词的潜在含义。就像一个细致但非常字面意义上的图书馆助理。向量搜索(或语义搜索):这是一种现代的 "智能" 方法。它使用 AI 模型将您的查询和文档转换为称为 "嵌入"(或 "稠密向量")的数值表示。然后,它找到在 "语义上" 相似的文档,这意味着它们在概念上相关,即使它们没有共享完全相同的关键词。就像一个博学但有时不够精确的图书馆助理,理解概念。
  2. 关键问题是,"两种方法都不完美。" 当特定的稀有关键词(如产品名称、错误代码或人名)至关重要时,向量搜索可能无法检索结果。相反,当用户的查询使用不同的词来描述相同的概念时,关键词搜索完全失效。解决方案:混合 RAG – 结合两种方法的优点混合 RAG(在 RAG 上下文中通常称为 "混合搜索")是一种先进的架构,通过同时运行 "关键词搜索和向量搜索" 来解决这个问题,然后智能地融合结果。它结合了关键词搜索的字面精确性和向量搜索的概念理解,创建出一个比单一方法更准确和更具韧性的系统。技术架构:两个引擎,一个结果混合 RAG 系统建立在两个并行检索引擎之上,这些引擎为最终的融合和生成阶段提供支持。

引擎 1:稀疏向量检索器(关键词搜索)该引擎负责词汇匹配。它不使用 AI 嵌入。相反,它将文档表示为 "稀疏向量。"什么是稀疏向量?

想象一下一个包含您整个文档集合中每个唯一单词的字典。单个文档的稀疏向量是一个列表,记录哪些单词出现在其中。由于任何给定文档只包含所有可能单词的一小部分,因此这个列表大多数情况下是 "稀疏的" 或空的,只有少数活跃条目。

算法(BM25):评分这些关键词匹配的黄金标准是一个叫做 "Okapi BM25" 的算法。它是 TF-IDF(词频-逆文档频率)的复杂版本。简单来说,BM25 会给出高分的文档是:查询的关键词在该文档中 "频繁" 出现。这些相同的关键词在整个文档集合中相对 "稀有"。

结果:

稀疏向量检索器生成一个与用户查询的 "词汇" 匹配度较高的文档排名列表。

引擎 2:稠密向量检索器(语义搜索)

Engine 1: The Sparse Vector Retriever (Keyword Search)

This engine is responsible for lexical matching. It doesn't use AI embeddings. Instead, it represents documents as "sparse vectors."

  • What is a Sparse Vector? Imagine a dictionary containing every unique word in your entire document collection. A sparse vector for a single document is a list that notes which of those words appear in it. Since any given document only contains a tiny fraction of all possible words, this list is mostly "sparse" or empty, with just a few active entries.
  • The Algorithm (BM25): The gold standard for scoring these keyword matches is an algorithm called Okapi BM25. It's a sophisticated version of TF-IDF (Term Frequency-Inverse Document Frequency). In simple terms, BM25 gives a high score to documents where:
  • The query's keywords appear frequently within that document.
  • Those same keywords are relatively rare across the entire collection of documents.
  • The Result: The sparse vector retriever produces a ranked list of documents that are a strong lexical match for the user's query.

Engine 2: The Dense Vector Retriever (Semantic Search)

这个引擎负责概念匹配。它使用强大的人工智能模型(如 BERT 或 OpenAI 的嵌入模型)来创建"密集向量。"

  • 什么是密集向量?密集向量是文本意义的紧凑数值表示。与稀疏向量不同,这个列表中的每个数字都有一个值,其位置捕捉了文本语义意义的细微方面。
  • 过程:您的查询被转换为密集向量,系统在一个专门的向量数据库(如 Weaviate、Pinecone 或 Milvus)中搜索与该高维空间中向量“最接近”的文档块。这种“接近度”是通过使用余弦相似度等距离度量来衡量的。
  • 结果:密集向量检索器生成一个文档的排名列表,这些文档与用户的查询在语义概念上匹配度很高。

融合阶段:创建一个统一的排名

现在系统有两个不同的结果排名列表——一个基于关键词,另一个基于意义。混合 RAG 的魔力在于它如何智能地将它们合并。最先进和有效的方法是互惠排名融合(RRF)

  • RRF 的工作原理:RRF 是一种优雅的算法,通过关注文档的排名而不是其原始分数来合并列表。每个文档根据其在每个列表中出现的排名的倒数给出一个新分数。公式通常为:分数 = 1 / (k + 排名),其中 k 是一个常数(通常为 60),用于调节高排名项目的影响。
  • 优势:这种方法非常有效,因为它自然地给予在两个列表中排名较高的文档更多的权重。一个在关键词匹配中表现强劲(在 BM25 列表中排名高)且在语义匹配中表现强劲(在向量搜索列表中排名高)的文档将获得一个非常高的融合分数。它还避免了试图规范化 BM25 和向量搜索的完全不同评分系统的复杂且通常不可靠的过程。

最后一步:生成

一旦 RRF 算法生成一个单一的、智能重新排名的最相关文档块列表,这些文档块将与原始用户查询一起传递给大型语言模型(例如 GPT-4、Claude)。LLM 现在拥有一组丰富、高度相关且精确选择的上下文,以合成最终准确的答案。

结论:混合方法的战略价值

通过实施混合 RAG 架构,您正在构建一个克服任何单一检索方法固有弱点的系统。它确保您可以在确切关键词至关重要时找到针,而在用户查询更为抽象时也能理解更广泛的上下文和意义。

这种双引擎方法显著减少了错误。它为 LLM 提供了更丰富、更可靠的信息集,极大地提高了最终生成答案的质量,并在一个以数据为驱动的世界中为您的组织提供了强大的竞争优势。

Originally published on MTS Blog & Research