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)和混合搜索。