MLOps-risk-model / README.md
github-actions[bot]
deploy: sync from GitHub main
1e5b98a
metadata
title: MLOps Credit Risk API
sdk: docker

Taller MLOps: Credit Risk API (FastAPI + DVC + MLflow + GitHub Actions)

Este repositorio contiene el cΓ³digo de un taller prΓ‘ctico de MLOps donde se construye un sistema de riesgo de crΓ©dito con:

  • GeneraciΓ³n de datos sintΓ©ticos
  • Pipeline de datos + entrenamiento reproducible
  • Versionamiento de datos con DVC
  • Tracking de modelos con MLflow
  • API de inferencia con FastAPI
  • CI/CD y Entrenamiento Continuo con GitHub Actions
  • Despliegue en Hugging Face Spaces (modo Docker) como entorno β€œproductivo” de demostraciΓ³n

1. Estructura del repositorio

.
β”œβ”€ api/                   # API FastAPI para servir el modelo
β”‚  β”œβ”€ __init__.py
β”‚  β”œβ”€ main.py
β”‚  β”œβ”€ config.py
β”‚  β”œβ”€ schemas.py
β”‚  β”œβ”€ model_loader.py
β”‚  └─ routes/
β”‚     β”œβ”€ __init__.py
β”‚     β”œβ”€ health.py
β”‚     └─ predict.py
β”œβ”€ src/                   # CΓ³digo de datos y entrenamiento
β”‚  β”œβ”€ __init__.py
β”‚  β”œβ”€ config.py           # rutas, constantes y config MLflow
β”‚  β”œβ”€ generate_synthetic_data.py
β”‚  β”œβ”€ data_prep.py
β”‚  β”œβ”€ model_utils.py
β”‚  β”œβ”€ train.py
β”‚  └─ evaluate.py
β”œβ”€ data/
β”‚  β”œβ”€ raw/                # datos crudos (DVC)
β”‚  └─ processed/          # train/valid (DVC)
β”œβ”€ models/
β”‚  └─ model-latest.pkl    # ΓΊltimo modelo para la API
β”œβ”€ tests/
β”‚  └─ test_api.py         # tests de la API
β”œβ”€ mlruns/                # tracking local de MLflow
β”œβ”€ dvc.yaml               # pipeline DVC (generate β†’ prepare β†’ train)
β”œβ”€ dvc.lock
β”œβ”€ requirements.txt
β”œβ”€ Dockerfile             # para correr la API en Hugging Face Spaces
└─ .github/workflows/
   β”œβ”€ ci_cd.yml           # CI + CD (push a main)
   └─ continuous_training.yml  # Entrenamiento continuo (cada 10 min)