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.4.tar.gz (22.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.4-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fed_rag-0.0.4.tar.gz
  • Upload date:
  • Size: 22.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.4.tar.gz
Algorithm Hash digest
SHA256 99085b15e705269c65681be933cc4171d4f0b3f55b67c5206eae087e7cec07cf
MD5 04b03c614097890c811909f9c8edce57
BLAKE2b-256 a3f5ad8b611df8400ab5c099031be93552401ca1c421a788b835192b319acd00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fed_rag-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 25.7 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fa69679b6e1021a972588a6103271855ac711c02efb5303b23182e8987e75ab2
MD5 8d446d0ae08ef5f3a53e8e0714cf82d4
BLAKE2b-256 673af18cb2b97f50aa5d3161cb37a944a736f20d4382989595dd46561b67e122

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