檢索系統在“召回”階段為保證效率,返回的結果可能不夠精準。排序模型能對召回的文檔進行二次精準排序,確保將與使用者查詢最相關的結果排在最前,有效提升應用準確率。
模型概覽
重要gte-rerank模型將於2026年05月30日下線,推薦使用qwen3-rerank模型替代。
新加坡
模型名稱 | 最大文檔數 | 單條最大輸入Token | 請求最大輸入Token | 語種支援 | 應用情境 |
|---|
qwen3-rerank | 500 | 4,000 | 120,000 | 中文、英語、西班牙語、法語、葡萄牙語、印尼語、日語、韓語、德語、俄羅斯語等100+主流語種 | |
北京
模型名稱 | 最大文檔數 | 單條最大輸入Token | 請求最大輸入Token | 語種支援 | 應用情境 |
|---|
qwen3-rerank | 500 | 4,000 | 120,000 | 中文、英語、西班牙語、法語、葡萄牙語、印尼語、日語、韓語、德語、俄羅斯語等100+主流語種 | |
qwen3-vl-rerank | 文本:100 圖片:40 視頻:4 | 8,000 | 120,000 | 中、英、日、韓、法、德等33種主流語言 | |
gte-rerank-v2 | 500 | 4,000 | 30,000 | 中、英、日、韓、泰語、西、法、葡、德、印尼語、阿拉伯語等50餘語種 | |
- 單條最大輸入Token:每個Query或Document的最大Token數量。單條 Query 或 Document 的輸入超過該限制時,API 會傳回 HTTP 400 錯誤,不會截斷輸入內容。
- 單次請求最大文檔數:單次請求允許的最大文檔數量。對於 qwen3-vl-rerank 模型,該限制會根據文件類型(文本、圖片、視頻、混合模態)的不同而有所差異。
- 請求最大輸入Token:計算公式為
Query Tokens × Document 數量 + Document Tokens 總和,該值不得超過請求最大輸入Token。
輸入格式限制:
模型 | 圖片 | 視頻 |
|---|
qwen3-vl-rerank | JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI(支援URL或Base64) | MP4, AVI, MOV(僅支援URL) |
前提條件
您需要已擷取 API Key並配置API Key到環境變數DASHSCOPE_API_KEY。如果通過SDK調用,還需要安裝DashScope SDK。
HTTP調用
不同模型使用不同的API介面:
- qwen3-rerank:
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-api/v1/reranks
- qwen3-vl-rerank / gte-rerank-v2:
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank
調用時請將{WorkspaceId}替換為真實的業務空間ID。
兩種介面的請求體結構和響應格式不同,請參考對應模型的請求樣本和響應樣本。
請求 要求標頭(Headers) Content-Typestring(必選) 請求內容類型。此參數必須設定為application/json。 Authorizationstring(必選) 請求身份認證。介面使用阿里雲百鍊API Key進行身份認證。樣本值:Bearer sk-xxxx。 請求體(Request Body) modelstring(必選) 模型名稱。支援的模型:qwen3-rerank、gte-rerank-v2、qwen3-vl-rerank。 inputobject(必選) 輸入內容。
當使用 qwen3-rerank 模型時,無需使用 input 對象參數。此時,query 和 documents 參數需與 model 等參數位於同一層級。
屬性 querystring | object(必選) 查詢內容。最大長度不能超過4,000個Token。 當使用qwen3-vl-rerank模型時,query支援以下兩種格式: documentsarray(必選) 待排序的候選文檔列表。每個元素是一個字串。 當使用qwen3-vl-rerank模型時,每個元素是一個字典或者字串,用於指定內容的類型和值。格式為{"模態類型": "輸入字串或映像、視頻url"}。支援text, image, video三種模態類型。
- 文本:key為
text。value為字串形式。也可不通過dict直接傳入字串。
- 圖片:key為
image。value可以是公開可訪問的URL,或Base64編碼的Data URI。Base64格式為 data:image/{format};base64,{data},其中 {format} 是圖片格式(如 jpeg、png),{data} 是Base64編碼字串。
- 視頻:key為
video,value必須是公開可訪問的URL。
parametersobject(可選) 選擇性參數。
當使用 qwen3-rerank 模型時,無需使用 parameters 對象參數。此時,top_n 和 instruct 參數需與 model 等參數位於同一層級。
屬性 top_nint(可選) 返回排序後的top_n個文檔。預設返回全部文檔。如果指定的值大於文檔總數,將返回全部文檔。 return_documentsbool(可選) 是否在排序結果中返迴文檔原文。預設值false,以減少網路傳輸開銷。支援的模型:gte-rerank-v2、qwen3-vl-rerank。 instruct string 可選 添加自訂排序任務類型說明,僅在使用 qwen3-rerank 及qwen3-vl-rerank模型時生效。通過該參數可以指導模型採用不同的排序策略,例如:
-
問答檢索任務(預設):"Given a web search query, retrieve relevant passages that answer the query."
- 側重點:尋找問題的答案。模型會優先評估文檔是否解答了Query中的問題。
- 樣本:對於Query“如何預防感冒?”,文檔“勤洗手是預防感冒的有效方法”會獲得高分;而文檔“感冒是一種常見疾病”雖然主題相關,但因未提供答案,得分會顯著更低。
-
語義相似性排序任務:"Retrieve semantically similar text."
- 側重點:判斷語義的等價性。模型會評估Query和文檔的核心含義是否一致,而不管具體措辭或句式。
- 樣本:在FAQ情境中,使用者Query“如何修改密碼?”與候選問題“忘記密碼怎麼辦?”在語義上高度相似,應獲得高分。模型會關注兩者是否指向同一個使用者意圖。
建議使用英文撰寫。如不指定該參數,將預設按問答檢索任務進行排序。更多任務指令可參考模型倉庫中的樣本。 fps float 可選 僅qwen3-vl-rerank模型支援此參數。控制視頻的幀數,比例越小,實際抽取的幀數越少,範圍為 [0,1]。預設值為1.0。 | qwen3-rerankcurl --request POST \
--url https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/reranks \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen3-rerank",
"documents": [
"文本排序模型廣泛用於搜尋引擎和推薦系統中,它們根據文本相關性對候選文本進行排序",
"量子計算是計算科學的一個前沿領域",
"預訓練語言模型的發展給文本排序模型帶來了新的進展"
],
"query": "什麼是文本排序模型",
"top_n": 2,
"instruct": "Given a web search query, retrieve relevant passages that answer the query."
}'
調用時請將WorkspaceId替換為真實的業務空間ID。
qwen3-vl-rerank文字查詢 curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen3-vl-rerank",
"input":{
"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"}
]
},
"parameters": {
"return_documents": true,
"top_n": 2,
"fps": 1.0
}
}'
圖片查詢 curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen3-vl-rerank",
"input":{
"query": {"image": "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"},
"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"}
]
},
"parameters": {
"return_documents": true,
"top_n": 2,
"fps": 1.0
}
}'
gte-rerank-v2curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "gte-rerank-v2",
"input":{
"query": "什麼是文本排序模型",
"documents": [
"文本排序模型廣泛用於搜尋引擎和推薦系統中,它們根據文本相關性對候選文本進行排序",
"量子計算是計算科學的一個前沿領域",
"預訓練語言模型的發展給文本排序模型帶來了新的進展"
]
},
"parameters": {
"return_documents": true,
"top_n": 2
}
}'
|
響應 request_idstring 請求唯一標識。可用於請求明細溯源和問題排查。 outputobject 任務輸出資訊。
當使用 qwen3-rerank 模型時,響應中不包含 output 對象,results 直接位於響應頂層。
屬性 resultsarray 排序結果清單。按 relevance_score 從高到低排列。 屬性 documentdict 文檔原文對象。僅在請求參數 return_documents 為 true 時返回。結構為 {"text": "文檔原文"}。 indexint 表示該結果對應於輸入 documents 列表中的原始索引位置。 relevance_scoredouble 該文檔與查詢的語義相關性得分,取值範圍為 0.0 到 1.0。分數越高,相關性越強。 說明此分數為當前請求中的相對分數,主要用於對本次請求內的文檔排序,不可作為跨請求比較的絕對值。 usageobject 輸出資訊統計。 屬性 total_tokensint 本次請求消耗的總 Token 數量。 codestring 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤碼。 messagestring 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤碼。 | 成功響應{
"object": "list",
"results": [
{
"index": 0,
"relevance_score": 0.9334521178273196
},
{
"index": 2,
"relevance_score": 0.34100082626411193
}
],
"model": "qwen3-rerank",
"id": "85ba5752-1900-47d2-8896-23f99b13f6e1",
"usage": {
"total_tokens": 79
}
}
{
"output": {
"results": [
{
"document": {
"text": "文本排序模型廣泛用於搜尋引擎和推薦系統中,它們根據文本相關性對候選文本進行排序"
},
"index": 0,
"relevance_score": 0.9334521178273196
},
{
"document": {
"text": "預訓練語言模型的發展給文本排序模型帶來了新的進展"
},
"index": 2,
"relevance_score": 0.34100082626411193
}
]
},
"usage": {
"total_tokens": 79
},
"request_id": "85ba5752-1900-47d2-8896-23f99b13f6e1"
}
失敗響應在訪問請求出錯的情況下,輸出的結果中會通過code和message指明出錯原因。 {
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
|
SDK調用
調用樣本
以下樣本展示了調用文檔排序模型API的程式碼範例。
SDK 的參數命名與HTTP介面基本一致,參數結構進行了一定封裝。比如 HTTP 使用嵌套的 input 和 parameters 結構,但SDK 使用扁平參數。請在開發時注意區分。
import dashscope
# 以下為華北2(北京)地區的配置,調用時請將{WorkspaceId}替換為真實的業務空間ID,各地區的配置不同。
dashscope.base_http_api_url = "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1"
def text_rerank():
resp = dashscope.TextReRank.call(
model="gte-rerank-v2",
query="什麼是文本排序模型",
documents=[
"文本排序模型廣泛用於搜尋引擎和推薦系統中,它們根據文本相關性對候選文本進行排序",
"量子計算是計算科學的一個前沿領域",
"預訓練語言模型的發展給文本排序模型帶來了新的進展"
],
top_n=2,
return_documents=True
)
print(resp)
if __name__ == '__main__':
text_rerank()
以下樣本展示了使用qwen3-vl-rerank模型進行多模態排序(以圖片作為查詢)的程式碼範例。
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"
def vl_rerank():
resp = dashscope.TextReRank.call(
model="qwen3-vl-rerank",
query={"image": "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"},
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))
else:
print(resp)
if __name__ == '__main__':
vl_rerank()
輸出樣本
說明SDK對原始HTTP響應進行了封裝,成功時會固定返回code和message欄位,值為空白字串。
{
"status_code": 200,
"request_id": "4b0805c0-6b36-490d-8bc1-4365f4c89905",
"code": "",
"message": "",
"output": {
"results": [
{
"index": 0,
"relevance_score": 0.9334521178273196,
"document": {
"text": "文本排序模型廣泛用於搜尋引擎和推薦系統中,它們根據文本相關性對候選文本進行排序"
}
},
{
"index": 2,
"relevance_score": 0.34100082626411193,
"document": {
"text": "預訓練語言模型的發展給文本排序模型帶來了新的進展"
}
}
]
},
"usage": {
"total_tokens": 79
}
}
錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤碼進行解決。