指令跟随 reranker
经典 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
目前支持指令的模型
- Qwen3-Reranker(0.6B / 4B / 8B,Apache 2.0)—— 通过 sentence-transformers 的
prompts为每个任务设定指令;Qwen 称量身定制的指令通常能带来 1–5% 的提升。 - Contextual AI Rerank v2(1B / 2B / 6B,CC BY-NC-SA —— 仅限非商用)—— 把指令作为
prompt=传给predict或rank。 - Voyage rerank-3(托管)—— 把指令加在 query 的前面或后面。Voyage 从 rerank-2.5 开始支持指令,并表示 Rerank 3 系列保留了这一能力。
- 阿里云百炼(托管)——
qwen3-rerank、qwen3.7-text-rerank和qwen3-vl-rerank支持instruct参数。不传时默认按问答检索排序(“Given a web search query, retrieve relevant passages that answer the query.”);阿里云建议用英文写指令。 - Mixedbread mxbai-rerank-v3.1-listwise(托管,只能在 Mixedbread Search 里用)—— 列表式模型,把整个候选集一起读,所以“后来的修订取代先前的”这类指令可以让文档之间互相比较。权重未公开。
# Contextual AI Rerank v2, from its model card
from sentence_transformers import CrossEncoder
model = CrossEncoder("ContextualAI/ctxl-rerank-v2-instruct-multilingual-2b")
ranked = model.rank(
"cancel my plan",
candidates,
prompt="Prefer official help articles with step-by-step cancel steps; demote marketing and upsell pages.",
)
经典模型可用查询前缀近似("[Support KB] cancel my plan"),但专用指令模型会把控制文本当约束,而非词袋话题。
何时使用
- 多产品面。同一语料,不同排序策略(客服 / 销售 / 合规)。
- 难负例共享词汇。法律「便利终止」vs「因故终止」;客服「退款」vs「换货」。
- 微调预算不足。用指令引导比每季度训领域适配器更便宜。
若查询是单意图 FAQ,且小 cross-encoder(Jina tiny、mxbai xsmall、bge-base)已在标注上达标,可跳过 —— 见 评测 reranker。
对比经典 cross-encoder
- 经典模型(bge、Cohere、mxbai、Jina v1–v2):公开的 BEIR 类分数最多;有开源权重或成熟的托管 API;适合作为 RAG「主题精度」的默认选择。
- 指令重排序器(Qwen3、Contextual AI v2、Voyage rerank-3、阿里云 qwen3-rerank、Mixedbread 列表式模型):当相关性取决于业务策略时更强;但很难在公开排行榜上比较,因为分数取决于你写的指令 —— 我们的模型对比表在厂商有公布时列出其自测数字。
- Late-interaction(ColBERT):完全另一轴(大规模 token MaxSim)—— 见 late-interaction 指南。
如何评测
不要贴一个通用 BEIR 数字就算完。用将上线的指令建 30–50 条查询,标注该策略下正确文档,测前后 NDCG@5 / MRR。只改指令文本,检查排序是否按预期移动。
若改指令顶 5 不变,你在为用不上的功能付费 —— 退回经典 reranker。