在国内做重排序:阿里云百炼、硅基流动,还是自己部署

实践 · 约 8 分钟阅读 ·

服务器在国内时,常见的建议 —— 调用 Cohere 或 Voyage,或者从 Hugging Face 下载权重 —— 会碰到连接慢甚至连不上、要用外币付费的问题。在国内比较好走的路有三条:阿里云百炼、硅基流动,或者自己部署开源模型。本指南只用各厂商自己公布的信息,从价格、中文效果和接入方式三方面对比它们。

三条路一览

方案模型价格适合什么情况
阿里云百炼 qwen3-rerank、qwen3.7-text-rerank、qwen3-vl-rerank(支持图片和视频) 每百万输入 token ¥0.5 已经在用阿里云,需要处理长文档或多种语言,又不想自己维护 GPU
硅基流动 托管的开源模型,包括 bge-reranker-v2-m3、bce-reranker-base_v1、Qwen3-Reranker 0.6B / 4B / 8B 和多模态的 Qwen3-VL-Reranker-8B bge-reranker-v2-m3 免费;Pro 版每百万 token ¥0.07 想用开源模型但不想自己部署,或者想先从免费额度开始
自己的服务器 用 CPU 就能跑的 bge-reranker-v2-m3、需要 GPU 的 Qwen3-Reranker-4B,以及更小的 gte-multilingual-reranker-base 没有按调用收费;成本是硬件 数据不能离开自己的网络,或者调用量大到自建 GPU 比 API 更便宜

这三条路并不互斥。常见的做法是先用硅基流动免费的 bge-reranker-v2-m3,在自己的查询上测一测,然后要么继续用托管服务,要么把同一个开源模型搬到自己的机器上 —— 分数不会变,因为是同一个模型。

这些模型的中文效果如何

目前覆盖了其中大多数模型的中文检索公开对比,只有 Qwen 做的这一份:CMTEB-R,即中文 MTEB 的检索任务,对 Qwen3-Embedding-0.6B 召回的前 100 条重排序。这是 Qwen 自己的测试,所以把它当作大致的档位参考,而不是最终排名。

模型规模CMTEB-RMMTEB-R(多语言)
bge-reranker-v2-m3568M72.1658.36
gte-multilingual-reranker-base306M74.0859.44
Qwen3-Reranker-0.6B0.6B71.3166.36
Qwen3-Reranker-4B4B75.9472.74
Qwen3-Reranker-8B8B77.4572.94

数据来自 Qwen3-Reranker 模型卡,每天核对。阿里云没有为托管的 qwen3-rerank、qwen3.7-text-rerank 和 qwen3-vl-rerank 公布分数,所以它们不在表中。

有两点值得注意。306M 的 gte-multilingual-reranker-base 在中文上的分数高于 bge-reranker-v2-m3,体积却只有它的一半左右,是这里部署成本最低的模型。另外,从 bge-reranker-v2-m3 换到 Qwen3-Reranker-4B,中文上提升不大,多语言那一列却提升很多 —— 语料混合多种语言时值得换,只做中文就没那么必要。经典的英文模型(ms-marco MiniLM、Jina v1、mxbai v1)没有用中文训练过,不在考虑之列。

阿里云百炼

百炼(Model Studio)提供三个重排序模型,在北京地域按每百万输入 token 以人民币计费:

三个模型都支持 instruct 参数,用来说明什么算“相关”;不传时默认按问答检索排序,阿里云建议用英文写指令(见指令跟随重排序)。较早的 gte-rerank 已于 2026 年 5 月 30 日下线,gte-rerank-v2 仍在售。qwen3-rerank 在国际站也有,每百万 token $0.1。

# From Alibaba Cloud's Model Studio docs (qwen3-rerank)
curl --request POST \
  --url https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-api/v1/reranks \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "qwen3-rerank",
    "query": "什么是文本排序模型",
    "documents": [
      "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序",
      "量子计算是计算科学的一个前沿领域",
      "预训练语言模型的发展给文本排序模型带来了新的进展"
    ],
    "top_n": 2
  }'

qwen3.7-text-rerank、qwen3-vl-rerank 和 gte-rerank-v2 用的是另一个接口和请求格式;百炼重排序 API 文档里两种都有。

硅基流动

硅基流动(SiliconFlow)用一个 rerank 接口托管其他厂商的开源模型,所以你调用的就是公开发布的开源模型,上面的表格描述的就是它。它的价格页上 bge-reranker-v2-m3 免费,Pro 版每百万 token ¥0.07;没有列出 Qwen3-Reranker 的价格。

import requests

resp = requests.post(
    "https://api.siliconflow.cn/v1/rerank",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "BAAI/bge-reranker-v2-m3",
        "query": "如何退货",
        "documents": ["退货需在收货后七天内申请", "我们的门店营业时间为早九点到晚九点"],
        "top_n": 1,
    },
).json()

for r in resp["results"]:
    print(r["index"], r["relevance_score"])

有两个参数只对部分模型有效。instruction 只支持 Qwen3-Reranker 系列。对于 bge-reranker-v2-m3 和 bce-reranker-base_v1,硅基流动会自己把长文档切成片段(max_chunks_per_doc、overlap_tokens),取得分最高的片段作为整篇文档的分数 —— 很方便,但意味着一篇长文档只凭其中最好的一段胜出。Qwen3-VL-Reranker-8B 有自己的多模态请求格式。详见硅基流动重排序 API 文档。

自己部署:怎么下载权重

这些模型都是开源的,但在国内访问 huggingface.co 经常很慢甚至连不上。有两个办法:

# Linux / macOS — from hf-mirror.com's own instructions
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download BAAI/bge-reranker-v2-m3 --local-dir bge-reranker-v2-m3

# With HF_ENDPOINT set, sentence-transformers fetches from the mirror too
python -c "from sentence_transformers import CrossEncoder; CrossEncoder('BAAI/bge-reranker-v2-m3')"

之后的部署就和在其他地方一样了 —— 见自建重排序服务。bge-reranker-v2-m3 用 CPU 就能跑;Qwen3-Reranker-4B 需要 GPU。我们的浏览器 Demo 也用了镜像:它同时向 huggingface.co 和 hf-mirror.com 请求模型,哪边先响应就用哪边。

费用

阿里云和硅基流动都按 token 计费,所以费用取决于你重排序多少候选、每条有多长,而不只是查询次数。成本计算器的人民币表能按你的量级算出来,段落超过 qwen3-rerank 的长度上限时还会提示。免费额度和试用金不计算在内;请查看各厂商的价格页。

不管选哪条路,都先给 30–100 条自己的查询标注相关性,比较之后再定 —— 评估指南里有做法。

延伸阅读