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

Environment setup:

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

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.5.tar.gz (25.4 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.5-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file fed_rag-0.0.5.tar.gz.

File metadata

  • Download URL: fed_rag-0.0.5.tar.gz
  • Upload date:
  • Size: 25.4 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.5.tar.gz
Algorithm Hash digest
SHA256 b7cf1dfa407f675ac231da40e3f3f0aeec9fbb59a630154d7e100c5f38566e0f
MD5 c1841501b041be9c9206dc7500fb2f9d
BLAKE2b-256 a599454ddf0c40ff674deb02495221b7f273e90af503e9bafaf12547a12f7519

See more details on using hashes here.

File details

Details for the file fed_rag-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: fed_rag-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 28.2 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c246c1a4895c9b7622ed4cf1d2b865bdb93cff67dafefdcd7c3e04efffb2203b
MD5 3f3f570da6efb751061c60713d182b8c
BLAKE2b-256 20606d1f6057c22db2b4568eb992aad82fed314c92f03aa7852b25be7149d3f5

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