资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

bce-reranker-base_v1

bce-reranker-base是由网易有道开发的跨语种语义表征算法模型,擅长优化语义搜索结果和语义相关顺序精排,支持中英日韩四门语言,覆盖常见业务领域,支持长package rerank(512~32k)。bce-reranker-base_v1是模型的一个版本,本文介绍了API相关。

接口描述

用于重新排序向量模型返回的top-k文档,优化语义搜索结果。

在线调试

平台提供了 API在线调试平台-示例代码 ,用于帮助开发者调试接口,平台集成快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用,更多内容请查看API在线调试介绍

鉴权说明

本文API,支持2种鉴权方式。不同鉴权方式,调用方式不同,使用Header、Query参数不同,详见本文请求说明。开发者可以选择以下任一种方式进行鉴权。

请求结构

以访问凭证access_token鉴权方式为例,说明调用API请求结构,示例如下。

POST /rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=24.4a3a19b******18992 HTTP/1.1
Host: aip.baidubce.com
Content-Type: application/json

{
  "query": "上海天气",
  "documents":["上海气候", "北京美食"]
}

请求头域

除公共头域外,无其它特殊头域。注意:鉴权方式不同,对应请求头域不同。

请求参数

  • Query参数

只有访问凭证access_token鉴权方式,需使用Query参数。

访问凭证access_token鉴权

名称 类型 必填 描述
access_token string 通过API Key和Secret Key获取的access_token,参考Access Token获取
  • Body参数
名称 类型 必填 描述
query string 查询文本,长度不超过1600个字符,token数若超过400做截断
documents List(string) 需要重排序的文本,说明:
(1)不能为空List,List的每个成员不能为空字符串
(2)文本数量不超过64
(3)每条document文本长度不超过4096个字符,token数若超过1024做截断
top_n int 返回的最相关文本的数量,默认为document的数量
user_id string 表示最终用户的唯一标识符

响应头域

除公共头域外,无其它特殊头域。

响应参数

名称 类型 描述
id string 本轮对话的id
object string 回包类型,固定值“rerank_list”
created int 时间戳
results List(reranker_data) 重排序结果,按相似性得分倒序
usage usage token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)

reranker_data说明

名称 类型 描述
document string 文本内容
relevance_score float 相似性得分
index int 序号

usage说明

名称 类型 描述
prompt_tokens int 问题tokens数(包含历史QA)
total_tokens int tokens总数

请求示例

以访问凭证access_token鉴权方式为例,说明如何调用API,示例如下。

# 步骤一,获取access_token,替换下列示例中的API Key与Secret Key
curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]'

# 步骤二,调用本文API,使用步骤一获取的access_token,替换下列示例中的”调用接口获取的access_token“
curl -X POST https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=[步骤一调用接口获取的access_token] -d '{
  "query": "上海天气",
  "documents":["上海气候", "北京美食"]
}'
import requests
import json

def get_access_token():
    """
    使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
    """
        
    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"
    
    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")

def main():
        
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=" + get_access_token()
    
    payload = json.dumps({
        "query": "上海天气",
        "documents":["上海气候", "北京美食"]
    })
    headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)
    

if __name__ == '__main__':
    main()

响应示例

HTTP/1.1 200 OK
Date: Thu, 23 Mar 2023 03:12:03 GMT
Content-Type: application/json;charset=utf-8
Statement: AI-generated

{
  "id": "as-gjs275mj6s",
  "created": 1687155816,
  "results": [
    {
      "document": "上海气候",
      "relevance_score": 0.7059729695320129,
      "index": 0
    },
    {
      "document": "北京美食",
      "relevance_score": 0.4241394102573395,
      "index": 1
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "total_tokens": 12
  }
}

错误码

如果请求错误,服务器返回的JSON文本包含以下参数。

名称 描述
error_code 错误码
error_msg 错误描述信息,帮助理解和解决发生的错误

例如Access Token失效返回以下内容,需要重新获取新的Access Token再次请求。

{
  "error_code": 110,
  "error_msg": "Access token invalid or no longer valid"
}

更多相关错误码,请查看错误码说明

上一篇
图像Images
下一篇
自定义模型调用API