发现 AI 代理的未来arrow_forward

Rankify

calendar_today收录于 2026年2月24日
category智能体与应用工具
code开源
Python工作流自动化PyTorchTransformersRAGSDK自然语言处理智能体与应用工具模型与推理框架开发者工具/代码知识管理/检索/RAG教育/研究资源

由因斯布鲁克大学开发的模块化Python工具包,整合信息检索、重排序与RAG生成功能,内置40+预处理数据集,支持一行代码构建完整RAG管道。

项目概述#

Rankify 是由因斯布鲁克大学数据科学团队(DataScienceUIBK)开发的开源 Python 工具包,旨在解决信息检索(IR)与 RAG 领域工具链碎片化的问题。该项目将文档检索、重排序与检索增强生成(RAG)统一在单一框架中,当前版本为 v0.1.4,采用 Apache-2.0 开源协议。

核心能力#

检索能力#

  • 稀疏检索:BM25
  • 密集检索:DPR, ANCE, ColBERT, BGE, Contriever, BPR, HYDE
  • SOTA 检索器:SFR, E5, GritLM, M2, Nomic, Instructor, RaDeR, ReasonIR, BGE-Reasoner, ReasonEmbed, DiverRetriever
  • 预构建索引:Wikipedia 和 MS MARCO 语料库

重排序能力#

集成 24+ 先进重排序模型:

  • Cross-Encoders
  • RankGPT / RankGPT-API
  • MonoT5, MonoBert, RankT5
  • LiT5Score, LiT5Distill
  • Vicuna Reranker, Zephyr Reranker
  • FlashRank, InRanker
  • Transformer Reranker(bge-reranker, mxbai-rerank, gte-multilingual 等)
  • API 服务(Voyage, Jina, Mixedbread.ai)

RAG 生成#

  • 生成策略:Zero-shot, Basic-RAG, Chain-of-Thought-RAG, FiD (Fusion-in-Decoder), In-Context Learning RALM
  • LLM 后端:Hugging Face, vLLM, LiteLLM, OpenAI

数据集与评估#

  • 40+ 预检索基准数据集:NQ, TriviaQA, HotpotQA, FEVER, ELI5, PopQA, Musique, StrategyQA, BoolQ, WebQ 等
  • 每个数据集包含 1,000 个预检索文档
  • 评估指标:Recall@k, Precision@k, MRR, nDCG, MAP
  • RAG 评估:集成 RAGAS 框架

架构设计#

模块化架构#

  • rankify.retrievers:多种检索器实现
  • rankify.models.reranking:重排序模型统一接口
  • rankify.generator:RAG 生成器
  • rankify.dataset:数据集管理和加载
  • rankify.metrics:评估指标
  • rankify.agent:AI 辅助模型选择(RankifyAgent)
  • rankify.server:REST API 服务器
  • rankify.integrations:框架集成

Pipeline API#

支持一行代码创建完整管道:

from rankify import pipeline

# 完整 RAG 管道
rag = pipeline("rag", retriever="bge", reranker="flashrank", generator="basic-rag")
answers = rag("What is machine learning?", documents)

# 其他管道类型
pipeline("search")  # 仅文档检索
pipeline("rerank")  # 检索 + 重排序

部署方式#

REST API 服务#

rankify serve --port 8000 --retriever bge --reranker flashrank

Python API 部署#

from rankify.server import RankifyServer
server = RankifyServer(retriever="bge", reranker="flashrank")
server.start(port=8000)

自定义索引构建#

rankify-index index data/wikipedia_10k.jsonl --retriever bm25 --output ./indices

框架集成#

  • LangChain
  • LlamaIndex
  • Gradio 交互式界面(Web Playground)

安装方式#

# 环境准备
conda create -n rankify python=3.10
conda activate rankify

# PyTorch 安装
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124

# 完整安装
pip install "rankify[all]"

# 可选模块
pip install "rankify[retriever]"  # 检索功能
pip install "rankify[reranking]"   # 重排序功能
pip install "rankify[rag]"         # RAG 端点

适用场景#

  • 学术研究:信息检索和重排序方法的比较研究
  • RAG 系统基准测试
  • 问答系统原型开发
  • 企业级文档检索与排序
  • 知识库问答系统构建
  • 多模型性能对比评估

注意事项#

  • 完整数据集约 1.48 TB,对存储与带宽有较高要求
  • 部分检索器(如 ColBERT)需要特定的编译环境依赖
  • 建议使用 PyTorch 2.5.1 和 Python 3.10+

作者团队#

Abdelrahman Abdallah, Bhawna Piryani, Jamshid Mozafari, Mohammed Ali, Adam Jatowt(因斯布鲁克大学)

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch