更新时间:2025-09-16 GMT+08:00
分享

创建重排序

创建重排序API用于提供灵活的数据项排序功能,以提升用户体验和应用的可定制性。

前提条件

已在“在线推理 > 预置服务”页面开通bge-reranker-v2-m3模型的商用服务,或者为bge-reranker-v2-m3模型创建了自定义接入点。具体操作,请参见在ModelArts Studio(MaaS)预置服务中开通商用服务在ModelArts Studio(MaaS)预置服务中创建自定义接入点

接口信息

表1 接口信息

名称

说明

取值

API地址

调用图片生成的API地址。

https://api.modelarts-maas.com/v1/rerank

model参数

model参数调用名称。

您可以通过任选以下方式获取model参数值。

支持模型列表

表2 支持模型列表

模型

模型版本

支持地域

model参数值

应用场景

bge-reranker-v2-m3

bge-reranker-v2-m3

西南-贵阳一

bge-reranker-v2-m3

检索结果再排序

请求参数说明

表3 请求body参数

参数

是否必填

默认值

参数类型

描述

model

string

模型名称,具体请参见表2的“model参数值”列。

query

string

用户查询文本。总输入长度不超过8K

documents

string

待排序文档列表(通常为Embedding召回的Top-K结果)。总输入长度不超过8K

响应参数说明

状态码:200

参数

参数类型

说明

id

string

请求ID。

model

string

模型名称。

usage

object

请求的使用信息。

usage.total_tokens

integer

请求使用的Token总数。

results

object[]

重排序结果集。

results[i].index

integer

序号。

results[i].document

object

原始文档内容信息。

results[i].document.text

number[]

具体文档内容。

results[i].relevance_score

double

相似度得分。

请求示例

Rest API的示例代码如下。
  • 使用Python调用示例。
    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调用示例。
    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)是关键。"
        ]
    }'

响应示例

{
	"id": "rerank-dc9e3495b71134e82c50651c32cde9f6",
	"model": "bge-reranker-v2-m3",
	"usage": {
		"total_tokens": 211
	},
	"results": [{
		"index": 4,
		"document": {
			"text": "手冲咖啡的技巧:控制水流速度、均匀注水和合适的水温(90-96°C)是关键。"
		},
		"relevance_score": 0.01898193359375
	}, {
		"index": 1,
		"document": {
			"text": "法压壶的步骤:1. 研磨咖啡豆。2. 加入热水。3. 压下压杆。4. 倒入杯中。"
		},
		"relevance_score": 0.007404327392578125
	}, {
		"index": 2,
		"document": {
			"text": "意式浓缩咖啡需要一台高压机器,在9个大气压下快速萃取。"
		},
		"relevance_score": 0.0003418922424316406
	}, {
		"index": 3,
		"document": {
			"text": "挑选咖啡豆时,要注意其烘焙日期,新鲜的豆子风味更佳。"
		},
		"relevance_score": 6.014108657836914e-05
	}, {
		"index": 0,
		"document": {
			"text": "咖啡豆的产地主要分布在赤道附近,被称为‘咖啡带’。"
		},
		"relevance_score": 3.349781036376953e-05
	}]
}

相关文档