免费 Reranker(重排序)API 完全教程:给 RAG 检索结果装上精准过滤器
RAG(检索增强生成)已经成了免费 API 生态里最热门的拼装方向——先用 免费 Embedding API 把文本变成向量,再交给 免费向量数据库 做语义召回。但不少人卡在同一个体验上:向量检索的 Top10 里,前两名总是对的,后八名却夹杂着大量"看着相关、其实无关"的噪声。这时候,你就需要一层重排序(Reranking)。
本文系统性讲清三件事:重排序到底解决了向量检索的哪个短板、2026 年有哪些真正能免费调用的 Reranker API、以及怎么在不下重金的前提下把检索精度抬上去。所有型号名与免费层额度都来自厂商公开页,零编造。
一、为什么 Embedding 检索"够快但不够准"
向量检索的核心是双塔(bi-encoder):查询和文档各自独立编码成一个向量,然后用余弦相似度算距离。这套架构赢在快——能在百万级语料里毫秒级召回 Top50 甚至 Top100。
但双塔有一个结构性的代价:查询和文档在编码阶段从头到尾没见过面。模型只分别"读懂"了查询和文档各自长什么样,却从来没有把两者放在一起逐字比较过。于是"苹果股价"和"苹果手机售价"在被编码后距离可能很近——因为它们共享了太多相同的字面词和信息方向,但用户的真实意图(财经 vs 数码)却完全不同。
这就是向量检索"召回高、精度低"的根源。它擅长保底(把相关的都捞回来),不擅长精确排序(把最相关的那几条放最前面)。
二、重排序解决什么:把"见过面"的模型请来二次打分
重排序器(Reranker)在架构上换了一条路:交叉编码器(cross-encoder)。它把 (查询, 文档) 作为一个整体一起送进模型,让模型逐 token 地理解两者之间的交互关系,然后输出一个相关性分数。
因为查询和文档真正"面对面"过,交叉编码器能捕捉到双塔捕捉不到的细节——代词指代、否定词、因果关系、领域同义替换。代价是慢:它没法对全库做穷举比对,只能接在向量检索之后,对已经召回的前 50 或 100 条做精细重排。
标准的 RAG 流水线因此分两段:
- 宽召回:用双塔 Embedding 从全库召回 Top50~100(快、保底);
- 精重排:用 Reranker 对这几十条二次打分,只输出 Top5~10 交给 LLM 生成答案(准、精细)。
两步各司其职,才能同时拿到"快"和"准"。这套组合拳也是免费 API 频道里 RAG 系列文章反复强调的核心打法。
为什么免费层就够你起步
多数人对 Reranker 有个误解:以为它和 LLM 一样吃算力、必须付费。实际上交叉编码器的参数规模普遍很小——BGE v2-m3 只有 5.68 亿参数,Jina v3.5 更是只有 6 亿参数,远小于动辄 70B 的对话模型。这意味着两点:
第一,免费层的额度足以覆盖试运行。以 Jina 的 Reranker API 为例,免费 Key 给到 100 RPM / 100K TPM,按一次重排请求带上几十条文档、单条几百 token 计算,即便一个开发者在本地反复调试、跑完整的小型 RAG 评测集,也很难在一天内撞穿这堵墙。
第二,自部署的硬件门槛比想象低。如果走 BGE v2-m3 自部署路线,5.68 亿参数在量化后甚至能在消费级显卡甚至部分 CPU 上跑动,对个人项目和小团队是零 API 账单的可行选项。
所以重排序这一层,几乎不存在"必须先花钱才能上手"的门槛——它恰恰是 RAG 全栈里最便宜、见效最快的一环。
三、2026 年可免费调用的 Reranker API 全景
下面按"托管 API(开箱即用)"和"开源权重(免费自部署)"两条线整理。型号与额度均已核实至厂商公开页。
3.1 托管 API(注册即用)
| 厂商 | 型号 | 免费层 | 特点 | 许可证 |
|---|---|---|---|---|
| Jina AI | jina-reranker-v3.5 | 100 RPM / 100K TPM | 0.6B 参数列表式(listwise)、131K 上下文、100+ 语言 | CC-BY-NC-4.0(权重),API 商用 |
| Cohere | Rerank 4 Fast / Pro | 限次试用 Key | 多语言托管、单次最多 1000 文档 | 闭源 |
| Voyage AI | rerank-2.5 / lite | 限次试用 | 企业搜索、与 embedding 捆绑 | 闭源(已被 MongoDB 收购) |
| mixedbread | mxbai-rerank-large-v2 | API 按 token 计量 | Apache 2.0、开放权重+托管双轨 | Apache 2.0 |
3.2 开源权重(免费自部署,GPU 成本自担)
两类路线都能在免费 API 频道里找到对应的接入教程与实测数据。
| 型号 | 参数 | 上下文 | 许可证 | 备注 |
|---|---|---|---|---|
| BGE Reranker v2-m3(BAAI) | 568M | 8192 | Apache 2.0 | 多语言交叉编码器,中文场景事实标准 |
| Qwen3 Reranker | 0.6B/4B/8B | 32K | Apache 2.0 | 阿里系,中英基准强 |
| mxbai-rerank-large-v2 | ~2B | — | Apache 2.0 | 第二代,多语言 |
| ColBERTv2 | — | — | MIT(Stanford) | 迟到交互(late interaction)路线 |
关键区分:BGE v2-m3、Qwen3、mxbai、ColBERT 都是可商用开源;Jina 的权重是 CC-BY-NC-4.0(非商用),要商用走它的托管 API 或找 Elastic 买商业授权——这是新手最容易踩的许可证坑。
四、列表式 vs 点式:一个小而关键的分类
Reranker 内部还有两派:
- 点式(pointwise):每篇文档独立对查询打分,互不影响。代表是 BGE v2-m3、早期 Jina v2。
- 列表式(listwise):查询和所有候选文档共享一个上下文窗口,一次前向就把所有文档放在一起互相比较再打分。代表是 Jina v3 / v3.5。
列表式的直觉优势在于"相关性是相对的"——一篇文档该排第几,往往取决于候选集里还有什么。这让它对"结构化和法律文本"这类需要上下文对比的场景提升更大,但也需要更长的上下文窗口(Jina v3.5 支撑到 131K tokens)。
五、免费实战:一段代码把重排接进流水线
下面用一个最小示例演示"向量召回 + 重排"的两段式。核心教学内容保留这一段即可,其余用文字讲清。
# 第一段:向量召回(宽召回)
# 假设 docs 是已入库文档,先用 embedding 拿到 Top50
recalled = vector_search(query="苹果公司的股价", top_k=50)
# 第二段:Reranker 二次打分(精重排)
import requests
resp = requests.post(
"https://api.jina.ai/v1/rerank",
headers={"Authorization": "Bearer 你的KEY"},
json={
"model": "jina-reranker-v3.5",
"query": "苹果公司的股价",
"top_n": 5,
"documents": [d["text"] for d in recalled],
},
)
top5 = resp.json()["results"] # 按相关性从高到低
这段代码揭示了两段式的核心契约:重排器不自己去全库搜,它只对上游喂进来的候选集做精细排序。所以上游召回质量(用哪家 Embedding、chunk 怎么切)直接决定重排的天花板上限。想系统了解召回层怎么选型,可以回看免费 API 频道里的 Embedding 与向量数据库专题。
六、选型决策框架
| 你的约束 | 首选 | 理由 |
|---|---|---|
| 中文 RAG、要零 API 账单、能自部署 | BGE Reranker v2-m3 | Apache 2.0、中文事实标准 |
| 要列表式、131K 上下文、多语言 | Jina v3.5 托管 API | 免费层 100 RPM 起步 |
| 已用 Voyage embedding | Voyage rerank-2.5 | 一家统一计费 |
| 要开源+托管双轨、许可证干净 | mxbai-rerank-large-v2 | Apache 2.0 |
| 长文档、要 token 级相关性 | ColBERTv2 | 迟到交互路线 |
一句话原则:普通中文 RAG 选 BGE v2-m3 自部署最省;想零运维快速上生产,Jina 免费层是当前门槛最低的托管入口。
七、四个高频坑
- 许可证:Jina 权重 CC-BY-NC-4.0 非商用,商用必须走 API 或商业授权;别直接把权重塞进付费产品。
- 拿公开 benchmark 当唯一依据:BEIR/MTEB/MIRACL 是起点,真实语料词分布不同,务必用自己 100~500 条的黄金集重测一次。
- 忽略延迟预算:重排延迟叠加在召回之上,托管 API 还要加网络往返,production 前务必实测 p50/p95。
- 用英文重排器跑中文语料:ColBERTv2 base 和多数 ms-marco 系仅英语,跑中文会掉精度,先查型号卡的语言覆盖。
八、总结
重排序是 RAG 流水线里"性价比最高的一层"——它不要求你换掉已有的 Embedding 和向量库,只需在召回和生成之间补一段交叉编码器,就能把 Top10 的精确度抬上一档。2026 年的免费生态已经足够成熟:中文自部署有 Apache 2.0 的 BGE v2-m3,零运维托管有 100 RPM 免费层起步的 Jina v3.5。
把这层装上之后,你的 RAG 知识库 才会真正从"能搜"进化到"搜得准"。更多免费 API 的接入与选型,可继续浏览 免费 API 频道 的最新文章,覆盖向量检索、语音识别、多模态理解等全链路能力。所有能力都可通过统一的 OneAPI 统一调用平台 一次注册、多模型共用,注册入口在这里:免费注册。
延伸阅读
站内所有免费 API能力与接入方法都可以在频道首页按分类快速定位。