重排序Reranker
更新时间:2025-02-27
平台提供了重排序Reranker相关模型API SDK,用于重新排序向量模型返回的top-k文档,优化语义搜索结果。
bce-reranker-base是由网易有道开发的跨语种语义表征算法模型,擅长优化语义搜索结果和语义相关顺序精排,支持中英日韩四门语言,覆盖常见业务领域,支持长package rerank(512~32k)。bce-reranker-base_v1是模型的一个版本,本文介绍了API相关。
功能介绍
用于重新排序向量模型返回的top-k文档,优化语义搜索结果。
使用说明
只有Python SDK 支持调用本文API,调用流程请参考Python SDK安装及使用流程。
SDK调用
调用示例
Python
1import os
2import qianfan
3from qianfan.resources import Reranker
4
5# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
6os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
7os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
8
9# 默认模型
10r = Reranker()
11
12# 使用指定reranker模型,固定值为bce-reranker-base_v1
13# r = Reranker(model="bce-reranker-base_v1")
14
15res = r.do("北京的天气", ["北京今天12.5度,北风,阴天", "北京美食很多"])
16print(res.body)
返回示例
Python
1{
2 'id': 'as-hkck49jsue',
3 'object': 'reranker_list',
4 'created': 1715067228,
5 'results':
6 [
7 {
8 'document': '北京今天12.5度,北风,阴天',
9 'relevance_score': 0.5633178949356079,
10 'index': 0
11 },
12 {
13 'document': '北京美食很多',
14 'relevance_score': 0.4250681698322296,
15 'index': 1
16 }
17 ],
18 'usage':
19 {
20 'prompt_tokens': 22,
21 'total_tokens': 22
22 }
23}
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
query | string | 是 | 查询文本,长度不超过1600个字符,token数若超过400做截断 |
documents | List(string) | 是 | 需要重排序的文本,说明: (1)不能为空List,List的每个成员不能为空字符串 (2)文本数量不超过64 (3)每条document文本长度不超过4096个字符,token数若超过1024做截断 |
model | string | 否 | 用于指定模型,说明: (1)如果不填写,默认使用模型 bce-reranker-base_v1 (2)如果填写,为固定值 bce-reranker-base_v1 |
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总数 |