Install the requirements and setup the environment for development
bash ./setup.sh
Create admin user and populate database with some initial data
conda activate cmulab
python manage.py createsuperuser
python populate.py
Optional steps to enable Google Sign-in:
- Create OAuth app at https://console.cloud.google.com/apis/credentials/oauthclient
- Login to http://localhost:8088/admin/socialaccount/socialapp and add social app
Start the server:
bash ./start.sh
python manage.py createsuperuser
python populate.py
Docker image: zs12/cmulab-devel
Live demo: https://cmulab.dev/
CMULAB offers two options for deploying backend ML/NLP models: as python-based plugins or as external servers that communicate with CMULAB through REST APIs.
You can add new features to CMULAB by implementing them as Python packages and registering them as plugins under the "cmulab.plugins" category during setup. CMULAB will manage the allocation of jobs to the appropiate task queues and spinning up background workers.
CMULAB's phoneme recognition (using Allosaurus, a pretrained universal phone recognizer) and speaker diarization (using a model based on Resemblyzer) functionality is implemented using this method.
conda activate cmulab
python3 -m pip install git+https://github.com/zaidsheikh/cmulab_allosaurus
python3 -m pip install git+https://github.com/zaidsheikh/cmulab_diarization
...
Alternatively, new functionality can be integrated using external servers that communicate with CMULAB using REST APIs. An example is our translation server powered by NLLB.