欢迎光临
我们一直在努力

RAG 进阶:如何科学评估 Rerank 的有效性?核心指标全解析

RAG 进阶:如何科学评估 Rerank 的有效性?核心指标全解析

在构建基于检索增强生成(RAG)的应用时,很多开发者会遇到一个瓶颈:Embedding 召回了不少文档,但 LLM 生成的答案依然不够准确,甚至出现幻觉。

这时候,引入 Rerank(重排序) 模型往往能带来质的飞跃。但是,你怎么知道你的 Rerank 模型真的起作用了?是凭感觉看几个 Case,还是有更科学的量化标准?

今天,我们就来深入聊聊:如何评估 Rerank 的有效性? 哪些指标才是企业级应用真正关心的“金标准”?

为什么 Rerank 的评估逻辑与众不同?

在传统的搜索或简单的向量检索中,我们往往关注“有没有把相关文档找出来”(Recall)。但在 RAG 场景下,逻辑变了:

  • LLM 的注意力是有限的:大模型对输入上下文的前几个 Chunk 关注度最高,后面的内容容易被忽略或产生“迷失中间”现象。
  • 排序质量 > 召回数量:如果相关的 Chunk 排在第 10 位,而无关的噪音排在前 3 位,LLM 很可能被噪音误导。
  • 因此,Rerank 的核心目标非常明确:把“真正相关”的 Chunk 尽可能排到最前面。

    基于这个核心目标,我们的评估体系也围绕“排序质量”展开。

    #mermaid-svg-ZcrDov31hErzAPB1{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ZcrDov31hErzAPB1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZcrDov31hErzAPB1 .error-icon{fill:#552222;}#mermaid-svg-ZcrDov31hErzAPB1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZcrDov31hErzAPB1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZcrDov31hErzAPB1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ZcrDov31hErzAPB1 .marker.cross{stroke:#333333;}#mermaid-svg-ZcrDov31hErzAPB1 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ZcrDov31hErzAPB1 p{margin:0;}#mermaid-svg-ZcrDov31hErzAPB1 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-ZcrDov31hErzAPB1 .cluster-label text{fill:#333;}#mermaid-svg-ZcrDov31hErzAPB1 .cluster-label span{color:#333;}#mermaid-svg-ZcrDov31hErzAPB1 .cluster-label span p{background-color:transparent;}#mermaid-svg-ZcrDov31hErzAPB1 .label text,#mermaid-svg-ZcrDov31hErzAPB1 span{fill:#333;color:#333;}#mermaid-svg-ZcrDov31hErzAPB1 .node rect,#mermaid-svg-ZcrDov31hErzAPB1 .node circle,#mermaid-svg-ZcrDov31hErzAPB1 .node ellipse,#mermaid-svg-ZcrDov31hErzAPB1 .node polygon,#mermaid-svg-ZcrDov31hErzAPB1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ZcrDov31hErzAPB1 .rough-node .label text,#mermaid-svg-ZcrDov31hErzAPB1 .node .label text,#mermaid-svg-ZcrDov31hErzAPB1 .image-shape .label,#mermaid-svg-ZcrDov31hErzAPB1 .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZcrDov31hErzAPB1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZcrDov31hErzAPB1 .rough-node .label,#mermaid-svg-ZcrDov31hErzAPB1 .node .label,#mermaid-svg-ZcrDov31hErzAPB1 .image-shape .label,#mermaid-svg-ZcrDov31hErzAPB1 .icon-shape .label{text-align:center;}#mermaid-svg-ZcrDov31hErzAPB1 .node.clickable{cursor:pointer;}#mermaid-svg-ZcrDov31hErzAPB1 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ZcrDov31hErzAPB1 .arrowheadPath{fill:#333333;}#mermaid-svg-ZcrDov31hErzAPB1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ZcrDov31hErzAPB1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ZcrDov31hErzAPB1 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZcrDov31hErzAPB1 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ZcrDov31hErzAPB1 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZcrDov31hErzAPB1 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ZcrDov31hErzAPB1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ZcrDov31hErzAPB1 .cluster text{fill:#333;}#mermaid-svg-ZcrDov31hErzAPB1 .cluster span{color:#333;}#mermaid-svg-ZcrDov31hErzAPB1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ZcrDov31hErzAPB1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ZcrDov31hErzAPB1 rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZcrDov31hErzAPB1 .icon-shape,#mermaid-svg-ZcrDov31hErzAPB1 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZcrDov31hErzAPB1 .icon-shape p,#mermaid-svg-ZcrDov31hErzAPB1 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ZcrDov31hErzAPB1 .icon-shape .label rect,#mermaid-svg-ZcrDov31hErzAPB1 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZcrDov31hErzAPB1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZcrDov31hErzAPB1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZcrDov31hErzAPB1 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    前几个 Chunk

    RAG 系统痛点

    LLM 关注点

    排序质量至关重要

    Rerank 核心目标

    将高相关性结果前置

    评估重点: 排名靠前程度 & 噪音过滤

    一、核心排序指标:MRR 与 NDCG

    这是评估 Rerank 效果最直接、最常用的两个指标。

    1. MRR(Mean Reciprocal Rank,平均倒数排名)

    MRR 衡量的是:正确的答案排得有多靠前。

    它的计算逻辑很简单:取第一个相关文档排名的倒数。

    • 如果相关 Chunk 排第 1 位,得分 =

      1

      /

      1

      =

      1.0

      1/1 = 1.0

      1/1=1.0

    • 如果相关 Chunk 排第 2 位,得分 =

      1

      /

      2

      =

      0.5

      1/2 = 0.5

      1/2=0.5

    • 如果相关 Chunk 排第 5 位,得分 =

      1

      /

      5

      =

      0.2

      1/5 = 0.2

      1/5=0.2

    • 如果前 K 个都没有相关 Chunk,得分 = 0

    最后对所有查询(Query)的得分求平均值,就是 MRR。

    为什么它适合 Rerank? 因为 Rerank 的使命就是“提权”。MRR 对排名靠前的结果给予极高的权重,完美契合“LLM 只看前几条”的特性。

    2. NDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益)

    如果说 MRR 只关心“有没有”,那么 NDCG 则关心“相关程度”。

    在实际业务中,文档的相关性不是非黑即白的:

    • 强相关:直接包含答案核心。
    • 弱相关:包含部分背景信息。
    • 不相关:噪音。

    NDCG 会给不同相关程度的文档赋予不同的分数(Gain),并且随着排名越靠后,分数打折(Discount)越厉害。

    特点:

    • 位置敏感:越靠前的相关文档,贡献的分数越高。
    • 粒度更细:能区分“排第一的是强相关”还是“排第一的是弱相关”。

    在企业级评测中,NDCG 往往比 MRR 更能反映用户体验的真实提升。

    二、截断精度指标:Precision@K 与 Recall@K

    Rerank 通常作用于 Top-K 召回结果之后(例如从 Embedding 召回的 50 条中,Rerank 选出最好的 5 条给 LLM)。因此,我们需要关注特定截断点(Top-K)的表现。

    1. Precision@K(前 K 个结果的准确率)

    定义:在 Rerank 后的前 K 个结果中,有多少是真正相关的?

    例如:Rerank 后取 Top 5,其中 3 个是相关文档。

    P

    @

    5

    =

    3

    /

    5

    =

    60

    %

    P@5 = 3 / 5 = 60\\%

    P@5=3/5=60%

    重要性: Rerank 的主要任务之一是去噪。Precision@K 越高,说明喂给 LLM 的上下文越纯净,LLM 被误导的概率越低,Token 消耗也越少。

    2. Recall@K(前 K 个结果的召回率)

    定义:所有相关文档中,有多少出现在了前 K 个结果里?

    注意:Rerank 可能会因为过度追求精度,把一些边缘相关但实际有用的文档排到 K 之外,导致 Recall 下降。

    最佳实践: 企业通常会同时监控 Precision@K 和 Recall@K。理想的 Rerank 应该是在保持 Recall 不大幅下跌的前提下,显著提升 Precision。

    3. Hit Rate(命中率)

    这是一个更简化的指标:只要前 K 个结果里有一个相关文档,就算命中(1),否则为 0。它常用于快速粗略评估系统的底线能力。

    三、终极真理:End-to-End(端到端)业务指标

    很多时候,我们会发现一个尴尬的现象:Rerank 的 MRR/NDCG 提升了,但用户觉得回答质量没变好,甚至变差了。

    这是因为检索指标只是中间过程,用户关心的是最终答案。因此,成熟的企业一定会结合以下端到端指标进行综合评估:

  • Answer Accuracy(答案准确性)
    • 使用 LLM-as-a-Judge 或人工评测,判断最终生成的答案是否正确回答了用户问题。
  • Hallucination Rate(幻觉率)
    • Rerank 去除了噪音,理论上应降低幻觉。需监测回答中是否存在无中生有的事实。
  • Citation Accuracy(引用准确性)
    • 如果系统支持引用来源,需检查引用的 Chunk 是否真的支撑了该观点。
  • #mermaid-svg-XjGfAz54zWLzCjC4{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-XjGfAz54zWLzCjC4 .error-icon{fill:#552222;}#mermaid-svg-XjGfAz54zWLzCjC4 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-XjGfAz54zWLzCjC4 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-XjGfAz54zWLzCjC4 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-XjGfAz54zWLzCjC4 .marker.cross{stroke:#333333;}#mermaid-svg-XjGfAz54zWLzCjC4 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-XjGfAz54zWLzCjC4 p{margin:0;}#mermaid-svg-XjGfAz54zWLzCjC4 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster-label text{fill:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster-label span{color:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster-label span p{background-color:transparent;}#mermaid-svg-XjGfAz54zWLzCjC4 .label text,#mermaid-svg-XjGfAz54zWLzCjC4 span{fill:#333;color:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 .node rect,#mermaid-svg-XjGfAz54zWLzCjC4 .node circle,#mermaid-svg-XjGfAz54zWLzCjC4 .node ellipse,#mermaid-svg-XjGfAz54zWLzCjC4 .node polygon,#mermaid-svg-XjGfAz54zWLzCjC4 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-XjGfAz54zWLzCjC4 .rough-node .label text,#mermaid-svg-XjGfAz54zWLzCjC4 .node .label text,#mermaid-svg-XjGfAz54zWLzCjC4 .image-shape .label,#mermaid-svg-XjGfAz54zWLzCjC4 .icon-shape .label{text-anchor:middle;}#mermaid-svg-XjGfAz54zWLzCjC4 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-XjGfAz54zWLzCjC4 .rough-node .label,#mermaid-svg-XjGfAz54zWLzCjC4 .node .label,#mermaid-svg-XjGfAz54zWLzCjC4 .image-shape .label,#mermaid-svg-XjGfAz54zWLzCjC4 .icon-shape .label{text-align:center;}#mermaid-svg-XjGfAz54zWLzCjC4 .node.clickable{cursor:pointer;}#mermaid-svg-XjGfAz54zWLzCjC4 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-XjGfAz54zWLzCjC4 .arrowheadPath{fill:#333333;}#mermaid-svg-XjGfAz54zWLzCjC4 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-XjGfAz54zWLzCjC4 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-XjGfAz54zWLzCjC4 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XjGfAz54zWLzCjC4 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-XjGfAz54zWLzCjC4 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XjGfAz54zWLzCjC4 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster text{fill:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 .cluster span{color:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-XjGfAz54zWLzCjC4 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-XjGfAz54zWLzCjC4 rect.text{fill:none;stroke-width:0;}#mermaid-svg-XjGfAz54zWLzCjC4 .icon-shape,#mermaid-svg-XjGfAz54zWLzCjC4 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XjGfAz54zWLzCjC4 .icon-shape p,#mermaid-svg-XjGfAz54zWLzCjC4 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-XjGfAz54zWLzCjC4 .icon-shape .label rect,#mermaid-svg-XjGfAz54zWLzCjC4 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XjGfAz54zWLzCjC4 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-XjGfAz54zWLzCjC4 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-XjGfAz54zWLzCjC4 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    Online / E2E Evaluation

    Offline Evaluation

    指导优化

    指导优化

    Golden Dataset

    MRR / NDCG

    Precision@K / Recall@K

    RAG Pipeline

    LLM 生成答案

    Answer Accuracy

    Hallucination Rate

    Citation Accuracy

    业务价值最终验证

    四、企业真实评测流程:如何落地?

    在实际工作中,我们不会盲目上线 Rerank,而是遵循以下标准化流程:

    1. 构建 Golden Dataset(黄金测试集)

    这是最关键的一步。你需要人工构造一批高质量的测试数据:

    • Query:用户的真实提问。
    • Standard Answer:标准答案。
    • Standard Chunks:能够支撑标准答案的正确文档片段(Ground Truth)。

    2. A/B 对比实验

    运行两套流程:

    • Baseline:仅使用 Embedding 检索 + LLM。
    • Experiment:Embedding 检索 + Rerank + LLM。

    3. 指标对比分析

    计算两组实验在 MRR、NDCG、P@K 上的差异。

    • 如果 MRR 提升显著,说明 Rerank 成功将正确答案前置。
    • 如果 P@K 提升显著,说明噪音被有效过滤。

    4. 端到端验证

    抽取部分典型 Case,人工或自动化评估最终回答的质量变化,确保技术指标的提升转化为了业务价值的提升。

    五、代码示例:如何计算 MRR 和 NDCG?

    为了让大家更直观地理解,这里提供一个简单的 Python 示例,演示如何计算 MRR 和 NDCG。

    import numpy as np

    def calculate_mrr(relevance_list):
    """
    计算单个查询的 MRR (Reciprocal Rank)
    relevance_list: 列表,按排名顺序排列,1表示相关,0表示不相关
    例如: [0, 1, 0, 0] 表示第2个位置命中
    """

    for i, rel in enumerate(relevance_list):
    if rel == 1:
    return 1.0 / (i + 1)
    return 0.0

    def calculate_dcg(relevance_list, k=None):
    """
    计算 DCG (Discounted Cumulative Gain)
    """

    if k:
    relevance_list = relevance_list[:k]

    dcg = 0.0
    for i, rel in enumerate(relevance_list):
    # 公式: rel / log2(i + 2)
    # i+2 是因为 i 从 0 开始,而分母通常从 rank 1 开始算 log2(1+1)
    dcg += rel / np.log2(i + 2)
    return dcg

    def calculate_ndcg(relevance_list, ideal_relevance_list, k=None):
    """
    计算 NDCG
    relevance_list: 实际排序的相关性列表
    ideal_relevance_list: 理想排序(按相关性从高到低)的相关性列表
    """

    dcg = calculate_dcg(relevance_list, k)
    idcg = calculate_dcg(ideal_relevance_list, k)

    if idcg == 0:
    return 0.0
    return dcg / idcg

    # — 测试示例 —

    # 假设某次 Rerank 后的结果相关性分布 (1:相关, 0:不相关)
    # 排名: 1(无关), 2(相关), 3(无关), 4(无关), 5(相关)
    actual_ranks = [0, 1, 0, 0, 1]

    # 理想情况下,相关的应该全在前面
    # 假设只有2个相关文档,理想排名应该是: 1(相关), 2(相关), 3(无关)…
    ideal_ranks = [1, 1, 0, 0, 0]

    # 1. 计算 MRR
    mrr_score = calculate_mrr(actual_ranks)
    print(f"MRR Score: {mrr_score}")
    # 解释: 第一个相关在第2位, 所以 RR = 1/2 = 0.5

    # 2. 计算 NDCG @ 5
    ndcg_score = calculate_ndcg(actual_ranks, ideal_ranks, k=5)
    print(f"NDCG@5 Score: {ndcg_score:.4f}")

    # 对比:如果没有 Rerank,假设相关文档排在最后
    bad_ranks = [0, 0, 0, 1, 1]
    bad_mrr = calculate_mrr(bad_ranks)
    bad_ndcg = calculate_ndcg(bad_ranks, ideal_ranks, k=5)

    print(f"\\n— 对比差排序 —")
    print(f"Bad MRR: {bad_mrr}") # 1/4 = 0.25
    print(f"Bad NDCG@5: {bad_ndcg:.4f}")

    总结与建议

    评估 Rerank 的有效性,不能只看单一维度。这里有一份简短的检查清单供你参考:

  • 首选指标:MRR 和 NDCG。它们最能体现“排序质量”的提升,直接对应 LLM 对顶部信息的依赖。
  • 辅助指标:Precision@K。关注去噪效果,确保喂给 LLM 的内容干净。
  • 警惕陷阱:不要忽视 Recall@K。如果 Precision 涨了但 Recall 跌得太厉害,可能导致关键信息丢失。
  • 最终验收:必须结合 Answer Accuracy 等端到端指标。技术指标的胜利不等于业务效果的胜利。
  • Rerank 是 RAG 系统中性价比极高的优化手段,但只有通过科学的评估体系,才能确保它真正发挥了价值。希望这篇文章能帮你建立起清晰的评估框架!

    参考资料

    • Microsoft Learning to Rank Documentation
    • LangChain Evaluators
    • Information Retrieval Metrics (Wikipedia)
    赞(0)
    未经允许不得转载:171主机测评 » RAG 进阶:如何科学评估 Rerank 的有效性?核心指标全解析
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址