RAG召回策略说明

RAG(Retrieval-Augmented Generation) 的核心流程说起:
1)用户输入(query)转换成向量
2)检索(Recall):在知识库中找到若干候选文档
3)重排序(Reranking):重新评估这些候选文档和 query 之间的相关性,把最相关的排在前面
4. 生成(Generation):把排好序的文档输入到生成模型(如 LLM),生成答案

初步检索(Recall)通常追求高召回率,但牺牲了精确度,这一步的模型可能是快速的、粗粒度的,比如基于向量相似度(余弦距离、内积)。通常会使用双塔模型(Bi-Encoder)在召回阶段,其原理是通过量化用户提示词和向量数据库中的文档查询近似向量。双塔模型结构分为左右双塔,两个塔参数可以共享或部分共享,目标是让相关 query-文档的向量相似度尽可能大,不相关的尽可能小。
双塔模型的特点:

  • 查询和文档编码分开:可以提前离线编码知识库文档向量,存到向量数据库
  • 在线召回速度快:用户发来 query 时,只需计算 query 向量,再与库中文档向量计算相似度,快速返回 top K 文档。
       Query 塔                           Document 塔
  [用户query文本] ---> 编码器Q        [文档文本] ---> 编码器D
                      ↓                  ↓
                向量 q                 向量 d
                      \                /
                     sim(q,d) ---> 相关性得分
  • 两个塔通常是相同架构(比如 BERT-base),但参数可以共享或不共享。

  • 训练阶段:

    • 输入一批 query
    • 同时输入这些 query 的正样本文档(label 是“相
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值