Contextual AI Rerank v2
跟随指令权重:仅限非商用托管 API
Contextual AI Rerank v2 的设计是在查询旁边再接收一条指令,比如“优先最近的内部文档”,先按相关性、再按指令排序。它有三种尺寸的开源权重(1B、2B、6B,支持 100 多种语言,最长 32K token),采用非商用许可;商用则有付费的托管 API。
用权重还是用 API
| 渠道 | 模型 | 许可或价格 | 限制 |
|---|---|---|---|
| 开源权重 | v2 有 1B、2B、6B 三种尺寸(例如 ctxl-rerank-v2-instruct-multilingual-2b),另有量化版本 | CC BY-NC-SA 4.0:仅限非商用 | 最长 32K token |
| 托管 API:v2 | ctxl-rerank-v2-instruct-multilingual | 每 100 万 token $0.05 | 查询、指令和每个文档合计 8,000 token;每次请求 400,000 token |
| 托管 API:v2-mini | ctxl-rerank-v2-instruct-multilingual-mini | 每 100 万 token $0.02 |
API 也还提供较早的 ctxl-rerank-v1-instruct。Contextual 没有说明 API 的 v2 和 v2-mini 对应哪个尺寸的开源权重,所以别假设一边的评测结果能套用到另一边。
怎么写指令
Contextual 测试过四类指令:时效、文档类型、来源和元数据。他们文档里的几点实用建议:
- 相关性仍然排第一。模型先按与查询的相关性排序,再参考指令,所以指令救不回一篇离题的文档。
- 写明时间范围,别写“今年”。模型不知道今天是哪天,所以要写出具体的日期或区间。
- 指令依赖元数据时,把元数据和文档一起传(来源、类型、日期);API 在文档之外还接收一个
metadata列表。
通用做法和怎么评测指令重排序,见指令跟随重排序。
快速上手
开源权重,用 sentence-transformers
pip install sentence-transformers
import torch
from sentence_transformers import CrossEncoder
model = CrossEncoder(
"ContextualAI/ctxl-rerank-v2-instruct-multilingual-2b",
model_kwargs={"dtype": torch.bfloat16},
)
query = "What are the health benefits of exercise?"
documents = [
"Regular exercise reduces risk of heart disease and improves mental health.",
"A 2024 study shows exercise enhances cognitive function in older adults.",
]
rankings = model.rank(query, documents, prompt="Prioritize recent medical research")
指令放在 prompt 里,可以不传。分数是原始 logit,越高越相关。生产环境部署时,模型卡推荐用 vLLM。
托管 API
curl https://api.contextual.ai/v1/rerank \
-H "Authorization: Bearer $CONTEXTUAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "ctxl-rerank-v2-instruct-multilingual",
"query": "What are the health benefits of exercise?",
"instruction": "Prioritize recent medical research",
"documents": ["...", "..."], "top_n": 5}'
分数
Contextual 只在发布文章里用图表公布评测结果:指令跟随、问答、BEIR、多语言和商品搜索,每项都画成和价格的对比图。没有可以引用的表格,所以本站不给它标分数。他们也公开了所用的三个指令跟随数据集,这部分你可以自己重跑。
什么时候选 Contextual AI
- 适合:光靠查询表达不了的排序规则,比如时效、来源优先级或文档类型,尤其是不同产品界面规则不同的时候。
- 适合:研究或内部非商用场景使用开源权重,同样支持指令。
- 先看许可:商业产品只能用托管 API,不能用权重。
- 可能不适合:你需要公开的数字来比较。可以看 Qwen3-Reranker,它也支持指令,并且公布了 FollowIR 分数。
优缺点
优点
- 跟随指令,元数据可以随文档一起传
- 100 多种语言,最长 32K token
- 三种开源尺寸,另有量化版本
- 托管 API 按 token 计费
缺点
- 权重仅限非商用(CC BY-NC-SA 4.0)
- 评测只有图表,没有表格
- API 的模型没有对应到开源尺寸
- 需要 GPU;太大,放不进我们的浏览器内 Demo