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 は、検索結果を大規模言語モデル(LLM)に渡す前に再ランク付けすることで、検索・取得結果の品質を向上させることを目的とした軽量 Python ライブラリです。重い再ランク付けモデルのオーバーヘッドとコストを解消し、競争力のあるパフォーマンスを維持しつつ高速な CPU ベースの代替手段を提供します。

How it works

このライブラリは、ペアワイズ/ポイントワイズの cross‑encoder やリストワイズ LLM ベースの再ランク付け器など、最先端(SoTA)の再ランク付け器を提供します。ユーザーはこれらのモデルを既存のレキシカル、セマンティック、ハイブリッド検索パイプラインに組み込むことができます。システムは速度とメモリフットプリントを最適化しており、Torch や Transformers ライブラリを必要とせず CPU 上で動作します。

Who it’s for

検索エンジン、RAG(Retrieval‑Augmented Generation)パイプライン、サーバーレスデプロイ(AWS Lambda など)を構築する開発者向けです。高性能で低レイテンシな再ランク付けステップが必要で、専用ハードウェアを必要としません。

Highlights

  • Ultra-lite footprint: デフォルトモデルは約 4 MB と非常に小さく、サーバーレス環境でのコールドスタートが高速です。
  • CPU-optimized: Torch や Transformers に依存せず、CPU 上で実行できます。
  • Diverse model support: TinyBERT、MiniLM、RankT5、4 ビット量子化 GGUF モデル(例:Rank Zephyr)など、さまざまなモデルをサポートします。
  • Flexible integration: レキシカル、セマンティック(VectorDB)、ハイブリッド検索を含むあらゆる検索パイプラインと連携可能です。