Skip to main content

A framework for federated fine-tuning of retrieval-augmented generation (RAG) systems.

Project description

logo

FedRAG


Linting Unit Testing and Upload Coverage codecov GitHub License GitHub Release DOI Ask DeepWiki

FedRAG is an open-source framework for federated fine-tuning of Retrieval-Augmented Generation (RAG) systems.

Simplified RAG fine-tuning across centralized or federated architectures

Advanced RAG fine-tuning

Comprehensive support for state-of-the-art RAG fine-tuning methods that can be federated with ease.

Work with your tools

Seamlessly integrates with popular frameworks including HuggingFace, LlamaIndex, and LangChain — use the tools you already know.

Lightweight abstractions

Clean, intuitive abstractions that simplify RAG fine-tuning while maintaining full flexibility and control.

Installation

From package managers

# pypi
pip install fedrag

# conda-forge
conda install -c conda-forge fed-rag

[!NOTE] Extras for fed-rag are also available, such as the HuggingFace extra, which can be installed via pip install fed-rag[huggingface]

From source

git clone https://github.com/VectorInstitute/fed-rag.git
cd fed-rag

# install using pip
pip install -e .

# or, install using uv, our package manager tool of choice
uv sync --all-extras --group dev --group docs

Documentation

For more detailed documentation, visit our official documentation site.

[!TIP] This README provides a high-level overview, but our official documentation is updated more frequently with the latest features, tutorials, and API changes. For the most current information, please refer to the documentation site.

Examples

Check out our examples directory for more detailed usage examples:

  • Basic RAG fine-tuning with federated learning
  • Implementing RA-DIT with FedRAG
  • Custom federated aggregation strategies
  • Integration with popular LLM frameworks

Contributing

We welcome contributions! Please see our Contributing Guide for more details.

Citation

If you use FedRAG in your research, please cite our library:

@software{Fajardo_fed-rag_2024,
author = {Fajardo, Andrei and Emerson, David},
doi = {10.5281/zenodo.15092361},
license = {Apache-2.0},
month = mar,
title = {{fed-rag}},
url = {https://github.com/VectorInstitute/fed-rag},
version = {0.0.14},
year = {2025}
}

[!NOTE] The above citation may not reflect the most recent version of the library. We recommend using the Github citation widget (i.e. "Cite this respository") to obtain a citation entry reflecting the latest released version.

License

FedRAG is released under the Apache License 2.0.

Acknowledgements

FedRAG is developed and maintained by the Vector Institute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fed_rag-0.0.14.post1.tar.gz (68.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fed_rag-0.0.14.post1-py3-none-any.whl (72.5 kB view details)

Uploaded Python 3

File details

Details for the file fed_rag-0.0.14.post1.tar.gz.

File metadata

  • Download URL: fed_rag-0.0.14.post1.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fed_rag-0.0.14.post1.tar.gz
Algorithm Hash digest
SHA256 5ee3ca65dcb8372011f89e79c510408a2852a8d278af0aba2409dad642e30239
MD5 28a537be620005c962aa2104eb1d08f1
BLAKE2b-256 9325a11909091023efb6f1190b3834ba02ac0fc91c90029946ebb5d2168b8386

See more details on using hashes here.

File details

Details for the file fed_rag-0.0.14.post1-py3-none-any.whl.

File metadata

  • Download URL: fed_rag-0.0.14.post1-py3-none-any.whl
  • Upload date:
  • Size: 72.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fed_rag-0.0.14.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 755788c04183ee36c0eccdd5433510e0e1c5bf2b0ffa4a718b15e9167d91cd26
MD5 0d24b7b86bf55797cfdb838f5ed31172
BLAKE2b-256 b8d0d345c1d0858f08ed9832fddb0d9308822e88df8dfd71b8aaca3b4a4a4a7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page