bce-reranker-base_v1
更新时间:2025-05-09
bce-reranker-base是由网易有道开发的跨语种语义表征算法模型,擅长优化语义搜索结果和语义相关顺序精排,支持中英日韩四门语言,覆盖常见业务领域,支持长package rerank(512~32k)。bce-reranker-base_v1是模型的一个版本,本文介绍了API相关。
接口描述
用于重新排序向量模型返回的top-k文档,优化语义搜索结果。
在线调试
平台提供了 API在线调试平台-示例代码 ,用于帮助开发者调试接口,平台集成快速检索、查看开发文档、查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用,更多内容请查看API在线调试介绍。
鉴权说明
本文API,支持2种鉴权方式。不同鉴权方式,调用方式不同,请求头域、请求参数的Query参数不同,详见本文请求说明。开发者可以选择以下任一种方式进行鉴权。
- 访问凭证access_token鉴权
- 基于安全认证AK/SK进行签名计算鉴权
请求结构
以访问凭证access_token鉴权方式为例,说明调用API请求结构,示例如下。
Bash
1POST /rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=24.4a3a19b******18992 HTTP/1.1
2Host: aip.baidubce.com
3Content-Type: application/json
4
5{
6 "query": "上海天气",
7 "documents":["上海气候", "北京美食"]
8}
请求头域
除公共头域外,无其它特殊头域。注意:鉴权方式不同,对应请求头域不同。
请求参数
- 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,示例如下。
1# 步骤一,获取access_token,替换下列示例中的应用API Key与应用Secret Key
2curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]'
3
4# 步骤二,调用本文API,使用步骤一获取的access_token,替换下列示例中的”调用接口获取的access_token“
5curl -X POST https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=[步骤一调用接口获取的access_token] -d '{
6 "query": "上海天气",
7 "documents":["上海气候", "北京美食"]
8}'
1import requests
2import json
3
4def get_access_token():
5 """
6 使用应用API Key,应用Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
7 """
8
9 url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[应用API Key]&client_secret=[应用Secret Key]"
10
11 payload = json.dumps("")
12 headers = {
13 'Content-Type': 'application/json',
14 'Accept': 'application/json'
15 }
16 response = requests.request("POST", url, headers=headers, data=payload)
17 return response.json().get("access_token")
18
19def main():
20
21 url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/reranker/bce_reranker_base?access_token=" + get_access_token()
22
23 payload = json.dumps({
24 "query": "上海天气",
25 "documents":["上海气候", "北京美食"]
26 })
27 headers = {
28 'Content-Type': 'application/json'
29 }
30
31 response = requests.request("POST", url, headers=headers, data=payload)
32
33 print(response.text)
34
35
36if __name__ == '__main__':
37 main()
响应示例
JSON
1HTTP/1.1 200 OK
2Date: Thu, 23 Mar 2023 03:12:03 GMT
3Content-Type: application/json;charset=utf-8
4Statement: AI-generated
5
6{
7 "id": "as-gjs275mj6s",
8 "created": 1687155816,
9 "results": [
10 {
11 "document": "上海气候",
12 "relevance_score": 0.7059729695320129,
13 "index": 0
14 },
15 {
16 "document": "北京美食",
17 "relevance_score": 0.4241394102573395,
18 "index": 1
19 }
20 ],
21 "usage": {
22 "prompt_tokens": 12,
23 "total_tokens": 12
24 }
25}
错误码
如果请求错误,服务器返回的JSON文本包含以下参数。
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如Access Token失效返回以下内容,需要重新获取新的Access Token再次请求。
Plain Text
1{
2 "error_code": 110,
3 "error_msg": "Access token invalid or no longer valid"
4}
更多相关错误码,请查看错误码说明。