Saltar al contenido principal

Serving

Un modelo entrenado se publica como un servicio de inferencia: un endpoint HTTP dentro del laboratorio que recibe datos y devuelve predicciones. Para modelos clásicos (scikit-learn, XGBoost, PyTorch) se usa KServe; para modelos de lenguaje, el camino es el Catálogo de modelos e InferNode.

Publicar un modelo scikit-learn

  1. Guarda el modelo en un volumen del laboratorio, por ejemplo model.joblib en el volumen modelo-fugas. Entrena con la misma versión de librería que usará el servidor para evitar incompatibilidades al cargar.
  2. Crea el servicio:
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: detector-fugas
spec:
predictor:
model:
modelFormat: { name: sklearn }
storageUri: pvc://modelo-fugas/
  1. En el panel del laboratorio, KServe Endpoints muestra el servicio con su predictor, runtime, protocolo y Storage URI; espera a que el estado sea verde. New Endpoint permite crearlo desde un formulario en lugar del archivo de arriba, y View Graphs muestra las métricas de peticiones.

    Lista de endpoints vacía con los botones View Graphs y New Endpoint

  2. Prueba desde un notebook del mismo laboratorio:

import requests
r = requests.post("http://detector-fugas.<namespace>/v1/models/detector-fugas:predict",
json={"instances": [[2.1, 9.8], [5.2, 10.1]]})
print(r.json())

Recursos

El servicio consume CPU y memoria del presupuesto del laboratorio mientras está publicado. Elimínalo cuando no lo uses.

Referencia en la documentación de KServe.

Siguiente paso