0Pricing
MLOps Academy · Lección

Escriba un predictor personalizado

Integre su propio preprocesamiento y código de modelo.

Escriba un predictor personalizado es una lección gratuita de MLOps Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MLOps Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MLOps Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

When Built-ins Fall Short

The built-in runtimes cover sklearn, PyTorch, and friends. But when your model needs special logic, you write your own. A custom predictor gives you full control. 🛠️

It Is Just a Container

A custom predictor is your own container image that speaks the KServe protocol. You package your code, model, and dependencies into one image and hand it to KServe.

The KServe Python SDK

The kserve Python package gives you a base class to extend. You subclass kserve.Model and fill in how your model loads and predicts.

import kserve

class MyModel(kserve.Model):
    def __init__(self, name):
        super().__init__(name)
        self.ready = False

Implement load()

The load method reads your model from disk into memory once at startup. When it finishes, you set ready to True so KServe knows it can serve.

def load(self):
    self.model = joblib.load("/mnt/models/model.joblib")
    self.ready = True

Implement predict()

The predict method takes the request payload, runs your model, and returns the result as a dict. This is where your real inference logic lives.

def predict(self, payload, headers=None):
    rows = payload["instances"]
    preds = self.model.predict(rows)
    return {"predictions": preds.tolist()}

Custom Preprocessing Fits Here

Need to reshape inputs or apply business rules before inference? Put that logic right inside predict or in a preprocess step. The runtime never had to know about it.

Start the Model Server

You wire your class into a ModelServer and start it. KServe's server handles HTTP, health, and the protocol so you only write model code. ModelServer runs the loop.

if __name__ == "__main__":
    model = MyModel("custom-model")
    model.load()
    kserve.ModelServer().start([model])

Package It in a Dockerfile

You build a container that installs kserve, copies your code, and runs the server. This Dockerfile produces the image KServe will launch.

FROM python:3.11-slim
RUN pip install kserve joblib scikit-learn
COPY model.py /app/model.py
CMD ["python", "/app/model.py"]

Point the Spec at Your Image

In the InferenceService, the predictor uses a plain containers block instead of a model format. You name your image and KServe runs it.

spec:
  predictor:
    containers:
      - name: kserve-container
        image: my-registry/custom-model:latest

Mounting Your Model

You can still set a storageUri, and KServe mounts the downloaded model at a known path your code reads. The container and the storageUri work together.

Same Protocol, Your Logic

Because you implement the standard endpoints, clients call your custom predictor exactly like a built-in one. The protocol stays identical, only the internals are yours.

Quick Check

You subclass kserve.Model for a custom predictor. Which method loads the model into memory?

Recap

You built a custom predictor by subclassing kserve.Model, filling in load and predict, and shipping it as a container. Same protocol, your own logic. Awesome work! 🎉

Preguntas frecuentes

¿La lección «Escriba un predictor personalizado» es gratis?

Sí — el texto completo de «Escriba un predictor personalizado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MLOps Academy, actualiza a CoddyKit PRO. El curso de MLOps Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Escriba un predictor personalizado»?

Integre su propio preprocesamiento y código de modelo. Practicas MLOps Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar MLOps Academy?

No se requiere experiencia previa. MLOps Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Escriba un predictor personalizado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de MLOps Academy?

Sí. Cada lección de MLOps Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El recurso InferenceService
  2. Escale a cero y vuelva a activar
  3. Escriba un predictor personalizado
  4. KServe frente a Seldon Core
← Volver a MLOps Academy