Arquitectura de godml
godml convierte un YAML declarativo en un pipeline de ML ejecutable, con compliance, tracking y provenance integrados.
Pipeline interactivo
Haz clic en cada servicio para explorar qué hace. El flujo se anima automáticamente.
Servicios internos
Cada servicio es modular, intercambiable y trazado. El pipeline falla rápido con mensajes claros.
⚙️ config_service
Parsea el YAML, sustituye variables de entorno (${VAR}) y valida el schema completo con Pydantic. Si hay errores, el pipeline se detiene antes de tocar ningún dato.
# El YAML que parsea config_service
name: customer-churn
provider: mlflow
dataset:
path: data/customers.csv
target: churn
🔧 dataprep_service
Ejecuta la receta de transformaciones definida en dataset.dataprep.steps. Opera sobre pandas DataFrame. Cada transform es atómico, reversible y trazado con OpenLineage.
dataprep:
steps:
- drop_columns: [id, timestamp]
- fillna: { strategy: median }
- encode_categoricals: auto
- scale_features: standard
🛡️ compliance_service
Detecta PII por nombre de columna y contenido. Aplica la política (mask_sensitive, drop_sensitive, hash_sensitive) antes de que los datos lleguen al entrenamiento. Nunca entrena con datos sensibles sin tratar.
Si el dataset contiene columnas como email, ssn, credit_card o phone, godml activa compliance automáticamente — no necesitas configurarlo.
🧠 model_service
Carga el modelo según model.type, aplica el AutoTuner y ejecuta el entrenamiento. Soporta XGBoost, Random Forest, Logistic Regression y LSTM Forecasting.
📊 monitoring_service
Calcula todas las métricas, compara contra los thresholds definidos y registra todo en MLflow. Si algún threshold no se cumple, el modelo no se registra. Siempre puedes ver por qué falló.
AutoTuner
El AutoTuner detecta características del dataset y ajusta hiperparámetros automáticamente — sin configuración manual:
| Condición detectada | Ajuste automático |
|---|---|
| Dataset desbalanceado (ratio > 3:1) | scale_pos_weight en XGBoost |
| Pocas filas (< 500) | Reduce n_estimators, aumenta regularización |
| Muchas columnas (> 50) | Activa max_features en RF |
| Multiclase detectada | Cambia objective a multi:softmax |
Todos los ajustes se logean en MLflow para trazabilidad completa.
Providers
Mismo pipeline YAML — diferente entorno de ejecución. Haz clic para ver la configuración:
Flujo de datos completo
Estructura de archivos generada
mi-proyecto/
├── godml.yml ← pipeline definition
├── data/
│ ├── raw.csv
│ └── clean_pci.csv ← si compliance activo
├── output/
│ ├── predictions.csv ← batch_output
│ └── model.pkl ← model_output
└── mlruns/ ← MLflow tracking
└── [experiment_id]/
└── [run_id]/
├── metrics/
├── params/
└── artifacts/
¿Listo para ejecutar tu primer pipeline? Ve a Quickstart →