The vetiver framework is for MLOps tasks in Python and R.

Vetiver, the oil of tranquility, is used as a stabilizing ingredient in perfumery to preserve more volatile fragrances.

The goal of vetiver is to provide fluent tooling to version, share, deploy, and monitor a trained model. Functions handle both recording and checking the model’s input data prototype, and predicting from a remote API endpoint.

During the MLOps cycle, we collect data, understand and clean the data, train and evaluate a model, deploy the model, and monitor the deployed model. Monitoring can then lead back to collecting more data. There are many great tools available to understand clean data (like pandas and the tidyverse) and to build models (like tidymodels and scikit-learn). Use the vetiver framework to deploy and monitor your models.

Data scientists have effective tools that they ❤️ to:
  • collect data
  • prepare, manipulate, refine data
  • train models
There is a lack 😩 of effective tools to:
  • put models into production
  • monitor model performance
  • trigger retraining

You can use vetiver for deploying and handling your trained models.

library(vetiver)
cars_lm <- lm(mpg ~ ., data = mtcars)
vetiver_model(cars_lm, "cars_linear")

── cars_linear ─ <butchered_lm> model for deployment 
An OLS linear regression model using 10 features
from vetiver import VetiverModel
from vetiver.data import mtcars
from sklearn import linear_model

model = linear_model.LinearRegression().fit(mtcars, mtcars["mpg"])
v = VetiverModel(model, model_name = "cars_linear", 
                 save_ptype = True, ptype_data = mtcars)
v.description
"Scikit-learn <class 'sklearn.linear_model._base.LinearRegression'> model"