castorini/rank_llm
RankLLM is a Python toolkit for reproducible information retrieval research using rerankers, with a focus on listwise reranking.
What it solves
RankLLM 提供了一套全面的重排序器套件,用以提升搜尋與檢索系統的精準度。它允許使用者將第一階段檢索器(如 BM25)檢索到的候選文件集進行重新排序,並使用先進的語言模型進行更精確的排序,確保最相關的文件位居最前列。
How it works
該專案實作了幾種重排序策略:
- Pointwise: 使用 MonoT5 和 MonoELECTRA 等模型進行個別文件評分。
- Pairwise: 使用 DuoT5 等模型進行成對文件比較。
- Listwise: 使用 RankZephyr 和 RankVicuna(包括 RankGPT 和 RankGemini 等專有選項)同時處理多個文件以決定最佳排序。
它支援多種後端,包括用於開源模型的 vLLM 以及託管提供商的 API。為了提高效率,它可以使用模型的第一個 token 邏輯值(logits)來進行重排序。
Who it’s for
此工具是為正在進行資訊檢索(IR)與 RAG 流程開發的開發者與研究人員設計的,他們需要高品質的重排序來提升檢索準確度。
Highlights
- Diverse Model Zoo: 包含廣泛的逐點、成對與列表式模型(例如 RankZephyr, LiT5, MonoT5)。
- Flexible Integration: 支援本地 Hugging Face 模型與雲端 API(OpenAI, OpenRouter, Gemini)。
- End-to-End Workflow: 提供 CLI 與 Python API,用於檢索、重排序與評估(使用 NDCG 等指標)。
- Efficiency Optimizations: 支援 vLLM 以實現更快的推論,並透過第一個 token 邏輯值重排序來降低延遲。
相關
- 專案
- 專案
- 專案
- 專案
- 專案