Skip to content

ictnlp/FlexRAG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f00cf3a Β· Apr 12, 2025
Jan 8, 2025
Apr 2, 2025
Feb 24, 2025
Apr 9, 2025
Apr 12, 2025
Feb 24, 2025
Dec 12, 2024
Jan 4, 2025
Mar 24, 2025
Dec 9, 2024
Dec 25, 2024
Apr 2, 2025
Apr 2, 2025
Dec 9, 2024
Feb 5, 2025
Feb 12, 2025
Mar 19, 2025
Feb 5, 2025

Repository files navigation

Language Code Style Imports: isort github license Read the Docs Read the Docs PyPI - Version DOI

| Introduction Video | README (chinese) | Documentation | Retrievers | Examples |

FlexRAG is an innovative open-source framework designed to streamline the rapid reproduction, development, and evaluation of Retrieval-Augmented Generation (RAG) systems. It provides comprehensive support for various RAG scenarios, including text-based, multimodal, and web-accessible applications. With an end-to-end pipeline covering everything from data preparation to system evaluation, FlexRAG empowers researchers to efficiently share their work with the community and swiftly develop demonstrative prototypes based on their algorithms.


πŸ“– Table of Contents

✨ Key Features

πŸ“’ News

  • 2025-03-24: The Chinese documentation is now available! Please visit the documentation for more details.
  • 2025-02-25: FlexRAG's LocalRetriever now supports loading from the HuggingFace Hub.
  • 2025-01-22: A new entrypoint run_retriever and four new information retrieval metrics (e.g., RetrievalMAP) are now available. Check out the documentation for more details.
  • 2025-01-08: We provide Windows wheels for FlexRAG. You can install FlexRAG via pip on Windows now.
  • 2025-01-08: The benchmark of FlexRAG on Single-hop QA tasks is now available. Check out the benchmarks for more details.
  • 2025-01-05: Documentation for FlexRAG is now available. Check out the documentation for more details.

πŸš€ Getting Started

To install FlexRAG via pip:

pip install flexrag

Visit our documentation to learn more.

πŸ—οΈ Architecture

FlexRAG is designed with a modular architecture, allowing you to easily customize and extend the framework to meet your specific needs. The following diagram illustrates the architecture of FlexRAG:

πŸ“Š Benchmarks

We have conducted extensive benchmarks using the FlexRAG framework. For more details, please refer to the benchmarks page.

🏷️ License

This repository is licensed under the MIT License. See the LICENSE file for details.

πŸ–‹οΈ Citation

If you use FlexRAG in your research, please cite our project:

@software{Zhang_FlexRAG_2025,
author = {Zhang, Zhuocheng and Feng, Yang and Zhang, Min},
doi = {10.5281/zenodo.14593327},
month = jan,
title = {{FlexRAG}},
url = {https://github.com/ictnlp/FlexRAG},
year = {2025}
}

❀️ Acknowledgements

This project benefits from the following open-source projects: