一、概述
博查正式发布语义排序模型(bocha-semantic-reranker)和排序API(Rerank API),可以使用Bocha Semantic Reranker 提升你的搜索应用和RAG应用中的搜索结果准确性。
二、什么是博查语义排序模型(Bocha Semantic Reranker)?
Bocha Semantic Reranker是一种基于文本语义的排序模型(Rerank Model),它的主要用途是提升搜索结果的质量。在搜索推荐系统中,Bocha Semantic Reranker可以基于关键字搜索、向量搜索和混合搜索的初步排序结果的质量进行优化。具体来说,在初始的BM25排序或RRF排序之后,Bocha Semantic Reranker会从top-N候选结果中,利用语义信息对文档进行二次排序。这一过程中,模型会根据查询语句与文档内容之间的深层语义匹配情况,给出每个文档的排序结果和得分,从而改善用户的搜索体验。由于这种方法是对初步排序结果进行二次优化,因此被称为“Reranker”。
三、为什么需要语义排序模型?
语义排序的需求源于传统检索方法(如BM25)在处理复杂查询时的局限性。传统的检索方法主要依赖关键词匹配,忽略了文本的深层语义。例如,两个词在表面上可能并不相同,但它们在语义上可能非常接近,传统的关键词匹配无法捕捉这种语义相似性。随着RAG(Retrieval-Augmented Generation)应用的兴起,单纯依赖关键词匹配的排序方法往往无法提供最相关的结果,语义排序的需求愈加凸显。RAG应用结合了检索和生成式任务,通过从大规模文档库中检索相关文档并基于这些文档生成回答。因此,如何有效评估检索到的文档与查询的语义相关性,直接影响生成回答的质量。如果检索的文档与查询意图不匹配,生成的回答可能不准确或不相关,这就要求在检索阶段引入更为精准的语义排序机制。
语义排序通过引入深度学习和自然语言处理技术,使得搜索系统能够基于查询的真实意图,而不仅仅是表面上的关键词,来对搜索结果进行排序。这种方法能够更准确地理解查询的背景和用户需求,从而提高搜索结果的相关性,显著改善用户体验。特别是在RAG应用中,语义排序帮助确保检索到的文档具有足够的语义匹配度,从而为后续的生成任务提供更有价值的输入,提升整体的问答效果。
四、博查语义排序模型如何评分?
博查语义排序模型的评分过程是基于查询语句(用户的输入问题)以及与之匹配的文档内容(通常是最高512个tokens的文本)进行的。评分的过程如下:
- 评估语义相关性:模型会评估查询语句与每个文档的语义相关性,判断文档是否能够有效回答用户的查询或与查询意图高度匹配。
- 分配BochaSemanticRerank Score:根据语义相关性,模型为每个文档分配一个rerankScore,分数的范围从0到1。分数越高,表示文档与查询的语义相关性越强,越符合用户需求。通常,分数接近1表示高度相关,分数接近0表示不相关或低相关。
Score Range | Meaning |
---|---|
0.75 ~ 1 | 该文档高度相关并完全回答了问题,尽管可能包含与问题无关的额外文本。 |
0.5 ~ 0.75 | 该文档与问题是相关的,但缺乏使其完整的细节。 |
0.2 ~ 0.5 | 该文档与问题有一定的相关性;它部分回答了问题,或者只解决了问题的某些方面。 |
0.1 ~ 0.2 | 该文档与问题相关,但仅回答了一小部分。 |
0 ~ 0.1 | 该文档与问题无关紧要。 |
五、博查语义排序模型效果(Bocha Semantic Reranker)
Bocha Semantic Reranker 基于 Transformer 架构,以 80M 参数实现接近于世界一线 280M、560M参数模型的排序效果,推理速度更快、成本更低、性价比更高。
六、如何使用博查排序API(Bocha Semantic Reranker API)?
接口文档
博查语义排序API(Bocha Semantic Reranker API 接口文档
使用步骤
- 注册博查开发者账户:访问博查AI开放平台(https://open.bochaai.com),微信扫码登录,创建一个新的账户。登陆后可以看到有Web Search API、AI Search API、Agent Search API、Semantic Reranker API 4种。
- 获取API KEY:在首页右上角,或者左侧菜单中,可以看到“API KEY管理”,点击进入后新建一个API KEY,请保存它,因为您在调用博查搜索API时需要用到它。
- 查看支持的排序模型列表:目前已支持 bocha-semantic-reranker-cn、bocha-semantic-reranker-en、gte-rerank 3种模型,前两个模型需要邀测使用,gte-rerank模型可以直接使用。
- 调用博查排序API:在您的应用中,您可以使用以下代码,调用博查排序API:
import requests
import json
url = "https://api.bochaai.com/v1/rerank"
payload = json.dumps({
"model": "gte-rerank",
"query": "阿里巴巴2024年的ESG报告",
"top_n": 2,
"return_documents": true,
"documents": [
"阿里巴巴集团发布《2024财年环境、社会和治理(ESG)报告》(下称“报告”),详细分享过去一年在 ESG各方面取得的进展。 报告显示,阿里巴巴扎实推进减碳举措,全集团自身运营净碳排放和价值链碳强度继续实现“双降”。 集团亦持续利用数字技术和平台能力,服务于无障碍、医疗、适老化和中小微企业等普惠发展。 阿里巴巴集团首席执行官吴泳铭在报告中表示:“ESG的核心是围绕如何成为一家更好的公司。 25年来,我们与ESG相关的行动所构成的公司底色,与创造商业价值的阿里巴巴一样重要。 在集团明确‘用户为先’和‘AI 驱动’的两大业务战略的同时,我们也明确ESG作为阿里巴巴基石战略之一的定位不变。 阿里巴巴在减少碳排放上取得扎实进展。",
"ESG的核心是围绕如何成为一家更好的公司。 今年是阿里巴巴成立25年。 25年来,阿里巴巴秉持“让天下没有难做的生意”,协助国内电商繁荣发展;坚持开放生态,魔搭社区已开放了超3800个开源模型;助力乡村振兴,累计派出了29位乡村特派员深入27个县域;推动平台减碳,首创了范围3+减碳方案;坚持全员公益,用“人人3小时”带来小而美的改变……这些行动所构成的公司底色,与创造商业价值的阿里巴巴一样重要。 我希望这个过程中,每一个阿里人都能学会做难而正确的选择,保持前瞻、保持善意、保持务实。 一个更好的阿里巴巴,值得我们共同努力。 阿里巴巴二十多年来坚持不变的使命,是让天下没有难做的生意。 今天,这一使命被赋予了新的时代意义。"
]
})
headers = {
'Authorization': 'Bearer YOUR-API-KEY',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
- 响应结果示例:
{
"code": 200,
"log_id": "56a3067f9b92dfd0",
"msg": null,
"data": {
"model": "gte-rerank",
"results": [
{
"index": 0,
"document": {
"text": "阿里巴巴集团发布《2024财年环境、社会和治理(ESG)报告》(下称“报告”),详细分享过去一年在 ESG各方面取得的进展。 报告显示,阿里巴巴扎实推进减碳举措,全集团自身运营净碳排放和价值链碳强度继续实现“双降”。 集团亦持续利用数字技术和平台能力,服务于无障碍、医疗、适老化和中小微企业等普惠发展。 阿里巴巴集团首席执行官吴泳铭在报告中表示:“ESG的核心是围绕如何成为一家更好的公司。 25年来,我们与ESG相关的行动所构成的公司底色,与创造商业价值的阿里巴巴一样重要。 在集团明确‘用户为先’和‘AI 驱动’的两大业务战略的同时,我们也明确ESG作为阿里巴巴基石战略之一的定位不变。 阿里巴巴在减少碳排放上取得扎实进展。"
},
"relevance_score": 0.7166407801262326
},
{
"index": 1,
"document": {
"text": "ESG的核心是围绕如何成为一家更好的公司。 今年是阿里巴巴成立25年。 25年来,阿里巴巴秉持“让天下没有难做的生意”,协助国内电商繁荣发展;坚持开放生态,魔搭社区已开放了超3800个开源模型;助力乡村振兴,累计派出了29位乡村特派员深入27个县域;推动平台减碳,首创了范围3+减碳方案;坚持全员公益,用“人人3小时”带来小而美的改变……这些行动所构成的公司底色,与创造商业价值的阿里巴巴一样重要。 我希望这个过程中,每一个阿里人都能学会做难而正确的选择,保持前瞻、保持善意、保持务实。 一个更好的阿里巴巴,值得我们共同努力。 阿里巴巴二十多年来坚持不变的使命,是让天下没有难做的生意。 今天,这一使命被赋予了新的时代意义。"
},
"relevance_score": 0.5658672473649548
}
]
}
}