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)與混合搜尋。