Skip to content

Tooling to load models from the Faculty model registry

Notifications You must be signed in to change notification settings

facultyai/faculty-models

Repository files navigation

faculty-models

faculty-models is a tool to help you use models from the model registry in Faculty Platform.

Warning

This library's API is subject to change as new functionality is added to the model registry feature in Faculty Platform.

Installation

faculty-models comes preinstalled in Python environments available in Faculty platform. To use it externally, install it from PyPI with pip:

pip install faculty-models

If you've not already done so on the computer you're using, you'll also need to generate and store CLI credentials for the Platform. You can do this with the Faculty CLI.

Usage

The model registry in Faculty Platform includes a feature that helps you generate the snippets you need. It will help you get the project and model IDs you need to use faculty-models.

If your model is in the MLmodel format (likely because you used MLflow to store it), you can load it directly back into Python with:

import faculty_models

model = faculty_models.load_mlmodel(
    project_id="998328c3-23df-4225-a3ee-0a53d1409fbd",
    model_id="c998fca9-e093-47ea-9896-8f75db695b91"
)

Otherwise, you can use the following to download the contents of the model to the local filesystem. download returns the path of the downloaded model files:

import faculty_models

path = faculty_models.download(
    project_id="998328c3-23df-4225-a3ee-0a53d1409fbd",
    model_id="c998fca9-e093-47ea-9896-8f75db695b91"
)

The above examples always download the latest version of a model. To get a specific verion, pass the version number when calling either function:

import faculty_models

model = faculty_models.load_mlmodel(
    project_id="998328c3-23df-4225-a3ee-0a53d1409fbd",
    model_id="c998fca9-e093-47ea-9896-8f75db695b91",
    version=4
)

If you only wish to download part of the model, or if you wish to load an MLmodel that is in a subdirectory of the model, pass the path argument to either function:

import faculty_models

model = faculty_models.load_mlmodel(
    project_id="998328c3-23df-4225-a3ee-0a53d1409fbd",
    model_id="c998fca9-e093-47ea-9896-8f75db695b91",
    path="sub/path"
)