
# Rerank模型
#### 功能介绍
Rerank模型服务用于对召回的切片，按照query与切片的相关度进行精细化排序，以确保召回相关度top切片。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/productdesc-pangulm/pangulm_01_0020.html)。
#### URL
POST /pangu/search/v1/rerank
#### 请求参数
使用[Token认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section94702116509)方式的请求Header参数见[表1]。
 表1请求Header参数（Token认证） 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 用于获取操作API的权限。如[图4](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__fig10797003103)中响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                                       |
   
使用[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)方式的请求Header参数见[表2]。
 表2请求Header参数（API Key认证） 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Apig-AppCode | 是    | String | **参数解释：** API Key值。 用于获取操作API的权限。[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)响应消息头中X-Apig-AppCode的值即为API Key。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type   | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                                                  |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型           | 描述                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| rerank_order | 是    | String         | **参数解释：** docs中多字段的拼接顺序，配合doc字段，记录doc信息中的字段的优先级，影响rank的输入。 **约束限制：** 和docs中文本取值的具体字段名称有关。 **取值范围：** 不涉及 **默认取值：** 不涉及                |
| docs         | 是    | List\[Object\] | **参数解释：** 要排序的文本，支持多字段输入；具体list中的结构见[表4 docs 的字段]描述。 **约束限制：** 1\~200 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| query        | 是    | String         | **参数解释：** query信息。 **约束限制：** 1\~64 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                    |
| top_n        | 否    | int            | **参数解释：** 返回top_n的结果。 **约束限制：** 不涉及 **取值范围：** 0\~200 **默认取值：** 10                                                                     |
   
 表4docs字段 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| id      | 是    | String | **参数解释：** 描述文本信息的唯一标识。 **约束限制：** 1\~20 **取值范围：** 不涉及 **默认取值：** 不涉及                                                   |
| title   | 否    | String | **参数解释：** 描述文本标题。 **约束限制：** title和content不能同时为空。 1\~10240 **取值范围：** 不涉及 **默认取值：** 不涉及  |
| content | 否    | String | **参数解释：** 描述文本的内容。 **约束限制：** title和content不能同时为空。 1\~10240 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应参数
状态码：200
表5响应Body参数 
| 参数          | 参数类型           | 描述                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| rank_result | List\[OBJECT\] | **参数解释：** rerank的结果。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及   |
| ret         | String         | **参数解释：** 错误码。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及     |
| cost        | Float          | **参数解释：** 模型推理耗时。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表6rank_result字段 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| id    | String | **参数解释：** rerank的文本id。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及  |
| score | Float  | **参数解释：** rerank的排序分值。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
**状态码： 400**
表7响应Body参数 
| 参数          | 参数类型                  | 描述                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| ret         | String                | **参数解释：** 错误码。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                     |
| msg         | String                | **参数解释：** 错误信息。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                           |
| rank_result | List\[List\[Float\]\] | **参数解释：** embedding的结果，当错误时，是为空。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| cost        | Float                 | **参数解释：** 处理时间。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                   |
   
#### 请求示例
```
POST 'http://10.155.96.123:9099/pangu/search/v1/rerank' \
--header 'Content-Type: application/json' \
--data '{
    "query": "南京",
    "rerank_order": [
        "title",
        "content"
    ],
    "docs": [
        {
            "id": "a01",
            "title": "南京",
            "content": "简介：南京一般指南京市。 南京市，简称“宁”，古称金陵、建康，江苏省省会、副省级市、特大城市、南京都市圈核心城市，国务院批复确定的中国东部地区重要的中心城市、全国重要的科研教育基地和综合交通枢纽。"
        },
        {
            "id": "a02",
            "title": "南京",
            "content": "南京市人民政府关于市政府领导同志工作分工的通知 · 南京市人民政府2021年政府信息公开工作年度报告 "
        },
        {
            "id": "a03",
            "title": "南京",
            "content": "唐代以成都为南京不到三年时间。 [1]  宋大中祥符七年（1014年），建应天府（今商丘）为南京。 [2-5]    辽代，以北京为南京。金代，以开封为南京。明永乐十九年（1421年），明成祖迁都，京师应天府（今南京）改称为南京，作为留都。"
        },
        {
            "id": "a04",
            "title": "南京",
            "content": "《南京市推进城市运行“一网统管”暂行办法》(下简称《办法》)3月1日将开始施行。"
        },
        {
            "id": "a05",
            "title": "南京",
            "content": "一年下来,南京的大部分地方基本都去过了,因为朋友要来国庆玩嘛,问我哪里有什么好玩的地方,所以就决定写这篇日志了。 "
        },
        {
            "id": "a06",
            "title": "南京",
            "content": "南京市人防指挥信息保障中心民防大厦消防设备采购中标结果公告 电台升级设备采购项目中标结果公告 南京人防短波电台升级改造设备采购项目招标公告 姚坊门水土保持验收中标候..."
        },
        {
            "id": "a07",
            "title": "南京",
            "content": "1993年11月，京南乡、长发乡分别改为镇。2005年7月，长发镇并入京南镇。行政区划 1984年，辖京南、旺安、古榄、思蓬、儒垌、城垌、太平、大岸、纯冲、古参共10个村。2011年末，京南镇辖京南、长发2个社区，京南、旺安、古榄、..."
        },
        {
            "id": "a08",
            "title": "南京",
            "content": "身为首都的北京，是全国四大直辖市中唯一没有“副省级新区”的城市，而天津、重庆以及更早的上海，从制造业为核心的经济新区中获得的“速度效益”，则让北京对“京南新区”充满期许。"
        },
        {
            "id": "a09",
            "title": "南京",
            "content": "落实科技成果转化财税奖补政策，对输出技术合同、吸纳技术合同（技术开发、技术转让）进行补助；推进“京津研发，沧州转化”，深化与京津合作，进一步吸引京津成果落地转化。..."
        }
    ],
    "top_n": 10
}'
```
#### 响应示例
```
{"rank_result": [{"score": 0.9975486397743225, "id": "a01"}, {"score": 0.7712018489837646, "id": "a03"}, {"score":
0.37750864028930664, "id": "a06"}, {"score": 0.22653242945671082, "id": "a09"}, {"score": 0.11012815684080124, "id":
"a02"}, {"score": 0.08153211325407028, "id": "a05"}, {"score": 0.028581004589796066, "id": "a04"}, {"score":
0.01370169036090374, "id": "a07"}, {"score": 0.010038669221103191, "id": "a08"}], "ret": 0, "cost": 0.5570168495178223}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0019.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0020.html)。
