2作者: Tananon大约 1 个月前原帖
嘿,HN!我最近开源了 Pyversity,这是一个轻量级的库,用于多样化检索结果。大多数检索系统仅优化相关性,这可能导致前 k 个结果看起来几乎相同。Pyversity 能够高效地重新排序结果,以平衡相关性和多样性,呈现出仍然相关但不那么冗余的项目。这有助于改善检索、推荐和 RAG 流程,而不会增加延迟或复杂性。 主要特点: - 统一 API:一个函数(diversify)支持几种知名策略:MMR、MSD、DPP 和 COVER(未来还会增加更多)。 - 轻量级:唯一的依赖是 NumPy,使得包体积小且易于安装。 - 快速:所有支持的策略都有高效的实现;在毫秒级别内多样化结果。 目前,使用交叉编码器进行重新排序非常流行,但成本也很高。根据我的经验,通常可以通过更简单、更快速的方法来改善检索结果,比如这个包中实现的方法。这有助于检索、推荐和 RAG 系统呈现更丰富、更具信息量的结果,确保每个新项目都能提供新的信息。 代码和文档:github.com/pringled/pyversity 如果您有任何反馈或对其他多样化策略的建议,请告诉我!