重排序
在电商搜索或信息检索场景中,用户期望获取与查询高度相关的结果,但文本检索系统在“召回”阶段为保证效率,返回的结果可能不够精准。通过文本排序模型可对召回的文档进行二次精准排序。创建重排序API提供灵活的数据项排序功能,确保最相关结果优先展示,从而提升用户体验和应用准确率。
前提条件
- 已在页签开通预置服务。详情请见开通MaaS预置服务。
- (可选)如果需要控制服务调用流量,可提前创建自定义接入点,详情请参见MaaS创建自定义接入点。
- 已获取API Key。详情请见在MaaS管理API Key。
- 已获取模型服务的model参数值。详情请见向量化及重排序。
支持模型
重排序支持的模型请见向量化及重排序。
快速开始
此处以使用BGE-Reranker-V2-M3模型通过Python脚本和Curl命令对文档进行重排序为例,展示重排序模型的基础用法。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v1/rerank" # API地址
api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
data = {
"model": "bge-reranker-v2-m3",
"query": "如何冲泡一杯好喝的咖啡?", # input类型可为string或string[]。
"documents": [
"咖啡豆的产地主要分布在赤道附近,被称为‘咖啡带’。",
"法压壶的步骤:1. 研磨咖啡豆。2. 加入热水。3. 压下压杆。4. 倒入杯中。",
"意式浓缩咖啡需要一台高压机器,在9个大气压下快速萃取。",
"挑选咖啡豆时,要注意其烘焙日期,新鲜的豆子风味更佳。",
"手冲咖啡的技巧:控制水流速度、均匀注水和合适的水温(90-96°C)是关键。"
]
}
response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
# Print result.
print(response.status_code)
print(response.text)
curl -X POST "https://api.modelarts-maas.com/v1/rerank" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d '{
"model": "bge-reranker-v2-m3",
"input": "如何冲泡一杯好喝的咖啡?",
"documents": [
"咖啡豆的产地主要分布在赤道附近,被称为‘咖啡带’。",
"法压壶的步骤:1. 研磨咖啡豆。2. 加入热水。3. 压下压杆。4. 倒入杯中。",
"意式浓缩咖啡需要一台高压机器,在9个大气压下快速萃取。",
"挑选咖啡豆时,要注意其烘焙日期,新鲜的豆子风味更佳。",
"手冲咖啡的技巧:控制水流速度、均匀注水和合适的水温(90-96°C)是关键。"
]
}'
API说明
模型调用的完整参数列表请见创建重排序。