Overview¶
---
title: Opsml Primary Artifacts
---
flowchart LR
interface[["Interface"]]
artifacts("
ArtifactCard
#bull; Interface
#bull; Metadata")
db[("Card Registry")]
interface --stored in--> artifacts --stored in--> db
Interfaces are one of the 3 primary objects in Opsml and can be viewed as a low-level object with the most flexibility. Although each subclassed interface is unique, they are all designed to be injected into a ModelCard or DataCard
Interface Types¶
-
DataInterface: Interface used to store data-related information (data, dependent variables, feature descriptions, split logic, etc.) -
ModelInterface: Interface used to store trained model and model information
Data Interface¶
The DataInterface is the primary interface for working with data in Opsml. It is designed to be subclassed and can be used to store data in a variety of formats depending on the library. Out of the box the following subclasses are available:
PandasData: Stores data from a pandas dataframeNumpyData: Stores data from a numpy arrayPolarsData: Stores data from a polars dataframeArrowData: Stores data from a pyarrow tableImageDataset: Stores data from a directory of imagesTextDataset: Stores data from a directory of text filesTorchData: Stores data from a torch tensor(s)SqlData: Stores sql text
Model Interface¶
The ModelInterface is the primary interface for working with models in Opsml. It is designed to be subclassed and can be used to store models in a variety of formats depending on the library. Out of the box the following subclasses are available:
SklearnModel: Stores data from a sklearn modelTorchModel: Stores data from a pytorch modelLightningModel: Stores data from a pytorch lightning modelHuggingFaceModel: Stores data from a huggingface modelTensorFlowModel: Stores data from a tensorflow modelXGBoostModel: Stores data from a xgboost modelLightGBMModel: Stores data from a lightgbm modelCatBoostModel: Stores data from a catboost model
For more information on interfaces, see the each interface's respective documentation.