PrithivirajDamodaran/FlashRank

Lite & Super-fast re-ranking for your search & retrieval pipelines. Supports SoTA Listwise and Pairwise reranking based on LLMs and cross-encoders and more. Created by Prithivi Da, open for PRs & Collaborations.

What it solves

FlashRank 是一个轻量级的 Python 库,旨在通过在将结果传递给大型语言模型(LLM)之前重新排序,提升搜索与检索结果的质量。它解决了使用庞大重新排序模型所带来的额外开销与成本,提供一个快速、基于 CPU 的替代方案,同时保持竞争力的性能。

How it works

该库提供一套最先进(SoTA)的重新排序器,包括成对/点对点的 cross‑encoder 以及基于列表的 LLM 重新排序器。用户可以将这些模型集成到现有的词汇、语义或混合搜索管道中。系统针对速度和内存占用进行优化,能够在 CPU 上运行,且不需要 Torch 或 Transformers 库。

Who it’s for

适用于构建搜索引擎、RAG(检索增强生成)管道以及无服务器部署(如 AWS Lambda)的开发者,这些场景需要高性能、低延迟的重新排序步骤,而无需专用硬件。

Highlights

  • Ultra-lite footprint: 包含一个约 4 MB 的默认模型,能够在无服务器环境中实现快速冷启动。
  • CPU-optimized: 在 CPU 上运行,无需依赖 Torch 或 Transformers。
  • Diverse model support: 支持多种模型,包括 TinyBERT、MiniLM、RankT5,以及 4‑bit 量化的 GGUF 模型如 Rank Zephyr。
  • Flexible integration: 可与任何搜索管道配合使用,包括词汇、语义(VectorDB)和混合搜索。