ORCA é uma aplicação inteligente para automação de orçamentos utilizando machine learning. Ela integra workflows de MLOps com rastreamento de experimentos via MLflow e deploy utilizando AWS e GitHub Actions.
Para fazer alterações no pipeline:
- Atualize
config.yaml - Atualize
schema.yaml - Atualize
params.yaml - Atualize a entidade no diretório
entity/ - Atualize o configuration manager em
src/config/ - Atualize os componentes
- Atualize o pipeline
- Atualize
main.py - Atualize
app.py(interface/execução)
git clone https://github.com/ArthurMaciell/ORCA.git
cd ORCAconda create -n mlproj python=3.8 -y
conda activate mlprojpip install -r requirements.txtpython app.pyAcesse no seu navegador:
http://localhost:8501
Execute o comando abaixo para abrir o MLflow UI localmente:
mlflow uiAcesse: http://localhost:5000
Você pode rastrear os experimentos remotamente no DagsHub.
import dagshub
dagshub.init(repo_owner='ArthurMaciell', repo_name='ORCA', mlflow=True)
import mlflow
with mlflow.start_run():
mlflow.log_param('parameter_name', 'value')
mlflow.log_metric('metric_name', 1)export MLFLOW_TRACKING_URI=https://dagshub.com/ArthurMaciell/ORCA.mlflow
export MLFLOW_TRACKING_USERNAME=ArthurMaciell
export MLFLOW_TRACKING_PASSWORD=SEU_TOKEN_AQUIAmazonEC2FullAccessAmazonEC2ContainerRegistryFullAccess
Anote a URI, ex.:
897722662134.dkr.ecr.us-east-1.amazonaws.com/orca
sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ubuntu
newgrp dockerNo GitHub: Settings > Actions > Runners > New self-hosted runner
Siga as instruções para configurar.
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_REGION(ex:us-east-1)AWS_ECR_LOGIN_URIECR_REPOSITORY_NAME
MLflow é uma ferramenta de rastreamento de experimentos de Machine Learning que permite:
- Armazenar métricas e parâmetros
- Versionar modelos
- Reproduzir experimentos
- Fazer deploy de modelos de forma integrada
Documentação oficial: https://mlflow.org
✔️ Estrutura de MLOps funcional
✔️ Treinamento e tracking com MLflow
✔️ Interface com app.py para uso interno
🚧 Automatização de deploy em andamento
Arthur Maciel
GitHub • LinkedIn
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.