朋友们,你们有没有过这样的经历:辛辛苦苦写了个检索系统,好不容易找到了相关的文档,可是一看结果列表,却傻眼了——怎么排得乱七八糟的,真正有用的信息反而藏在犄角旮旯里?

别慌,今天我给大家介绍一个神器:Rerankers!有了它,排序从此不再是难题,让你的检索系统立刻变身“检索黑科技”!
为什么需要 Rerankers?
在检索领域,排序(Reranking)可是个至关重要的环节。它就像是个“智能筛选器”,负责从一堆可能相关的文档里挑选出最贴切用户需求的。

但传统的排序方法往往让人头疼:
Rerankers 应运而生,就是为了解决这些痛点!
Rerankers 的五大法宝
Rerankers 有五大法宝,让你轻松上手各种检索模型:
轻巧玲珑:依赖少,不会和你现有环境打架。
一目了然:几个函数轻松搞定,用起来得心应手。
无缝衔接:几行代码就能集成到现有检索系统里。
扩展方便:新模型来了?分分钟加入 rerankers 大家庭!
易于调试:代码简洁易懂,有问题也好定位解决。
使用 Rerankers 排序,so easy!
安装 Rerankers 就跟网购一样简单,基本不会和你现有依赖冲突。具体步骤稍后会说到。
安装完之后,使用 Rerankers 排序也非常直观。比如你想用一个叫做“cross-encoder”的模型来排序,只需要一行代码:
Python
from rerankers import Reranker
ranker = Reranker('cross-encoder')
是不是很简单?然后,不管你用的是哪个模型,排序的流程都一样:
Python
results = ranker.rank(query="今天天气真好", docs=["天阴沉沉要下雨", "阳光明媚适合出游"], doc_ids=[0, 1]) print(results)
这段代码会告诉 Rerankers 你想查询的句子(query)是什么,以及两个候选文档 (docs) 的内容,doc_ids 则表示每个文档的编号(如果不提供,Rerankers 会自动帮你生成)。
Rerankers 会返回一个 RankedResults 对象,其中包含了排序后的文档信息,比如哪个文档更相关,得分是多少等等。
Rerankers 支持哪些模型?
Rerankers 目前支持多种主流的排序模型,涵盖了各种技术路线:
Sentence Transformer 或 Transformers 的交叉编码器:一种经典的排序模型,功能强大,应用广泛。
RankGPT:利用大型语言模型来排序,新晋黑马,效果惊艳。
T5 系列的点wise 排序器:基于 T5 语言模型,可用于各种排序任务。
Cohere 和 Jina 的 API 接口:方便快捷地调用云端排序服务。
ColBERT 编码器:虽然不是专门为排序设计的,但也能取得不错的效果。
Rerankers 还在不断更新完善,未来还将支持更多的模型,让你拥有更多选择!

结语
Rerankers 让检索模型的调用变得简单易懂,是提高检索系统性能的利器。如果你正为检索排序而烦恼,不妨试试 rerankers,相信它会让你惊喜连连!
项目主页:https://github.com/AnswerDotAI/rerankers/?utm_source=tldrai
|