文本檢索系統在“召回”階段為保證效率,返回的結果可能不夠精準。文本排序模型能對召回的文檔進行二次精準排序,確保將與使用者查詢最相關的結果排在最前,有效提升應用準確率。
模型概覽
模型名稱 | 最大Document數量 | 單條最大輸入Token | 請求最大輸入Token | 語種支援 | 單價(每百萬輸入Token) | 應用情境 |
gte-rerank-v2 | 500 | 4,000 | 30,000 | 中、英、日、韓、泰語、西、法、葡、德、印尼語、阿拉伯語等50餘語種 | $0.115 |
|
單條最大輸入Token:每個Query或Document的最大Token數量為4,000。輸入內容超長將被截斷。API僅基於截斷後的內容計算,這可能導致排序結果不準確。
最大Document數量:每次請求中Document的最大數量為500。
請求最大輸入Token:每次請求中所有Query和Document的Token總數不得超過30,000。
前提條件
您需要已擷取 API Key並配置API Key到環境變數DASHSCOPE_API_KEY。如果通過SDK調用,還需要安裝DashScope SDK。
HTTP調用
POST https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank請求 | 文本排序 |
要求標頭(Headers) | |
Content-Type 請求內容類型。此參數必須設定為 | |
Authorization 請求身份認證。介面使用阿里雲百鍊API-Key進行身份認證。樣本值:Bearer sk-xxxx。 | |
請求體(Request Body) | |
model 模型名稱。支援的模型:gte-rerank-v2。 | |
input 輸入內容。 | |
parameters object (可選) 選擇性參數。 |
響應 | 成功響應失敗響應在訪問請求出錯的情況下,輸出的結果中會通過 |
request_id 請求唯一標識。可用於請求明細溯源和問題排查。 | |
output 任務輸出資訊。 | |
usage 輸出資訊統計。 | |
code 請求失敗的錯誤碼。請求成功時不會返回此參數,詳情請參見錯誤資訊。 | |
message 請求失敗的詳細資料。請求成功時不會返回此參數,詳情請參見錯誤資訊。 |
SDK調用
調用樣本
以下樣本展示了調用文檔排序模型API的程式碼範例。
SDK 的參數命名與HTTP介面基本一致,參數結構進行了一定封裝。比如 HTTP 使用嵌套的input和parameters結構,但SDK 使用扁平參數。請在開發時注意區分。
import dashscope
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()輸出樣本
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
}
}錯誤碼
如果模型調用失敗並返回報錯資訊,請參見錯誤資訊進行解決。