# Rerank重排接口文档
## 一、接口概述
`/api/knowledge/service/rerank`接口用于重新批量计算输入文本与检索到的文本之间的score值，以对召回结果进行重排序。通过判断`chunk content`能回答`query`提问的概率来打分，分数越高表明模型认为该文本片能回答`query`提问的概率越大。

## 二、请求接口
请求向量数据库VikingDB的OpenAPI接口时，需构造签名进行鉴权，详细的OpenAPI签名调用方法请参见API签名调用指南。
|参数|详情|描述|
|---|---|---|
|URI|`/api/knowledge/service/rerank`|统一资源标识符|
|方法|POST|客户端对向量数据库服务器请求的操作类型|
|请求头|`Content-Type: application/json`<br>`Authorization: HMAC-SHA256 ***`|请求消息类型<br>鉴权|

## 三、请求参数
|参数|类型|是否必选|默认值|参数说明|
|---|---|---|---|---|
|datas|`list[map]`|是|--|`map`中包含`query`、`content`和`title`三个参数，`list`最大量为50。`query`为必选，即输入的文本；`content`为必选，即检索到的文本；`title`为可选，即文本的标题|
|rerank_model|string|否|`"m3-v2-rerank"`|rerank模型选择，可选模型为`"m3-v2-rerank"`（推荐，重排速度快）|

## 四、响应消息
|字段|类型|子字段|子字段类型|说明|
|---|---|---|---|---|
|code|数值|--|--|状态码|
|message|string|--|--|错误信息|
|data|map|scores|`list[float64]`|rerank得分列表|
|token_usage|int64|--|--|tokens消耗量|

## 五、状态码说明
|状态码|http状态码|返回信息|状态码说明|
|---|---|---|---|
|0|200|success|成功|
|1000030|500|`failed to MaasInference: %s`|请求rerank错误|
|1000003|400|`invalid request：%s`|非法参数，缺失必选参数|
|1000001|401|`unauthorized`|请求头中缺乏鉴权信息|

## 六、完整示例
### （一）请求消息
```bash
curl -i -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: HMAC-SHA256 ***' \
  https://api-knowledgebase.mlp.cn-beijing.volces.com/api/knowledge/service/rerank \
  -d '{
    "datas": [{
        "query": "退改",
        "content": "如果您需要人工服务，可以拨打人工客服电话：4006660921",
        "title":"无"
    }, {
        "query": "退改",
        "content": "1、1日票 1.5日票 2日票的退款政策： -到访日前2天的00:00前，免费退款 - 到访日前2天的00:00至到访日前夜23:59期间,退款需扣除服务费（人民币80元） - 到访日当天（00:00 之后），不可退款 2、半日票的退款政策： - 未使用的门票可在所选入...",
        "title":"门票退改政策｜北京环球影城的门票退改政策"
    }, {
        "query": "退改",
        "content": "如果您需要人工服务，可以拨打人工客服电话：4006660921",
    }],
}'
```

### （二）响应消息
1. **执行成功返回**
```json
HTTP/1.1 200 OK
Content-Length: 43
Content-Type: application/json
{
    "message":"success",
    "code":0,
    "request_id":"02170427320284800000000000000000000ffff0a0060861f847c",
    "data":[0.17574862881497047,0.7583029228400268,0.17574862881497047]
}
```
2. **执行失败返回**
```json
HTTP/1.1 403 OK
Content-Length: 43
Content-Type: application/json
{
    "message":"check sign error, please check your ak, sk",
    "code":1000001,
    "request_id":"02170427372421200000000000000000000ffff0a006086784460"
}
``` 