SDK使用
前提条件
pip install dashscope
调用示例
以下示例展示了调用文档排序模型API的代码示例。
需要使用您的API-KEY替换示例中的YOUR_DASHSCOPE_API_KEY
,代码才能正常运行。
设置API-KEY
export DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY
import dashscope
from http import HTTPStatus
def text_rerank():
resp = dashscope.TextReRank.call(
model=dashscope.TextReRank.Models.gte_rerank,
query="什么是文本排序模型",
documents=[
"文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序",
"量子计算是计算科学的一个前沿领域",
"预训练语言模型的发展给文本排序模型带来了新的进展"
],
top_n=10,
return_documents=True
)
if resp.status_code == HTTPStatus.OK:
print(resp)
else:
print(resp)
if __name__ == '__main__':
text_rerank()
输出示例
{
"status_code": 200, // 200 indicate success otherwise failed.
"request_id": "9676afe6-fa1a-9895-bf00-b8376333062a", // The request id.
"code": "", // If failed, the error code.
"message": "", // If failed, the error message.
"output": {
"results": [
{
"index": 0,
"relevance_score": 0.7314485774089865,
"document": {
"text": "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序"
}
},
{
"index": 2,
"relevance_score": 0.5831720487049298,
"document": {
"text": "预训练语言模型的发展给文本排序模型带来了新的进展"
}
},
{
"index": 1,
"relevance_score": 0.04973238644524712,
"document": {
"text": "量子计算是计算科学的一个前沿领域"
}
}
]
},
"usage": {
"total_tokens": 79
}
}
参数详解
请求参数
参数名称
类型
必选
描述
示例值
model
String
是
调用的模型名称,可以选择gte-rerank
gte-rerank
query
String
是
query最大长度不能超过4000个字符
"什么是文本排序模型"
documents
List
是
待排序的候选doc列表
["量子计算是计算科学的一个前沿领域", "预训练语言模型的发展给文本排序模型带来了新的进展"]"文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序",
top_n
Integer
否
排序返回的top文档数量, 如果没有指定则返回全部候选doc,如果指定的top_n值大于输入的候选doc数量,返回全部doc。
10
return_documents
Boolean
否
返回的排序结果列表里面是否返回每一条document原文,默认值False。
False
响应参数
字段
类型
描述
示例值
output.results
Array
本次请求的算法输出内容,是一个由结构组成的数组,每一个数组中包含一个对应的输入 text的算法输出内容。
[ { "document": { "text": "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序" }, "index": 0, "relevance_score": 0.7314485774089865 }, { "document": { "text": "预训练语言模型的发展给文本排序模型带来了新的进展" }, "index": 2, "relevance_score": 0.5831720487049298 }, { "document": { "text": "量子计算是计算科学的一个前沿领域" }, "index": 1, "relevance_score": 0.04973238644524712 } ]
output.results.index
Integer
本结构中的算法结果对应的doc在输入候选doc数组中的位置索引值
0,1,2,3...
output.results.relevance_score
Double
相似度分数
-
output.results.document
Dict
doc原文内容
-
usage
Dict
本次请求消耗的token数
{ "total_tokens": 79 }
request_id
String
本次请求的系统唯一码
7574ee8f-38a3-4b1e-9280-11c33ab46e51
HTTP使用说明
本模型还可通过HTTP的方式进行调用,以适用更灵活的业务开发,下方示例提供了CURL命令,其中用POST方式请求了接口:https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank
参数详解
请求参数
传参方式
字段
类型
必选
描述
示例值
Header
Content-Type
String
是
请求类型:application/json。
application/json
Authorization
String
是
API-KEY的获取方式参考上方文档中的调用前准备
Bearer d1**2a
Body
model
String
是
指明需要调用的模型。
gte-rerank
query
String
是
query最大长度不能超过4000个字符。
"什么是文本排序模型"
documents
Array
是
待排序的候选doc列表。
[ "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序", "量子计算是计算科学的一个前沿领域", "预训练语言模型的发展给文本排序模型带来了新的进展" ]
parameters.top_n
Integer
否
排序返回的top文档数量,如果没有指定则返回全部候选doc,如果指定的top_n值大于输入的候选doc数量,返回全部doc。
10
parameters.return_documents
Bool
否
返回的排序结果列表里面是否返回每一条document原文,默认值False。
True
响应参数
字段
类型
描述
示例值
output.results
Array
本次请求的算法输出内容,是一个由结构组成的数组,每一个数组中包含一个对应的输入 text的算法输出内容。
[ { "document": { "text": "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序" }, "index": 0, "relevance_score": 0.7314485774089865 }, { "document": { "text": "预训练语言模型的发展给文本排序模型带来了新的进展" }, "index": 2, "relevance_score": 0.5831720487049298 }, { "document": { "text": "量子计算是计算科学的一个前沿领域" }, "index": 1, "relevance_score": 0.04973238644524712 } ]
output.results.index
Integer
本结构中的算法结果对应的doc在输入候选doc数组中的位置索引值。
0,1,2,3...
output.results.relevance_score
Double
相似度分数。
-
output.results.document
Dict
doc原文内容。
-
usage
Dict
本次请求消耗的token数。
{ "total_tokens": 79 }
request_id
String
本次请求的系统唯一码。
7574ee8f-38a3-4b1e-9280-11c33ab46e51
调用示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank' \
--header 'Authorization: Bearer <YOUR-DASHSCOPE-API-KEY> \
--header 'Content-Type: application/json' \
--data '{
"model": "gte-rerank",
"input":{
"query": "什么是文本排序模型",
"documents": [
"文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序",
"量子计算是计算科学的一个前沿领域",
"预训练语言模型的发展给文本排序模型带来了新的进展"
]
},
"parameters": {
"return_documents": true,
"top_n": 5
}
}'
输出示例
{
"output": {
"results": [
{
"document": {
"text": "文本排序模型广泛用于搜索引擎和推荐系统中,它们根据文本相关性对候选文本进行排序"
},
"index": 0,
"relevance_score": 0.7314485774089865
},
{
"document": {
"text": "预训练语言模型的发展给文本排序模型带来了新的进展"
},
"index": 2,
"relevance_score": 0.5831720487049298
},
{
"document": {
"text": "量子计算是计算科学的一个前沿领域"
},
"index": 1,
"relevance_score": 0.04973238644524712
}
]
},
"usage": {
"total_tokens": 79
},
"request_id": "d09e1029-e3a7-9fee-a7b0-d75af1c73932"
}
调用失败示例
在访问请求出错的情况下,输出的结果中会通过code
和message
指明出错原因。
{
"code":"InvalidApiKey",
"message":"Invalid API-key provided.",
"request_id":"fb53c4ec-1c12-4fc4-a580-cdb7c3261fc1"
}
错误码
如果模型调用失败并返回报错信息,请参见错误码进行解决。