Skip to main content
向量與重排序

重排序

檢索系統優先保證速度,因此結果的精確度可能不夠理想。重排序模型對檢索到的文檔重新打分,將最相關的結果排在前面,顯著提升搜尋精度。

重排序最能發揮價值的情境:當初始檢索返回 20-100+ 個相關度參差不齊的候選結果時,重排序的精度提升最為顯著。如果檢索已返回高度相關的結果(如精確關鍵詞匹配),則重排序的價值較小。典型的 RAG 流程:先通過 Embedding 檢索 50-100 個候選結果,再通過重排序篩選 Top 5-10,最後傳入大語言模型。

前提條件

請先擷取API Key配置API Key到環境變數。如需使用 SDK,請安裝SDK

重排序文檔

將查詢和候選文檔列表傳給 API,模型將按相關性對文檔進行排序後返回。

文本重排序(qwen3-rerank)

  • OpenAI 相容
  • DashScope
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.getenv("DASHSCOPE_API_KEY"),
  base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-api/v1",
)

results = client.post(
  "/reranks",
  body={
    "model": "qwen3-rerank",
    "query": "什麼是重排序模型",
    "documents": [
      "重排序模型廣泛應用於搜尋引擎和推薦系統,按相關性對候選文本進行排序",
      "量子計算是計算科學的前沿領域",
      "預訓練語言模型的發展為重排序模型帶來了新的進展"
    ],
    "top_n": 2
  },
  cast_to=object
)

print(results)

多模態重排序(qwen3-vl-rerank)

qwen3-vl-rerank 支援文本、圖片和視頻的混合排序。查詢可以是文本或圖片,文檔可以包含文本、圖片和視頻。
多模態重排序需要使用 DashScope SDK 或 API,不支援 OpenAI 相容介面。
Python
import dashscope
from http import HTTPStatus
import json

# 以下為華北2(北京)地區的配置,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的配置不同。
dashscope.base_http_api_url = 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1'

resp = dashscope.TextReRank.call(
  model="qwen3-vl-rerank",
  query={"text": "什麼是文本排序模型"},
  documents=[
    {"text": "文本排序模型廣泛用於搜尋引擎和推薦系統中"},
    {"image": "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"},
    {"video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"}
  ],
  top_n=2,
  return_documents=True
)

if resp.status_code == HTTPStatus.OK:
  print(json.dumps(resp, default=str, ensure_ascii=False, indent=4))

核心功能

使用指令提升排序效果(instruct)

instruct 參數可以引導模型使用不同的排序策略。請使用英文編寫指令。
  • 問答檢索(預設)"Given a web search query, retrieve relevant passages that answer the query." 側重於尋找答案。對於查詢"如何預防感冒?","勤洗手可預防感冒"的分數會高於"感冒是一種常見病"(主題相關但未回答問題)。
  • 語義相似性"Retrieve semantically similar text." 側重於語義等價,不受措辭影響。例如:"如何修改密碼?"可匹配"忘記密碼怎麼辦?"(FAQ 情境)。
未設定時,模型預設使用問答檢索策略。
OpenAI 相容

curl --request POST \
  --url https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-api/v1/reranks \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "qwen3-rerank",
    "query": "如何修改密碼?",
    "documents": [
      "點擊設定 > 安全 > 修改密碼即可更新憑據",
      "忘記密碼怎麼辦?",
      "我們的平台支援雙因素認證"
    ],
    "instruct": "Retrieve semantically similar text."
}'

返回前 N 個結果(top_n)

使用 top_n 僅返回排名最高的文檔。如未設定,則返回按相關性排序的所有文檔。如果 top_n 超過文檔總數,則返回所有文檔。

模型概覽

gte-rerank模型將於2026年05月30日下線,推薦使用qwen3-rerank模型替代。
  • 新加坡
  • 北京

模型

最大文檔數

單條最大 Token 數

單次請求最大 Token 數

支援語言

適用情境

qwen3-rerank

500

4,000

120,000

100+ 語言

語義文本搜尋、RAG 應用

關鍵術語:
  • 單條最大 Token 數:單條查詢或文檔的最大 Token 數。單條查詢或文檔的輸入超過該限制時,API 會傳回 HTTP 400 錯誤,不會截斷輸入內容。
  • 單次請求最大文檔數:單次請求允許的最大文檔數量。對於 qwen3-vl-rerank 模型,該限制會根據文件類型(文本、圖片、視頻、混合模態)的不同而有所差異。
  • 單次請求最大 Token 數:計算公式為 查詢 Token 數 x 文檔數量 + 所有文檔 Token 總數,該值不能超過單次請求上限。

API 參考

參見排序模型(Rerank)

錯誤碼

如果調用失敗,請參見錯誤碼

限流

請參見限流
Token Plan
模型體驗
用量統計與效能監控
資產中心
服務支援