指令跟随 reranker

新兴方向 · 约 7 分钟阅读 ·

经典 cross-encoder 只回答一个问题:「这段与查询有多相关?」指令跟随 reranker(如 Contextual AI Rerank v2)多一个控制信号 —— 简短指令,定义本任务下何谓「相关」。

为何纯相关性不够

两篇文档都可能「匹配」查询,却服务相反目标。「取消订阅」对客服机器人可能要自助步骤,对销售侧可能要挽留优惠。通用 MS MARCO 式 reranker 学的是话题相关,不是任务策略。

指令让你无需为每个产品面微调新 checkpoint 就能引导排序。

指令 rerank 有何不同

输入经典 cross-encoder指令 reranker
查询
段落
任务指令否(或塞进查询文本)一等字段
典型部署自托管或 API目前多为托管 API
# Conceptual API shape (vendor SDKs differ)
results = client.rerank(
    query="cancel my plan",
    documents=candidates,
    instruction="Prefer official help articles with step-by-step cancel steps; demote marketing and upsell pages.",
)  # higher score = better match to query under that instruction

经典模型可用查询前缀近似("[Support KB] cancel my plan"),但专用指令模型会把控制文本当约束,而非词袋话题。

何时使用

若查询是单意图 FAQ,且小 cross-encoder(Jina tiny、mxbai xsmall、bge-base)已在标注上达标,可跳过 —— 见 评测 reranker

对比经典 cross-encoder

如何评测

不要贴一个通用 BEIR 数字就算完。用将上线的指令建 30–50 条查询,标注该策略下正确文档,测前后 NDCG@5 / MRR。只改指令文本,检查排序是否按预期移动。

若改指令顶 5 不变,你在为用不上的功能付费 —— 退回经典 reranker。

看经典 cross-encoder 行为

浏览器 Demo 只打话题相关性(无指令字段)。用它建立经典 baseline,再在标注集上 A/B 指令 API。

打开 Demo →

继续阅读