Flexible RAG (Retrieval-Augmented Generation) framework for building AI applications.
Project description
| 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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flexrag-0.3.0-pp311-pypy311_pp73-win_amd64.whl.
File metadata
- Download URL: flexrag-0.3.0-pp311-pypy311_pp73-win_amd64.whl
- Upload date:
- Size: 416.3 kB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c901de2b062ebb115772e2b46fe26f5ccc428d9f0b8598c3ef849d3bd9b2f492
|
|
| MD5 |
fd42c4b9d613de033a587e73a77869ce
|
|
| BLAKE2b-256 |
8ea144b23b258e5a818b746c080ca59b97056701a2165a34c14e661655923205
|
File details
Details for the file flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 446.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5be344a1159c57f0751d3f9450a19ad418f42f887626f13d7a87394a97a757da
|
|
| MD5 |
f134213bb2aee641ec9d62f84fb12fa4
|
|
| BLAKE2b-256 |
3e5f468d6bad83d9c480eea0bc9137626fbfaef08c4a6edb54deaccea6b7ca3d
|
File details
Details for the file flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 452.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0e6faee35e3f9153b969405df02e57f99c0eaaff01f85e6c6915b4725c47647
|
|
| MD5 |
67f8922c48bbf03e1f0f7d8d95c70585
|
|
| BLAKE2b-256 |
f865ee571f9d624c94e0b5406d8638bf7f257176ddd4051ce0ca13c18bbbcae2
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 416.8 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7a80dcebef6445f54dcd3c8fbeba0c308e0f6546310bb86bc08313fd50a04a9
|
|
| MD5 |
f852257cd48a06bc50211cf4b4f3577f
|
|
| BLAKE2b-256 |
774ee113e6b2787fa870634193416adf2ca7d06cf73bbac1dda28715381a1e21
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-win32.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-win32.whl
- Upload date:
- Size: 411.8 kB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18bbe07650277306ccfdb9d859fd25566dee5ebc799a1b8e0b9e16a0ddc364ff
|
|
| MD5 |
b6963d809fd9b20684f378483a9f879e
|
|
| BLAKE2b-256 |
3a08c6b782aad5837e6550d838bcd4df53806ad08d960e55a48c0b0c67b5f754
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
749f533c942d9d21d1f73503a52ff3b38560c50dca0f482e412f28b7413abc30
|
|
| MD5 |
a3c24987c95ef9888c9530901be3d47e
|
|
| BLAKE2b-256 |
8025f7d82da61d00f7f1e19c755e57cc36bdf3b9b8a1f5d8ebdd934361cea970
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43e4b05e9a46437bfc3473b12a30c4e588c8d94d35bd3b719136118e906fc256
|
|
| MD5 |
1f812bd287f95d0306ae46e8723a9a8b
|
|
| BLAKE2b-256 |
2ff3934f39ca061cc20edf1c8c208ffa50f9ceb36c6bb8e2dde015c20f5ab76b
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
938399ddd9ecfe217b1e9dd11652c51b341029f564ab7e45031c3f16b6606e8b
|
|
| MD5 |
815f7db98143275a8352fb052a4e35fe
|
|
| BLAKE2b-256 |
4901c2487191113a6c3e71b1308acecfb79385158c52c9cee92d3f4b3814ce5e
|
File details
Details for the file flexrag-0.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9f5b13fc714b669dd7f3f03c3d4d607cef39493960f5713d4b58294edbe5db8
|
|
| MD5 |
f5dc2a48dae91e2b205f17ccd4beddcd
|
|
| BLAKE2b-256 |
af85bb823f1cf110d44daf90dbd7e9e6f201dfe7d68b4c83da29356d9e1a5dd7
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 416.8 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38aa7f98e2bb1eede93ac692a7a708a856571ebd68b72468ba587748b7683f36
|
|
| MD5 |
35ff6845adb7d7ae337add343f9840f9
|
|
| BLAKE2b-256 |
7268e876577093b0f16a71db3c875ff7ea382e38deb64c121cd61043817bc5bd
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-win32.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-win32.whl
- Upload date:
- Size: 411.8 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c1bbb518d86f4ade89708ad862237bb4f9f8b44e6909e48bd49e4bd68740eaa
|
|
| MD5 |
9065a3a810b50c13956d504d96317312
|
|
| BLAKE2b-256 |
1ce5a6395d1bd3ffdaba87f8d0a1c1957f9f263c1c4e061e0891fe874633bb82
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3bea8396b0b2d57e4eccd802c79aa2a717949b53df5f93e59e82e634c43bf79
|
|
| MD5 |
bbfa499069066aec0207e26f49ec9e1c
|
|
| BLAKE2b-256 |
f6100d4020bad8f42e2b4a150accef6a5fa7c854df626502f09a043fd972eb37
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-musllinux_1_2_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d3705ec3905e62de697c14d490fe02537f17bf5206d6520fe28a5def8c7cb6
|
|
| MD5 |
0628be7227f69fff28b47128846ebe44
|
|
| BLAKE2b-256 |
27b5cc42bce46b90efe5a32fdcb6c5244f2645010dfe41d8e291c1fb880c77c9
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef844de594561147541c1895ef0353532588213e82c99ecffe4d1bc3aa16c7ee
|
|
| MD5 |
4f8939f95b306dea3e1278e4672a4e21
|
|
| BLAKE2b-256 |
1346885f17576a078746b4faaf50bd18c79a9def22ee58b3bc8552c5ca296cc9
|
File details
Details for the file flexrag-0.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12182cf7a4e13d49250f9275e5a8a882a1667780b7fd80a729729b36d9f4f670
|
|
| MD5 |
8c9cc239ca7685cfb903b8cd3a8a4f83
|
|
| BLAKE2b-256 |
6ccc198bda4fe7b5cabb71a21f8b46ead6c84cf0671d6986bdaf21c7f0fe0ca9
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 416.5 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a10404e16293107c67a8a0896d6c1c6b12c690adff961a15dfef4cb5acd1291
|
|
| MD5 |
24e90c80fd3648e887d0eb56bb8ee9a1
|
|
| BLAKE2b-256 |
c8858788c4c325acb82feacac648e0853d9722470c42af3263fc330cf147318e
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-win32.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-win32.whl
- Upload date:
- Size: 411.3 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f13ce1bf2d8a920e9a08f7d381362c44e8d350bd8d0794e6b1bcabdbf1d7d7c2
|
|
| MD5 |
d9326d65705809b839c56fc6f5463f09
|
|
| BLAKE2b-256 |
52e4bb6c7ebe5ec8199ef28ee1fa7f8638765b2b57fc37eb79a0a38b525f770d
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
555d316996d4270b2181ebb5efa86b35304a641af95da946acc890a4841979f6
|
|
| MD5 |
5a50ab11940cca7f5e24eefe1b76b10f
|
|
| BLAKE2b-256 |
0c9f9210308541aba76ec0cd1d7a094253419f00fab71f0ccae0ad8078830b90
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-musllinux_1_2_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-musllinux_1_2_i686.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
163506439b50af394bbccf35782fb763d51bc4f95c74dc2ceb0543ea783db472
|
|
| MD5 |
721fec28e5d87c3c46502ee02de3facd
|
|
| BLAKE2b-256 |
25c09e4659129257f050c79a9cf2e72456c7ce3394d3801d270f6f7ecddcc023
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17dce39224fa691fd9b72be93797a77fba5a1b20fa584e42cc806ddc4d45ecec
|
|
| MD5 |
112373cd9cb07b302232f12f94b10b3e
|
|
| BLAKE2b-256 |
3feca0eca09af1a23e383602206b735bfc6991f0d34c65f183ce40a1f9915aa1
|
File details
Details for the file flexrag-0.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: flexrag-0.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a3972f116f7a4091a79af944c2cc1af75e43376cfa183a4d1ced82e461d45eb
|
|
| MD5 |
a86be07ad3e24bf56ef2a4a99092bc8c
|
|
| BLAKE2b-256 |
0dbe7bb233611d82d084d92e538d45a2d5ca7caf0f06fc410f489fa33289f155
|