| 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
- 📖 Table of Contents
- ✨ Key Features
- 📢 News
- 🚀 Getting Started
- 🏗️ Architecture
- 📊 Benchmarks
- 🏷️ License
- 🖋️ Citation
- ❤️ Acknowledgements
✨ 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_retrieverand 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:
Metadata
Release files for flexrag 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 24.2 MB
Release files / flexrag-0.3.0-pp311-pypy311_pp73-win_amd64.whl
| Download URL | flexrag-0.3.0-pp311-pypy311_pp73-win_amd64.whl |
|---|---|
| Size | 416.3 kB |
| Tags | PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c901de2b062ebb115772e2b46fe26f5ccc428d9f0b8598c3ef849d3bd9b2f492
|
|
BLAKE2b-256 checksum How to use checksums |
8ea144b23b258e5a818b746c080ca59b97056701a2165a34c14e661655923205
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 446.7 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
5be344a1159c57f0751d3f9450a19ad418f42f887626f13d7a87394a97a757da
|
|
BLAKE2b-256 checksum How to use checksums |
3e5f468d6bad83d9c480eea0bc9137626fbfaef08c4a6edb54deaccea6b7ca3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 452.7 kB |
| Tags | Linux glibc 2.17+ x86-32 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
f0e6faee35e3f9153b969405df02e57f99c0eaaff01f85e6c6915b4725c47647
|
|
BLAKE2b-256 checksum How to use checksums |
f865ee571f9d624c94e0b5406d8638bf7f257176ddd4051ce0ca13c18bbbcae2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp313-cp313-win_amd64.whl
| Download URL | flexrag-0.3.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 416.8 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e7a80dcebef6445f54dcd3c8fbeba0c308e0f6546310bb86bc08313fd50a04a9
|
|
BLAKE2b-256 checksum How to use checksums |
774ee113e6b2787fa870634193416adf2ca7d06cf73bbac1dda28715381a1e21
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp313-cp313-win32.whl
| Download URL | flexrag-0.3.0-cp313-cp313-win32.whl |
|---|---|
| Size | 411.8 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
18bbe07650277306ccfdb9d859fd25566dee5ebc799a1b8e0b9e16a0ddc364ff
|
|
BLAKE2b-256 checksum How to use checksums |
3a08c6b782aad5837e6550d838bcd4df53806ad08d960e55a48c0b0c67b5f754
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | flexrag-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
749f533c942d9d21d1f73503a52ff3b38560c50dca0f482e412f28b7413abc30
|
|
BLAKE2b-256 checksum How to use checksums |
8025f7d82da61d00f7f1e19c755e57cc36bdf3b9b8a1f5d8ebdd934361cea970
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp313-cp313-musllinux_1_2_i686.whl
| Download URL | flexrag-0.3.0-cp313-cp313-musllinux_1_2_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
43e4b05e9a46437bfc3473b12a30c4e588c8d94d35bd3b719136118e906fc256
|
|
BLAKE2b-256 checksum How to use checksums |
2ff3934f39ca061cc20edf1c8c208ffa50f9ceb36c6bb8e2dde015c20f5ab76b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | flexrag-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
938399ddd9ecfe217b1e9dd11652c51b341029f564ab7e45031c3f16b6606e8b
|
|
BLAKE2b-256 checksum How to use checksums |
4901c2487191113a6c3e71b1308acecfb79385158c52c9cee92d3f4b3814ce5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | flexrag-0.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
d9f5b13fc714b669dd7f3f03c3d4d607cef39493960f5713d4b58294edbe5db8
|
|
BLAKE2b-256 checksum How to use checksums |
af85bb823f1cf110d44daf90dbd7e9e6f201dfe7d68b4c83da29356d9e1a5dd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp312-cp312-win_amd64.whl
| Download URL | flexrag-0.3.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 416.8 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
38aa7f98e2bb1eede93ac692a7a708a856571ebd68b72468ba587748b7683f36
|
|
BLAKE2b-256 checksum How to use checksums |
7268e876577093b0f16a71db3c875ff7ea382e38deb64c121cd61043817bc5bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp312-cp312-win32.whl
| Download URL | flexrag-0.3.0-cp312-cp312-win32.whl |
|---|---|
| Size | 411.8 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
4c1bbb518d86f4ade89708ad862237bb4f9f8b44e6909e48bd49e4bd68740eaa
|
|
BLAKE2b-256 checksum How to use checksums |
1ce5a6395d1bd3ffdaba87f8d0a1c1957f9f263c1c4e061e0891fe874633bb82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | flexrag-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
e3bea8396b0b2d57e4eccd802c79aa2a717949b53df5f93e59e82e634c43bf79
|
|
BLAKE2b-256 checksum How to use checksums |
f6100d4020bad8f42e2b4a150accef6a5fa7c854df626502f09a043fd972eb37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp312-cp312-musllinux_1_2_i686.whl
| Download URL | flexrag-0.3.0-cp312-cp312-musllinux_1_2_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
77d3705ec3905e62de697c14d490fe02537f17bf5206d6520fe28a5def8c7cb6
|
|
BLAKE2b-256 checksum How to use checksums |
27b5cc42bce46b90efe5a32fdcb6c5244f2645010dfe41d8e291c1fb880c77c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | flexrag-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ef844de594561147541c1895ef0353532588213e82c99ecffe4d1bc3aa16c7ee
|
|
BLAKE2b-256 checksum How to use checksums |
1346885f17576a078746b4faaf50bd18c79a9def22ee58b3bc8552c5ca296cc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | flexrag-0.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
12182cf7a4e13d49250f9275e5a8a882a1667780b7fd80a729729b36d9f4f670
|
|
BLAKE2b-256 checksum How to use checksums |
6ccc198bda4fe7b5cabb71a21f8b46ead6c84cf0671d6986bdaf21c7f0fe0ca9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp311-cp311-win_amd64.whl
| Download URL | flexrag-0.3.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 416.5 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8a10404e16293107c67a8a0896d6c1c6b12c690adff961a15dfef4cb5acd1291
|
|
BLAKE2b-256 checksum How to use checksums |
c8858788c4c325acb82feacac648e0853d9722470c42af3263fc330cf147318e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp311-cp311-win32.whl
| Download URL | flexrag-0.3.0-cp311-cp311-win32.whl |
|---|---|
| Size | 411.3 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
f13ce1bf2d8a920e9a08f7d381362c44e8d350bd8d0794e6b1bcabdbf1d7d7c2
|
|
BLAKE2b-256 checksum How to use checksums |
52e4bb6c7ebe5ec8199ef28ee1fa7f8638765b2b57fc37eb79a0a38b525f770d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / flexrag-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | flexrag-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
555d316996d4270b2181ebb5efa86b35304a641af95da946acc890a4841979f6
|
|
BLAKE2b-256 checksum How to use checksums |
0c9f9210308541aba76ec0cd1d7a094253419f00fab71f0ccae0ad8078830b90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp311-cp311-musllinux_1_2_i686.whl
| Download URL | flexrag-0.3.0-cp311-cp311-musllinux_1_2_i686.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
163506439b50af394bbccf35782fb763d51bc4f95c74dc2ceb0543ea783db472
|
|
BLAKE2b-256 checksum How to use checksums |
25c09e4659129257f050c79a9cf2e72456c7ce3394d3801d270f6f7ecddcc023
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | flexrag-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
17dce39224fa691fd9b72be93797a77fba5a1b20fa584e42cc806ddc4d45ecec
|
|
BLAKE2b-256 checksum How to use checksums |
3feca0eca09af1a23e383602206b735bfc6991f0d34c65f183ce40a1f9915aa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / flexrag-0.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | flexrag-0.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
8a3972f116f7a4091a79af944c2cc1af75e43376cfa183a4d1ced82e461d45eb
|
|
BLAKE2b-256 checksum How to use checksums |
0dbe7bb233611d82d084d92e538d45a2d5ca7caf0f06fc410f489fa33289f155
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Security for flexrag 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.