Folder Structure¶
rafiki/
Rafiki’s Python package
admin/
Rafiki’s static Admin component
advisor/
Rafiki’s advisors
client/
Rafiki’s client-side SDK
See also
rafiki.client
worker/
Rafiki’s train, inference & advisor workers
predictor/
Rafiki’s predictor
meta_store/
Abstract data access layer for Rafiki’s main metadata store (backed by PostgreSQL)
param_store/
Abstract data access layer for Rafiki’s store of model parameters (backed by filesystem)
data_store/
Abstract data access layer for Rafiki’s store of datasets (backed by filesystem)
cache/
Abstract data access layer for Rafiki’s temporary store of model parameters, train job metadata and queries & predictions in train & inference jobs (backed by Redis)
container/
Abstract access layer for dynamic deployment of workers
utils/
Collection of Rafiki-internal utility methods (e.g. for logging, authentication)
model/
Definition of abstract
rafiki.model.BaseModel
that all Rafiki models should extend, programming abstractions used in model development, as well as a collection of utility methods for model developers in the implementation of their own modelsconstants.py
Rafiki’s programming abstractions & constants (e.g. valid values for user types, job statuses)
web/
Rafiki’s Web Admin component
dockerfiles/
Stores Dockerfiles for customized components of Rafiki
examples/
Sample usage code for Rafiki.
docs/
Source documentation for Rafiki (e.g. Sphinx documentation files)
test/
Test code for Rafiki
scripts/
Shell & python scripts for initializing, starting and stopping various components of Rafiki’s stack
.env.sh
Stores configuration variables for Rafiki