链载Ai

标题: 你的RAG混合搜索效果不好?别着急上Reranking,先把RRF算法的K=60改了试试。 [打印本页]

作者: 链载Ai    时间: 12 小时前
标题: 你的RAG混合搜索效果不好?别着急上Reranking,先把RRF算法的K=60改了试试。


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: left;visibility: visible !important;width: 20px !important;"/>1、RAG的两级搜索架构

检索增强生成(RAG)的检索部分,通常采用两级架构:检索-Retrieval(L1)和排序-Ranking(L2)。这种架构不仅需要快速从大规模非结构化数据集中找到相关信息,还需要确保最相关的内容被后续过程优先处理。

第一级:检索(L1) 检索层的主要目标是快速从索引中找出所有满足搜索条件的文档。这一步会对结果进行初步评分,并选取有限数量(比如前50)最相关的结果传递给下一层或直接返回给用户。

在L1层,有三种常用的搜索模式:

  1. 关键词搜索:又称全文搜索。它将内容分解为词项,创建倒排索引以实现快速检索,并使用BM25概率模型进行评分。

  2. 向量搜索:将文档从文本转换为向量表示。搜索时,系统生成查询的向量嵌入,然后找出与查询向量最接近的文档向量。

  3. 混合搜索:同时执行关键词和向量检索,然后合并不同搜索结果的得分序列,生成最优的结果序列。常用的算法是2009年加拿大滑铁卢大学两位学者与google工程师提出的RRF算法-使用倒数排名融合生成单一结果集的方法。

第二级:排序(L2) 排序层接续处理L1的返回结果集,使用专门训练的深度学习模型做语义相关度排序,重新输出排序结果。L2只能重新排序L1已经找到的内容——如果L1的结果集中没有包含正确的结果,L2将毫无用处。

对于L2和L1层,关键词搜索和向量搜索,都是关键基础。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: left;visibility: visible !important;width: 20px !important;"/>2、关键词搜索和向量搜索的能与不能

在RAG系统中,关键词搜索和向量搜索各有其优势和局限性。了解这两种方法的"能与不能"对于构建高效的RAG检索系统至关重要。

在实际RAG系统的开发中,现实通常是各种情况都有,难以使用一种搜索方法解决全部问题。用户的查询可能涵盖广泛的类型,从精确的关键词匹配到抽象的概念探索,再到专业领域的术语搜索。同时,知识库中的数据也可能是多样化的,包含结构化和非结构化信息、数字数据、专有名词等。面对这些复杂的需求,仅依赖向量搜索或全文搜索中的一种往往会导致检索结果的不准确。这就是为什么在现代RAG系统中,混合搜索方法变得越来越重要的原因。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;background-color: rgb(255, 255, 255);visibility: visible;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: left;visibility: visible !important;width: 20px !important;"/>3、混合搜索的魔法

混合搜索是一种将多种搜索算法结果进行融合,使得最终结果优于单独使用任何一种搜索算法的方法。这种方法的"魔法"在于它能够有效地平衡不同搜索算法在不同场景的性能差异,从而在各种复杂的搜索场景中提供质量更优的结果。

混合搜索的工作原理:

  1. 并行执行:






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5