重排序(Rerank)是 RAG 链路里性价比很高的一步:只对召回的几十条候选重新打分,却常能把有用的片段从第五名提到第一。很多团队想先用免费额度验证效果,但要先弄清“免费”免的是什么、换走了什么。
本文拆解免费额度的形态、限制、隐私边界与质量判断,说明哪些场景适合先用、何时该迁到付费。文中不写死配额数字,请以官方页面为准。
说明:Cohere、Jina、BAAI、BGE 等名称归各自权利人所有,本文与上述机构无隶属或代理关系。免费额度、试用条款、模型许可与价格可能调整,请以厂商官方页面和模型卡为准。
一、“免费”通常指哪几种
市面上的“免费重排序”一般有四类,成本结构完全不同:
- 厂商试用额度:托管 API 提供有限次数试用,通常有限流和并发限制,部分要求绑定支付方式,条款可能限定仅用于评估。
- 平台赠送额度:网关或聚合平台给新用户少量额度,适合跑通接口,但同样受限流和数据条款约束。
- 开源自部署:权重可免费下载,但需要 GPU 或 CPU、部署和运维人力;许可证要逐个确认,不能默认可商用。
- 轻量自建:较小的交叉编码器可在 CPU 跑低并发场景,门槛低,但效果和吞吐通常弱于大模型。
“免费”不是没有成本,而是把成本转移到时间、运维、隐私或效果上。
二、免费额度常见的限制
免费层几乎不承诺生产级服务,下面这些限制最影响项目:
| 限制类型 | 常见表现 | 对项目的影响 | 应对方式 |
|---|---|---|---|
| 调用量与速率 | 每日或每分钟调用上限、并发较低 | 压测和高峰期容易失败 | 加缓存、队列和客户端限流 |
| 单次候选数 | 每次请求只能提交有限条文档 | 限制召回上限,长尾内容进不来 | 先粗排缩减候选,再分批打分 |
| 文本长度 | 超长文档被截断 | 长合同、长手册漏掉关键段落 | 按语义切块,分段打分后合并 |
| 数据条款 | 免费层可能记录请求或用于服务改进 | 敏感内容不适合直接提交 | 脱敏、合成数据或私有化部署 |
| 商用许可 | 试用额度仅限评估,或禁止商用 | 上线前必须更换授权方式 | 提前阅读条款,不用试用跑正式业务 |
| 稳定性与版本 | 无 SLA,模型版本可能随时调整 | 排序结果漂移,难以复盘 | 固定版本,保留回归评测集 |
最容易被低估的是单次候选数和文本长度:效果差往往不是模型不行,而是候选没送进去或关键段落被截断。
三、开源重排模型:自己部署的账
开源模型让数据留在自己环境里,但“免费下载”不等于“零成本”。显存、推理延迟、模型升级、监控和故障处理都要算。低并发内部工具可用 CPU 起步;在线服务通常需要 GPU 和并发控制。
如果只是想验证值不值得用,可以按五步做一次小规模对比:
- 从真实日志挑 100–300 条查询,标注相关性等级,建立评测集。
- 固定候选集,直接用生产检索的前 20–50 条,保证每次可比。
- 先跑基线:不做重排的向量相似度顺序,以及关键词或 BM25 顺序。
- 再跑候选重排模型,记录 NDCG@10、MRR、Top-3 命中率和 P95 延迟。
- 核对模型许可证与数据路径,确认可商用、可留存日志后再决定上线。
下面是一个最小可用的自部署示例,模型名仅作演示,实际以模型卡和许可证为准:
from sentence_transformers import CrossEncoder
# 模型名仅作示例,请按模型卡确认语言、长度与许可证
model = CrossEncoder("BAAI/bge-reranker-v2-m3", max_length=512)
query = "退货政策是什么?"
docs = [
"签收后七天内可申请退货,需保持商品完好。",
"运费说明:偏远地区可能加收费用。",
"会员积分在订单完成后发放。",
]
scores = model.predict([(query, d) for d in docs])
ranked = sorted(zip(scores, docs), reverse=True)
for score, doc in ranked:
print(round(float(score), 4), doc[:40])
这段代码只做排序演示,生产还要加超时、批大小控制、重试和日志脱敏。
四、免费方案的质量怎么判断
免费不等于效果差,付费也不一定适合你的语料。看四点:
- 语言与领域:公开榜单不能替代自有评测,中文、小语种和行业术语都要单独测。
- 候选质量:重排只能重排已召回的内容,正确片段不在候选里,模型再强也无能为力。
- 打分可比性:不同模型和版本的分数尺度不同,不要拿 A 的阈值套 B,只看排序结果。
- 长文档与混合语言:最容易暴露截断和多语言问题,评测集要专门覆盖。
常见误区是拿几个演示问题试一下,觉得排序对了就上线。演示问题太简单,区分不出差异;要用真实查询、真实候选和分级标注。
五、隐私与合规边界
重排请求包含查询和文档原文,信息密度可能高于普通对话。合同、客户资料、代码片段一旦提交到外部免费层,风险不只是泄露,还包括留存期限、是否用于训练、存储地点和删除机制。
顺序是先给数据分级,再看方案:公开资料可用托管试用;内部资料至少确认不留存、不训练;敏感数据优先私有化或签数据处理协议。用网关还要看一层:是否记录请求内容、日志留多久、是否用于其他用途。
试用阶段用脱敏或合成数据跑通链路,不要把生产库直接接进去。
六、适合与不适合的场景
免费重排比较适合:
- 概念验证和内部演示。
- 低并发内部工具,偶尔限流可接受。
- 离线批量评测,不要求实时响应。
- 小型知识库,文档不敏感,团队能自己部署开源模型。
- 采购前横向对比,用同一套评测集比较几家方案。
不太适合:
- 面向客户的高并发服务,需要稳定延迟和故障承诺。
- 数据敏感且没有私有化条件,只能依赖外部免费层。
- 候选文档很长、量很大,免费层的单次限制会直接卡住效果。
- 有审计、留存和权限追溯要求的企业场景。
- 长期生产但团队无力运维 GPU,最后仍要回到托管服务。
七、从免费到付费的迁移路径
出现频繁限流、P95 延迟不稳、评测分数见顶、合规不通过或调用量持续增长,就该考虑迁移。通常有三条路:
- 换托管付费 API:改动小、省运维,重点比额度、限流、数据条款和发票。
- 开源自部署:数据可控,量大时可能更划算,但要算 GPU、人力和稳定性成本。
- 走统一网关:一个入口管理多家模型和密钥,便于切换和计量;支持范围以站内模型列表为准。
无论走哪条路都要保留降级:重排超时回退到向量相似度或关键词排序,并记录次数。
常见问题
免费额度能直接用在生产环境吗?
多数免费层定位是评估试用,条款、限流和稳定性都不按生产标准设计。上线前确认商用许可、SLA 和数据处理方式,再选付费托管或私有化。
开源重排模型可以商用吗?
取决于具体模型许可证。有的宽松,有的附带额外限制。使用前逐个查看模型卡和 LICENSE,不要因为能下载就默认可商用。
免费重排和付费重排效果差多少?
没有统一答案,差异来自模型规模、语言能力、输入长度和候选数量。用同一套评测集比较 NDCG@10、Top-3 命中率和延迟,比看宣传页可靠。
重排能显著提升 RAG 效果吗?
前提是正确片段已被召回。召回阶段漏掉答案,重排无法补救。先看 Recall@k,再判断收益;很多问题其实在切块和召回。
中文场景应该选开源模型还是国外 API?
两边都值得测。开源在数据可控和成本上有优势,托管在免运维和稳定性上有优势。把中文、行业术语和长文档加入评测集,再结合数据出境和预算决定。
下一步
想低成本验证重排链路,可用小额预算注册中商起航 AI 网关,把检索、重排和生成串起来跑一遍,再决定托管还是自部署。模型与价格以模型价格为准。
相关阅读:
