重排(Rerank)是 RAG 管线里性价比最高的一环:召回 50 条,重排后取 top-5 喂给大模型,精度和成本一起改善。但之前的痛点很现实——通用重排器遇到法律、医疗、JSON 结构化数据就失灵,列表一长延迟直接爆炸。
Jina 刚开源的 jina-reranker-v3.5 就是冲着这三个坑来的:0.6B 参数,BEIR 上 63.20 超过 7 倍参数量的 Qwen3-Reranker-4B(62.28),长文档列表推理提速最高 56%,结构化数据评分提升 24.8%。模型权重已在 Hugging Face 和魔搭全量开放,本文 10 分钟带你把四种接入方式全部跑通。
核心思路:三个工程决策
v3.5 基于 Qwen3-0.6B,28 层,延续了 LBNL(Last-but-Not-Late)列表式架构——一次前向传播处理整批候选文档,而不是两两对比。它解决生产痛点的关键有三点:
1. 3L2G 混合注意力:大部分层用滑动窗口注意力(窗口 1024),把计算复杂度从平方级降到线性;周期性穿插全局注意力层保持全局视野,且强制末层全局可见,确保最终打分能吃透整组候选。这就是长列表提速 1.22×–1.56× 的来源。
2. 补数据的弱势场景:法律领域引入 EUR-Lex、AILA 判例库;用大模型生成大量干扰性难负样本,逼模型区分司法辖区和专业差异。结构化数据采用 Struct-IR 策略,故意扰动 JSON 里的价格、规格字段,让模型学会理解「价格必须在 100~200 之间」这类约束逻辑,而不是只做字面匹配。
3. 三阶段自蒸馏:先训一个全注意力的教师模型,再让 3L2G 学生模型适配注意力路径,最后用 KL 散度 + 隐状态 MSE 多维蒸馏,把排序质量完整承接到加速后的学生模型上。
上手方式一:transformers 直接加载(最快)
权重已开源,一行加载,trust_remote_code 打开即可:
from transformers import AutoModel
# 加载模型(约 0.6B,消费级显卡可跑)
model = AutoModel.from_pretrained(
"jinaai/jina-reranker-v3.5",
trust_remote_code=True
)
# LBNL 列表式接口:query + 一批候选文档,一次前向
query = "有机化学反应机制"
documents = [
"SN2 亲核取代反应机理详解",
"如何烤制酸面包",
"钯催化偶联反应的机理研究",
]
scores = model.rerank(query, documents)
for doc, score in zip(documents, scores):
print(f"{score:.4f} {doc}")
# 输出按分数排序即可得到最终 top-k注意 v3.5 的模型名是 jina-reranker-v3.5,注意别写错为 v3。
上手方式二:Jina API(零部署)
不想折腾权重就直接调 API,v3 用户改个模型名就行,代码逻辑完全不用动:
curl https://api.jina.ai/v1/rerank \
-H "Authorization: Bearer $JINA_API_KEY" \
-d '{
"model": "jina-reranker-v3.5",
"query": "有机化学反应机制",
"documents": [
"SN2 亲核取代反应...",
"如何烤制酸面包...",
"钯催化偶联反应..."
]
}'上手方式三:私有化部署(Docker)
内网隔离或受监管的数据环境,走 jina-on-prem 一键部署:
# jina-on-prem 支持 Docker 部署完整重排服务
git clone https://github.com/jina-ai/jina-on-prem
cd jina-on-prem
# 按 README 配置模型为 jina-reranker-v3.5 后:
docker compose up -d上手方式四:Elasticsearch 集成(混合搜索)
走 Elastic Inference Service(EIS),把 v3.5 注册为 text_similarity_reranker retriever,直接接入 ES 混合搜索管线——BM25 粗召回 + v3.5 精排,是当前生产环境最常用的组合。
另外官方还提供了 GGUF 量化版和 MLX 版,Apple Silicon 用户可以直接跑 MLX 推理,资源紧张的服务器用 GGUF 量化进一步压缩显存。
实践建议
- 什么时候值得上重排器:召回 top-50 以上、或文档领域垂直(法律/金融/医疗)时收益最大;简单场景先别急着加,重排器本身也有延迟成本。
- 结构化数据是最大增量:简历筛选、商品搜索这类带字段约束的场景,v3.5 的 Struct-IR 提升 24.8%,Recall@5 已追平 4B 模型——这类业务优先换。
- 长列表注意预算分配:混合注意力在文档越长时加速越明显(实测 ~1900 tokens 场景提速 56%),但窗口外的信息依赖全局层,超长列表建议保持官方推荐的分段策略。
- 微调空间:0.6B 规模意味着 LoRA 微调成本很低,垂直领域可以基于开源权重继续训练,比从零训重排器省得多。
资源链接
- 模型权重:Hugging Face | 魔搭
- 技术报告:arXiv:2607.18152
- API 文档:jina.ai/reranker
- 私有化部署:github.com/jina-ai/jina-on-prem
- 官方技术博客:Elastic Search Labs
