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

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.post1.tar.gz (33.6 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.post1-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fed_rag-0.0.6.post1.tar.gz
  • Upload date:
  • Size: 33.6 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.post1.tar.gz
Algorithm Hash digest
SHA256 d910219a811658fab3af7d6f33bd4bec6e27b1121cc80fc06e89326fa59f13b1
MD5 993c1f1cb9adec7c597cf6aee177f5a1
BLAKE2b-256 f2bb9cc91f8d36eb5cf53cb28deadf7e3e061b2f3b6df4df1a8ca8c862a4e48b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fed_rag-0.0.6.post1-py3-none-any.whl
  • Upload date:
  • Size: 37.0 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.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 57339caf54c4b810db3e3c65c6cc4c52913f6c79abad6bb7483f89fbcb68f65d
MD5 be2de02c3ea281e0068f3ef3d0d9b5b4
BLAKE2b-256 f21040384c2b8730096fe355f27c6b6d2196f4421f5ded0631b1c261c89cc226

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