FlashRank
Ultra lite & Super fast SoTA cross-encoder based re-ranking for your search & retrieval pipelines.
What it is and what it does
FlashRank is a Python library that re-ranks search results by scoring query-passage pairs using pre-trained cross-encoder and LLM models. It sits between your retrieval stage and LLM input, improving result quality without the overhead of full transformer inference. The library emphasizes minimal footprint—the default model is ~4MB and runs on CPU—making it suitable for serverless deployments and cost-sensitive environments.
You provide a query and a list of passages; FlashRank scores and sorts them by relevance. It supports multiple model sizes and types: tiny cross-encoders for speed, larger cross-encoders for precision, T5-based listwise rerankers for out-of-domain robustness, and multilingual variants. Runtime dependencies are lightweight (tokenizers, onnxruntime, numpy, requests, tqdm), and the library handles model downloading and caching automatically.
Use it for:
- Improve LLM answer quality by re-ranking retrieval results before feeding them as context to an LLM
- Reduce inference cost in serverless deployments by using a tiny reranker model instead of a large LLM for initial filtering
- Re-rank multilingual search results using the ms-marco-MultiBERT-L-12 model for language support
- Optimize retrieval latency by tuning max_length to match your typical passage+query token count
- Fine-tune ranking for domain-specific queries using the ce-esci-MiniLM-L12-v2 model
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
FlashRank re-ranks search results using lightweight cross-encoder and LLM-based models, optimized for speed and minimal resource overhead in retrieval pipelines.
Yes. FlashRank is actively maintained, has no known vulnerabilities, and offers a practical solution for improving search-to-LLM pipelines with minimal resource cost. Install it if you're building retrieval-augmented generation systems and want to improve result quality without adding significant latency or infrastructure overhead. The permissive Apache 2.0 license poses no restrictions.
Install
flashrank on PyPI
pip
pip install flashrankuv
uv add flashrankpoetry
poetry add flashrankInstalling FlashRank
Before you install
Low friction: pure Python wheel with five runtime dependencies (tokenizers, onnxruntime, numpy, requests, tqdm). Active maintenance with recent commits and strong community interest. No known vulnerabilities.
License in practice
Apache 2.0 is permissive; you can use, modify, and distribute FlashRank freely in commercial and private projects with minimal restrictions.
Quickstart
pip install flashrank
from flashrank import Ranker, RerankRequest
ranker = Ranker(max_length=128)
query = "How to speedup LLMs?"
passages = [{"id": 1, "text": "Introduce lookahead decoding..."}]
results = ranker.rank(RerankRequest(query=query, passages=passages))
Requires Python 3.6+. For LLM-based listwise rerankers, install with the [listwise] extra. Model files download on first use; cache_dir can be specified to control storage location.
Verify before relying
- Exact reranking latency and throughput benchmarks for different model sizes and passage counts
- Memory footprint during inference for each supported model variant
- Whether multilingual models work reliably for non-English queries
- Sliding window support status for rank_zephyr_7b_v1_full beyond the documented 20-passage limit
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — tokenizers, onnxruntime, numpy, requests, tqdm |
| Maintenance | actively maintained — 585 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 770,097/month — #5,106 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: FlashRank-0.2.10-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
FlagEmbeddingFlagEmbedding provides embedding and reranking…
unclear · top 15,000 on PyPI
colbert-aiColBERT is a BERT-based retrieval model that…
unclear · top 15,000 on PyPI
sentence-transformersComputes embeddings and reranking scores for…
permissive · top 1,000 on PyPI
voyageaiProvides Python access to Voyage AI's embedding…
permissive · top 5,000 on PyPI
glicko2Implements the Glicko-2 rating system, a…
permissive · top 15,000 on PyPI
llama-index-retrievers-bm25Integrates BM25 full-text search retrieval into…
permissive · top 15,000 on PyPI
colpali-engineColPali-engine provides training and inference…
permissive · top 15,000 on PyPI
vllmvLLM is a high-throughput inference and serving…
permissive · top 5,000 on PyPI
llama-index-vector-stores-faissIntegrates FAISS vector storage with LlamaIndex…
permissive · top 15,000 on PyPI
pyvespapyvespa provides a Python API to create,…
permissive · top 5,000 on PyPI