FlashRank

让搜索排序快如闪电,CPU 上也能跑大模型重排序。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 搜索知识 🍴 复刻 75 🐛 待处理 12 👀 关注 6
GitHub ↗
GitHub 星标 ★ 1014
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0许可证,完全免费,可自行部署使用。

项目预览

FlashRank 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类搜索知识
开发团队PrithivirajDamodaran
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型cross-encoder,full-text-search,hybrid-search,lexical-search,rag,ranking,reranking,retrieval-augmented-generation,semantic-search,vector-database,vector-search
GitHub 星标★ 1014
上线时间2023-12-04 00:00:00
代码更新2026-07-11
仓库体积2.6 MB
本站数据更新2026-11-08
维护状态低维护
收录时间2026-08-09
浏览次数2

项目介绍

FlashRank 是一个轻量级、超快的重排序库,专为搜索和检索管道设计。它解决了在生产环境中部署大型重排序模型时面临的延迟和资源消耗问题,通过优化推理过程,实现了比传统交叉编码器快数倍的速度,同时保持高精度。核心能力包括支持基于 LLM 的 Listwise 和 Pairwise 重排序方法,以及多种交叉编码器模型,并提供简洁的 API 集成。它基于 ONNX Runtime 和 CTranslate2 等高效推理引擎,无需 GPU 即可在 CPU 上快速运行,适合资源受限的环境。项目由 Prithivi Da 创建,积极欢迎社区贡献,目前处于成长阶段。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1014

使用教程

⚠ 本教程由 AI 依据该项目 README 整理;原始文档不完整,部分步骤为通用流程推断,实际安装请以项目官方文档为准。

难度:入门 约 10 分钟 部署方式:库/依赖 4 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 运行环境(README 未指定版本)
  • 无需 GPU,可在 CPU 上运行
  • 无需安装 Torch 或 Transformers
  • AWS Lambda 等无服务器环境需准备可写目录用于存放模型

安装与启动步骤

  1. 1安装 FlashRank

    README 的 Installation 章节内容为空,未给出安装命令;此处 install 命令由示例中的 flashrank 包名推断,请以官方仓库为准。

    pip install flashrank
  2. 2验证导入

    确认库已正确安装,能导入 Ranker 与 RerankRequest 两个核心类。

    python -c "from flashrank import Ranker, RerankRequest"
  3. 3初始化重排序器

    README 示例使用默认的交叉编码器模型,并按需指定缓存目录;模型名与路径均为 README 中的示例值。

    from flashrank import Ranker, RerankRequest
    
    ranker = Ranker(model_name="ms-marco-MiniLM-L-12-v2", cache_dir="/opt")
  4. 4无服务器环境配置

    AWS Lambda 等环境中整个 VM 为只读,需在 Dockerfile 里自建目录并通过 cache_dir 传入,同时可作为热启动间的缓存。

    ranker = Ranker(model_name="ms-marco-MiniLM-L-12-v2", cache_dir="/opt")

关键配置

配置项必填说明示例
model_name否指定使用的重排序模型名称ms-marco-MiniLM-L-12-v2
cache_dir否模型下载与缓存目录,只读环境必填/opt

如何确认成功

执行 `from flashrank import Ranker, RerankRequest` 无报错,且 Ranker 能成功初始化并加载模型,即表示可用。

常见问题

Q:需要 GPU 吗?

A:不需要。README 说明该库不依赖 Torch 或 Transformers,可在 CPU 上运行,适合资源受限环境。

Q:在 AWS Lambda 中报只读文件系统错误怎么办?

A:无服务器环境整个 VM 只读,需在 Dockerfile 中创建自定义目录,并通过 cache_dir 参数(如 /opt)指定模型加载与缓存位置。

Q:支持哪些类型的重排序模型?

A:支持 Pairwise/Pointwise 交叉编码器模型(最大 512 token)以及基于 LLM 的 Listwise 重排序模型(最大 8192 token)。

Q:模型体积和速度如何?

A:README 称其拥有约 4MB 的极小重排序模型;重排耗时取决于段落 token 数量与模型层数。

注意事项

  • README 的安装章节为空,实际安装命令以官方仓库当前说明为准。
  • 示例中的 model_name 与 cache_dir 为 README 给出的示例值,可按需替换。
  • 重排序速度受段落 token 数与模型深度(层数)影响。
  • 建议在检索结果送入 LLM 之前先做重排序以提升效果。

核心亮点

  • 推理速度极快,比传统交叉编码器快 10 倍以上
  • 支持 Listwise 和 Pairwise 重排序,灵活适配不同场景
  • 无需 GPU,CPU 上即可运行,降低部署成本

不足之处

  • 项目较新,文档和社区生态尚待完善
  • 模型覆盖范围有限,可能不如成熟库全面

适用场景

  • 生产环境中的搜索排序,需要低延迟响应
  • 资源受限的服务器或边缘设备上的检索增强生成(RAG)
  • 快速原型验证,需要快速集成重排序功能

替代项目

Cohere Rerank、Cross-Encoder (sentence-transformers)、RankLLM

上一篇:SearChat

下一篇:GraphRAG-SDK

同类项目推荐

GPT3-4-Midjourney-StableDiffusio··· 开源

每天更新,一个页面找到能用的GPT和AI绘画镜像

国内AI镜像站的导航大全,每天收集公开的GPT3.5+GPT4受限试用+Midjourney+StableDiffusion···

★ 72 2026-08-09
ai-second-brain 开源

把散落的 AI 对话整理成可检索的个人知识库

Build a living, searchable AI second brain from your ChatGPT, Claude, and research h···

★ 226 2026-11-07
LongRAG 开源

用长上下文LLM直接检索长文本,减少碎片化,提升问答准确率。

Official repo for "LongRAG: Enhancing Retrieval-Augmented Generation with Long-conte···

★ 249 2026-08-09
teracrawl 开源

把任意网页变成干净 Markdown,喂给大模型,轻松搞定!

High-performance web crawler API optimized for LLMs. Turn any search or website into···

★ 289 2026-08-09
qwksearch-research-agent 开源

把互联网变成思维导图,自动搜索、提取并生成研究报告。

Reimagine the Internet as Self-Organizing Mind Map STREAM: Search with Top Resul···

★ 78 2026-08-09
ai_wiki 开源

一站收齐 AI 全栈学习资源与实战笔记

《AI全栈-全网优秀资源搜集站》:搜集全网优秀资源,记载工程实践问题的解决策略与关键要点···

★ 751 2026-09-16
astrbot_plugin_mnemosyne 开源

给聊天机器人装上长期记忆,聊过的事不再忘

一个AstrBot插件,实现基于RAG技术的长期记忆功能。

★ 259 2026-10-02
synthadoc 开源

把文档自动编译成可视化 Wiki,告别黑盒 RAG

Synthadoc: An open-source LLM knowledge compilation engine that turns raw documents ···

★ 1937 2026-08-10