FlexRAG 是一个灵活的高性能框架,专为检索增强生成 (RAG) 任务而设计。FlexRAG 支持多模态数据,提供统一的配置管理及开箱即用的检索系统,为科研和原型设计提供充分支持。
- 多模态RAG: FlexRAG 不仅限于基于文本的检索增强生成 (RAG)。它还支持多模态 RAG,为不同数据类型开辟了广泛的应用可能性。
- 多数据类型: FlexRAG 支持多种数据格式,包括文本(例如 CSV、JSONL)、图像、文档、Web 快照等,让您可以灵活地处理各种数据源。
- 统一的配置管理: 利用 python
dataclass
和 hydra-core, FlexRAG 统一了配置管理,让 RAG 流程的配置变得更加简单。 - 开箱即用: 通过精心优化的默认配置,FlexRAG 在默认配置下就有良好的性能,简化您的开发流程。
- 高性能: 利用持久化缓存和异步函数,FlexRAG 显著提高了 RAG 流程的性能。
- 科研及开发友好: 支持多种开发方式。此外,FlexRAG 提供了一个伴生仓库,flexrag_examples,来帮助您复现各类RAG算法。
- 轻量化: FlexRAG 采用最少的开销设计,高效且易于集成到您的项目中。
- 2025-01-22: 新的命令行入口
run_retriever
以及大量新的信息检索指标(如RetrievalMAP
)现已上线,请阅读文档以获取更多信息。 - 2025-01-08: FlexRAG 现已支持 Windows 系统,您可以直接通过
pip install flexrag
来安装。 - 2025-01-08: FlexRAG 在单跳QA数据集上的基准测试现已公开,详情请参考 benchmarks 页面。
- 2025-01-05: FlexRAG 的文档现已上线。
从 pip
安装 FlexRAG:
pip install flexrag
访问我们的文档以了解更多信息。
FlexRAG 采用模块化架构设计,让您可以轻松定制和扩展框架以满足您的特定需求。下图说明了 FlexRAG 的架构:
我们利用 FlexRAG 进行了大量的基准测试,详情请参考 benchmarks 页面。
本仓库采用 MIT License 开源协议. 详情请参考 LICENSE 文件。
下面的开源项目对本项目有所帮助: