SuperAPI AI 工具集

rankify

Rankify 是一个面向检索、重排序与检索增强生成(RAG)的 Python 工具包。它采用模块化设计,将检索、重排序和 RAG 整合在统一框架中。该工具包集成了 40 多个预检索基准数据集,支持 7 种以上检索技术、24 个以上先进重排序模型以及多种 RAG 方法,并提供预构建索引(Wikipedia 与 MS MARCO),可用于快速实验与基准评测。

访问官网

工具介绍

Rankify 是一个模块化且高效的 Python 工具包,用于检索、重排序和检索增强生成(RAG),基于当前先进的模型构建,适用于检索、排序和 RAG 任务。

用途:将检索、重排序和检索增强生成整合到单一框架中,帮助研究者和开发者进行实验、对比与基准评测。

主要能力:

  • 支持多种检索方法,包括 BM25、DPR、ANCE、BPR、ColBERT、BGE、Contriever、SFR、E5、GritLM、M2、Nomic、Instructor、RaDeR、ReasonIR、BGE-Reasoner 和 ReasonEmbed 等。
  • 重排序:实现 28 个高级模型,包含 44 个子方法,覆盖 Cross-Encoders、Vicuna、Zephyr、Sentence Transformer、FlashRank、API 重排序、ColBERT、LLM Layerwise Ranker、Splade、Inranker、Transformer、FIRST、Blender、LLM2VEC、ECHO、Incontext、PRP 等。
  • RAG 支持:可与 Hugging Face、OpenAI、vLLM、LiteLLM 等后端配合,使用 GPT、LLAMA、T5 及 Fusion-in-Decoder(FiD)等模型,支持 Chain-of-Thought RAG、FiD with T5、In-Context Learning RALM 等方法。
  • 内置评估:提供检索、重排序和 RAG 的评估指标,并支持 BEIR、TREC DL19/DL20 的 BM25 基线运行与 TREC 风格指标(nDCG、MAP、MRR),以及基于 RAGAS 的 RAG 质量评估。
  • 数据集与索引:提供 40 多个带预检索文档的基准数据集,以及 Wikipedia 和 MS MARCO 预构建索引。

使用方式:

  • 安装需要 Python 3.10 及以上,推荐使用 PyTorch 2.5.1,可通过 pip 安装完整依赖或按组件(retriever、reranking、rag、all)安装,也可从 GitHub 安装最新开发版。使用 ColBERT 检索器需额外设置步骤。
  • 提供一行式 Pipeline API:pipeline("search") 仅检索文档,pipeline("rerank") 检索加重排序,pipeline("rag") 完整 RAG(检索、重排序、生成)。
  • 提供 RankifyAgent 辅助选择合适模型,Rankify Server 可一键部署为 REST API,包含 /retrieve、/rerank、/rag、/health 端点。
  • 支持与 LangChain、LlamaIndex 等集成,并提供 Gradio 交互式 Web Playground。
  • 传统工作流中可通过 CLI(rankify-index)为自定义数据集构建索引,支持 bm25、dpr、ance、contriever、colbert、bge 等检索器及相应参数。
  • 检索、重排序、生成和评估均提供代码示例,支持本地推断和 API 推断(需提供 api-key)。

适用场景:检索与排序研究、RAG 系统开发与实验、基准评测(BEIR、TREC DL19/DL20、BRIGHT 等)、自定义数据集上的检索与生成流程验证。

限制:Rankify 仍处于开发阶段,当前为 v0.1.0 首个版本;官方说明正在持续增加更多检索器、排序器、数据集和功能。官网未提供其他限制说明。文档、示例和教程可在其在线文档和笔记中获取。项目采用 Apache-2.0 许可证。