检索系统优先保证速度,因此结果的精确度可能不够理想。重排序模型对检索到的文档重新打分,将最相关的结果排在前面,显著提升搜索精度。
重排序最能发挥价值的场景:当初始检索返回 20-100+ 个相关度参差不齐的候选结果时,重排序的精度提升最为显著。如果检索已返回高度相关的结果(如精确关键词匹配),则重排序的价值较小。典型的 RAG 流程:先通过 Embedding 检索 50-100 个候选结果,再通过重排序筛选 Top 5-10,最后传入大语言模型。
前提条件
请先获取与配置 API Key并配置API Key到环境变量。如需使用 SDK,请安装SDK。
重排序文档
将查询和候选文档列表传给 API,模型将按相关性对文档进行排序后返回。
文本重排序(qwen3-rerank)
- OpenAI 兼容
- DashScope
多模态重排序(qwen3-vl-rerank)
qwen3-vl-rerank 支持文本、图片和视频的混合排序。查询可以是文本或图片,文档可以包含文本、图片和视频。
多模态重排序需要使用 DashScope SDK 或 API,不支持 OpenAI 兼容接口。
Python
核心功能
使用指令提升排序效果(instruct)
instruct 参数可以引导模型使用不同的排序策略。请使用英文编写指令。
-
问答检索(默认):
"Given a web search query, retrieve relevant passages that answer the query."侧重于寻找答案。对于查询"如何预防感冒?","勤洗手可预防感冒"的分数会高于"感冒是一种常见病"(主题相关但未回答问题)。 -
语义相似度:
"Retrieve semantically similar text."侧重于语义等价,不受措辞影响。例如:"如何修改密码?"可匹配"忘记密码怎么办?"(FAQ 场景)。
OpenAI 兼容
返回前 N 个结果(top_n)
使用 top_n 仅返回排名最高的文档。如未设置,则返回按相关性排序的所有文档。如果 top_n 超过文档总数,则返回所有文档。
模型概览
模型 | 最大文档数 | 单条最大 Token 数 | 单次请求最大 Token 数 | 支持语言 | 适用场景 |
|---|---|---|---|---|---|
qwen3-vl-rerank | 文本:100 图片:40 视频:4 | 8,000 | 120,000 | 中文、英文、日语、韩语等 33 种语言 | 多模态搜索结果重排序(文本、图片、视频) |
qwen3-rerank | 500 | 4,000 | 120,000 | 100+ 语言:中文、英文、西班牙语、法语等 | 语义文本搜索、RAG 应用 |
gte-rerank-v2 | 500 | 4,000 | 30,000 | 50+ 语言:中文、英文、日语、韩语、泰语等 | 语义文本搜索、RAG 应用 |
- 单条最大 Token 数:单条查询或文档的最大 Token 数。超出限制的内容将被截断,排序结果仅基于截断后的内容计算,可能影响排序精度。
- 单次请求最大文档数:单次请求允许的最大文档数量。对于 qwen3-vl-rerank 模型,该限制会根据文档类型(文本、图片、视频、混合模态)的不同而有所差异。
- 单次请求最大 Token 数:计算公式为
查询 Token 数 x 文档数量 + 所有文档 Token 总数,该值不能超过单次请求上限。