Configuration

PythonPredictor

Specifying models in API configuration

cortex.yaml

The directory s3://cortex-examples/sklearn/mpg-estimator/linreg/ contains 4 different versions of the model.

- name: mpg-estimator
  kind: RealtimeAPI
  predictor:
    type: python
    path: predictor.py
    models:
      path: s3://cortex-examples/sklearn/mpg-estimator/linreg/

predictor.py

import mlflow.sklearn
import numpy as np


class PythonPredictor:
    def __init__(self, config, python_client):
        self.client = python_client

    def load_model(self, model_path):
        return mlflow.sklearn.load_model(model_path)

    def predict(self, payload, query_params):
        model_version = query_params.get("version")

        # model_input = ...

        model = self.client.get_model(model_version=model_version)
        result = model.predict(model_input)

        return {"prediction": result, "model": {"version": model_version}}

Without specifying models in API configuration

cortex.yaml

predictor.py

TensorFlowPredictor

cortex.yaml

predictor.py

ONNXPredictor

cortex.yaml

predictor.py

Last updated