RAG 中 Rerank 模型介绍

知识库检索(Retrieval Augmented Generation, RAG) 的效果受 Rerank(重排序)模型 的质量影响极大。Rerank 模型用于对初始检索出的候选文档重新打分和排序,从而提升最终生成回答的相关性和准确性。

目前主流和效果较好的 Rerank 模型主要基于 双塔模型(Dual Encoder) + 交叉编码器(Cross Encoder) 的组合,其中 Cross Encoder 用于精排,是效果最好的类别。以下是当前一些顶尖的 Rerank 模型及技术说明:


✅ 当前表现最好的 Rerank 模型及技术对比

模型名称架构类型预训练基础语言支持优势说明
Cohere Rerank v3Cross Encoder自研多语言准确率高,精度优于 OpenAI Embedding + rerankCohere API 提供,效果在多项评测中优异
BGE-Reranker-largeBAAI/bge-reranker-largeCross EncoderRoBERTa/BERT多语言(含中英文)开源、无需调用外部API中文表现优异,推荐用于中文知识库
OpenAI text-embedding-3-large + rerank双塔 + RerankGPT基础模型英文为主Embedding 精度高,结合 rerank 可提效非 Cross Encoder,性能略逊
mcontriever + ColBERTDual Encoder + Late Interaction自研、开源英文为主查询速度快,适合大规模检索精度不如 Cross Encoder,但可扩展性好

推荐模型详解

1. BGE-Reranker-large(推荐开源中文模型)

  • 来源:北京智源(BAAI)

  • 模型链接:https://huggingface.co/BAAI/bge-reranker-large

  • 技术原理:采用 Cross-Encoder 架构,将 query 和 document 拼接输入模型中,通过一个句对分类器得分。

  • 优点:

    • 支持中文,在中文语义匹配、问答、文档相关性任务中表现优异;

    • 精度高,远优于简单的向量相似度。

  • 使用方式(例):

  • from transformers import AutoTokenizer, AutoModelForSequenceClassification
    import torch
    
    tokenizer = AutoTokenizer.from_pretrained("BAAI/bge-reranker-large")
    model = AutoModelForSequenceClassification.from_pretrained("BAAI/bge-reranker-large")
    
    # 输入格式:[CLS] query [SEP] document [SEP]
    inputs = tokenizer(["问题和候选文档拼接对1", "对2", ...], padding=True, truncation=True, return_tensors='pt')
    scores = model(**inputs).logits.view(-1)
    

    2. Cohere Rerank v3(商业API)

  • 提供者:Cohere.ai

  • 架构:基于 Cross-Encoder 架构训练的 reranker

  • 优点:

    • 多语言支持;

    • 在多项英文 benchmark 中排名前列;

    • 接入简单,适合英文项目或预算充足的生产系统;

  • 示例调用方式

  • import cohere
    
    co = cohere.Client("API_KEY")
    response = co.rerank(
        query="What is the capital of France?",
        documents=["Paris is the capital.", "Berlin is in Germany."],
        model="rerank-english-v3.0"
    )
    reranked = response.results
    

    3. OpenAI Embedding + rerank(搭配使用)

  • text-embedding-3-large 或 Ada v2 为基础向量;

  • 可结合向量距离 + Reranker(如 Cohere、BGE)进行精排;

  • 优点:

    • 向量检索准确率高;

    • 支持语义泛化;

  • 缺点:

    • 中文表现不如 BGE;

    • Rerank 需自行集成

      ✅ 配置建议

      在 “知识库”设置中可指定 Rerank 模型:

    • 若是 中文知识库,强烈推荐使用:

      • BAAI/bge-reranker-largeBAAI/bge-reranker-base

    • 若是 英文为主,推荐使用:

      • Cohere Rerank(需申请 API Key)

      • OpenAI Embedding + rerank 自研方案

 🛠 技术架构图(简化)

User Query
   ↓
向量检索(Embedding 检索Top-K)
   ↓
Rerank 模型打分排序(如 BGE-Reranker)
   ↓
排序后的前N段上下文拼接
   ↓
送入 LLM 做回答生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

livepy

老码农,赋闲在家要吃饭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值