Pipelines
Un pipeline es una secuencia de pasos, cada uno en su propio contenedor, con entradas y salidas registradas. A diferencia de un notebook, deja un historial: qué corrió, con qué parámetros, qué produjo.
Cuándo pasar de notebook a pipeline
Cuando corres el mismo proceso más de dos veces, cuando necesitas comparar ejecuciones, o cuando el trabajo debe encolarse y correr sin que tú estés conectado.
Un pipeline mínimo
Se escribe en Python con el SDK de Kubeflow Pipelines (KFP v2). Ejemplo con dos pasos: generar un dataset y analizarlo.
from kfp import dsl
@dsl.component(base_image="python:3.11-slim")
def generar(salida: dsl.Output[dsl.Dataset]):
import csv, random
with open(salida.path, "w") as f:
w = csv.writer(f); w.writerow(["presion", "flujo"])
for _ in range(1000): w.writerow([random.gauss(5, 1), random.gauss(10, 2)])
@dsl.component(base_image="python:3.11-slim")
def analizar(entrada: dsl.Input[dsl.Dataset], metricas: dsl.Output[dsl.Metrics]):
import csv
filas = list(csv.DictReader(open(entrada.path)))
anomalias = sum(1 for r in filas if float(r["presion"]) < 3)
metricas.log_metric("lecturas", len(filas))
metricas.log_metric("anomalias", anomalias)
@dsl.pipeline(name="sensores")
def pipeline():
analizar(entrada=generar().outputs["salida"])
Compila y sube desde el notebook del laboratorio (el SDK ya conoce tu sesión):
from kfp import compiler, Client
compiler.Compiler().compile(pipeline, "sensores.yaml")
Client().create_run_from_pipeline_package("sensores.yaml", arguments={})
El menú Pipelines del panel
| Entrada | Qué es |
|---|---|
| Pipelines | Definiciones subidas. Pestañas Private (solo tu laboratorio) y Shared (visibles para todo el Cliente). Upload pipeline sube un archivo compilado. |
| Experiments | Agrupaciones de runs para compararlos. |
| Runs | Cada ejecución, con estado, duración, experimento y versión del pipeline. Create run, Compare runs, Clone run, Archive. |
| Recurring Runs | Ejecuciones programadas (cada hora, cada día). |
| Artifacts | Datasets, modelos y métricas que produjo cada paso. |
| Executions | Cada paso ejecutado, con sus entradas y salidas. |

Ver resultados
En Runs, cada ejecución muestra el grafo, los logs por paso, los artefactos y las métricas registradas. Un run terminado se puede archivar para sacarlo de la lista sin perderlo.

Datos que no deben ir en un pipeline
Lo que subas en la pestaña Shared, y los nombres, parámetros, métricas y artefactos de cualquier pipeline, son visibles para otros usuarios de la plataforma de pipelines. No pongas datos confidenciales ahí; mantenlos en el disco del laboratorio y pásalos por referencia.
Para la sintaxis completa del SDK, consulta la documentación de Kubeflow Pipelines.