Demo containerizada para a palestra "Melhores práticas de MLOps usando Apache Airflow".
mlops_airflow_code_examples/dags: DAGs de treino, MLflow, drift/retraining e RAG.mlops_airflow_code_examples/src: funções auxiliares didáticas.exemplo_run: ambiente Docker Compose com Apache Airflow 3.2 e Postgres.docs/demos: roteiro separado de execução para cada demo.
| Demo | DAG | Guia |
|---|---|---|
| Treino com quality gate | 01_mlops_training_quality_gate |
docs/demos/01_training_quality_gate.md |
| Tracking com MLflow | 02_mlflow_tracking_training |
docs/demos/02_mlflow_tracking.md |
| Drift e retreinamento | 03_monitoring_drift_retraining |
docs/demos/03_drift_retraining.md |
| RAG index refresh | 04_rag_index_refresh_pipeline |
docs/demos/04_rag_index_refresh.md |
Crie o arquivo local de ambiente a partir do template versionado:
cd exemplo_run
cp .env.airflow.example .env.airflowPreencha todos os campos vazios de .env.airflow antes de subir o Compose. Gere valores locais para senhas e chaves, por exemplo:
openssl rand -base64 48O arquivo .env.airflow e ignorado pelo Git e nao deve ser commitado.
Se a porta 8080 estiver ocupada, altere o mapeamento de portas em exemplo_run/docker-compose.yml.
Principais pontos do Compose:
- publica a UI/API do Airflow em
http://localhost:8080; - monta
mlops_airflow_code_examples/dagsem/opt/airflow/dags; - monta
mlops_airflow_code_examples/srcem/opt/airflow/src; - persiste logs, runs do MLflow e artefatos temporários em volumes Docker;
- usa SQLite local para o tracking backend do MLflow em
sqlite:////opt/airflow/mlruns/mlflow.db; - usa
AIRFLOW__CORE__EXECUTION_API_SERVER_URLpara oLocalExecutorfuncionar corretamente no Airflow 3.
cd exemplo_run
docker compose --env-file .env.airflow up -d --buildAirflow UI:
http://localhost:8080
Use as credenciais definidas localmente em AIRFLOW_ADMIN_USERNAME e AIRFLOW_ADMIN_PASSWORD.
Cada demo pode ser disparada pela UI do Airflow ou via CLI:
cd exemplo_run
docker compose --env-file .env.airflow exec airflow-apiserver airflow dags trigger <dag_id>Guias separados:
- Demo 01: Treino com quality gate
- Demo 02: Tracking com MLflow
- Demo 03: Drift e retreinamento
- Demo 04: RAG index refresh
cd exemplo_run
docker compose --env-file .env.airflow downPara reset completo dos volumes:
cd exemplo_run
docker compose --env-file .env.airflow down -v