Ad

rank_llm: Listwise reranker toolkit for LLM-based information retrieval

RankLLM is a Python toolkit offering a suite of rerankers, with a focus on listwise reranking, supporting open-source LLMs compatible with vLLM, SGLang, and TensorRT-LLM.
Screenshot of castorini/rank_llm homepage

RankLLM is a Python toolkit designed to facilitate research in information retrieval using rerankers. It provides a comprehensive set of reranking models, including pointwise, pairwise, and listwise approaches, with a strong emphasis on compatibility with various open-source Large Language Models (LLMs). The toolkit addresses the need for reproducible and flexible reranking experiments by offering a modular design and support for multiple backend implementations like vLLM, SGLang, and TensorRT-LLM. It also includes support for proprietary listwise rerankers such as RankGPT and RankGemini.

RankLLM distinguishes itself through its strong focus on listwise reranking, offering a variety of models specifically designed to optimize ranking lists. The flexibility to integrate with different LLM backends (vLLM, SGLang, TensorRT-LLM) provides users with options to optimize for performance and resource constraints. Additionally, the framework allows for easy integration of custom prompt templates, enabling researchers to tailor reranking processes to specific tasks and domains. The codebase leverages existing, well-regarded reranking libraries like RankGPT and PyGaggle, streamlining its development and benefiting from their established functionality.

  • Reranker Variety: Supports pointwise, pairwise, and listwise rerankers.
  • LLM Backend Support: Compatible with vLLM, SGLang, and TensorRT-LLM.
  • Open Source: Leverages open-source LLMs and encourages community contributions.
  • Extensible: Allows for custom prompt templates and model integrations.
  • Evaluation Tools: Includes evaluation metrics and functions for assessing ranking quality.
  • Flexible Retrieval: Integrates with various retrieval methods (e.g., BM25, Pyserini).
  • Developer Friendly: Provides a clear API and supports a robust development workflow.

RankLLM is an active project with continuous development and recent updates, including support for new APIs and enhancements to existing features. The project boasts a moderate number of forks and stars, indicating growing community interest. The availability of a research paper accepted to SIGIR 2025 suggests strong academic relevance. Regular releases and active issue tracking contribute to its ongoing maintenance and reliability.

RankLLM benefits researchers and developers working on information retrieval by streamlining the process of building and evaluating reranking systems. It provides a flexible and extensible platform for experimenting with different LLM-based rerankers, supporting a variety of open-source and proprietary models and offering tools for evaluation and integration with retrieval systems. The toolkit's focus on reproducibility and adaptability makes it a valuable resource for advancing the state-of-the-art in information retrieval.

Languages:
Summarize:
Share:
Stars
609
Forks
94
Issues
45
Created
2 years ago
Commit
1 month ago
License
APACHE-2.0
Archived
No
Updated 9 days ago

Similar Repositories