mlstacks
mlstacks copied to clipboard
Implement Label Studio Annotator Stack Component
MLStacks currently supports the concept of an annotator stack component but lacks an actual implementation of such a component. This task aims to integrate Label Studio as an annotator stack component within MLStacks, enhancing the framework's capabilities in data annotation.
Task Description
Develop a deployed instance of Label Studio as part of the MLStacks framework. This involves several key steps, including updating enums and constants to recognize Label Studio as a component flavor, and creating a Terraform module for deploying Label Studio on cloud providers (AWS and/or GCP).
Expected Outcome
- The
ComponentFlavor
enum insrc/mlstacks/enums.py
is updated to include Label Studio as an accepted annotator component flavor. - The constants in
src/mlstacks/constants.py
are updated to supportannotator
as a stack component, withlabel_studio
as a permitted flavor. - A Terraform module is created for deploying Label Studio on AWS and/or GCP, with the deployment method chosen based on Kubernetes/Helm or VM instance options.
- The deployment is tested to ensure it successfully deploys Label Studio, with appropriate values exported as outputs from the Terraform module and accessible via MLStacks.
Steps to Implement
- Update
src/mlstacks/enums.py
to includelabel_studio
as a component flavor under the annotator category. - Modify
src/mlstacks/constants.py
to recognizeannotator
as a stack component and addlabel_studio
to the list of permitted flavors. - Design and implement a Terraform module for deploying Label Studio, considering Kubernetes/Helm and VM instance deployment options. Reference Label Studio's installation guides for Kubernetes/Helm and VM instance deployments. (Remember to ensure that the Label Studio instance is backed by persistent storage, esp when using container-based deployments.
- Ensure the Terraform module exports critical deployment information (e.g., Label Studio URL, access credentials) as outputs.
- Conduct thorough testing of the Label Studio deployment via MLStacks on the chosen cloud provider(s), verifying functionality and access.
- Document the implementation process and provide usage instructions, including how to configure the Label Studio annotator stack component in MLStacks.
Additional Context
Integrating Label Studio as an annotator stack component will significantly broaden MLStacks' utility in data annotation workflows, offering users a flexible and powerful tool for labeling data across various use cases.
Code of Conduct
- [ ] I agree to follow this project's Code of Conduct
Note this is similar to #150, but this issue would be for a deployment that was to the cloud provider of choice.
Hi @strickvl, I'd like to work on this task.
@samsmithspace You're welcome to work on this! Let us know if you have any questions.