Skip to main content

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

Project description

FedRAG


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

FedRAG is a framework for federated fine-tuning of Retrieval-Augmented Generation (RAG) systems, wherein a server and potentially several client nodes share an overall model architecture. Since the model is common to all participants of the system, fine-tuning can be done collaboratively without any of the raw data leaving any of the client nodes. Instead only the model weight updates are shared between the client and the server.

./fed_rag
├── __init__.py
├── base
│   ├── __init__.py
│   ├── loss.py
│   └── models
│       ├── __init__.py
│       ├── generator.py # BaseGeneratorModel       ├── rag.py # BaseRAGModel       └── retriever.py # BaseRetrieverModel
├── loss
│   ├── __init__.py
│   ├── generator  # Losses for generation task      └── __init__.py
│   └── retriever # Losses for retrieval task       └── __init__.py
├── models
│   ├── __init__.py
│   ├── generators # Generator models      └── __init__.py
│   └── retrievers # Retrieval models       └── __init__.py
├── ops # module for running fed system   └── __init__.py
└── types
    ├── __init__.py
    ├── client.py # Wrapper for flwr.Client
    └── server.py # Wrapper for flwr.Server

Getting Started

Contributing

Install the project's dev dependencies:

# while in root directory of project `fed-rag/`
uv sync --all-extras --dev

Install the pre-commit hooks:

pre-commit install

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.6.post3.tar.gz (35.1 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.6.post3-py3-none-any.whl (37.9 kB view details)

Uploaded Python 3

File details

Details for the file fed_rag-0.0.6.post3.tar.gz.

File metadata

  • Download URL: fed_rag-0.0.6.post3.tar.gz
  • Upload date:
  • Size: 35.1 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.6.post3.tar.gz
Algorithm Hash digest
SHA256 d7841bd3aac7e3d170103fd7f6726512d9a454e98f838e94dcb11e7d84e60634
MD5 8587e85c0f8375c318ce6e91df982263
BLAKE2b-256 bbcc82af75fc200255db6cb2badf174d0a0ddf89dab0e970fc4834f685b53028

See more details on using hashes here.

File details

Details for the file fed_rag-0.0.6.post3-py3-none-any.whl.

File metadata

  • Download URL: fed_rag-0.0.6.post3-py3-none-any.whl
  • Upload date:
  • Size: 37.9 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.6.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 035fe3cc6b02d2b52578dc503a744968a07393f2205750c4f50371324c2fc2ee
MD5 30bbe19aa7a02577b98a2d8618691d7d
BLAKE2b-256 cfe4006f9c00cd63a5ecd436c4c73b649d6b9fd00dc75da6d2e4ee6eaeafb9e8

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