json.schema.entity.data.mlmodel.json Maven / Gradle / Ivy
{
"$id": "https://open-metadata.org/schema/entity/data/mlmodel.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "MlModel",
"$comment": "@om-entity-type",
"description": "This schema defines the Model entity. `Machine Learning Models` are algorithms trained on data to find patterns or make predictions.",
"type": "object",
"javaType": "org.openmetadata.schema.entity.data.MlModel",
"javaInterfaces": ["org.openmetadata.schema.EntityInterface"],
"definitions": {
"featureType": {
"javaType": "org.openmetadata.schema.type.MlFeatureDataType",
"description": "This enum defines the type of data stored in a ML Feature.",
"type": "string",
"enum": ["numerical", "categorical"],
"javaEnums": [
{
"name": "Numerical"
},
{
"name": "Categorical"
}
]
},
"featureSourceDataType": {
"javaType": "org.openmetadata.schema.type.FeatureSourceDataType",
"description": "This enum defines the type of data of a ML Feature source.",
"type": "string",
"enum": [
"integer",
"number",
"string",
"array",
"date",
"timestamp",
"object",
"boolean"
]
},
"featureSource": {
"type": "object",
"javaType": "org.openmetadata.schema.type.MlFeatureSource",
"description": "This schema defines the sources of a ML Feature.",
"additionalProperties": false,
"properties": {
"name": {
"$ref": "../../type/basic.json#/definitions/entityName"
},
"dataType": {
"description": "Data type of the source (int, date etc.).",
"$ref": "#/definitions/featureSourceDataType"
},
"description": {
"description": "Description of the feature source.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"fullyQualifiedName": {
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"dataSource": {
"description": "Description of the Data Source (e.g., a Table).",
"$ref": "../../type/entityReference.json"
},
"tags": {
"description": "Tags associated with the feature source.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": []
}
}
},
"mlFeature": {
"type": "object",
"javaType": "org.openmetadata.schema.type.MlFeature",
"description": "This schema defines the type for an ML Feature used in an ML Model.",
"additionalProperties": false,
"properties": {
"name": {
"$ref": "../../type/basic.json#/definitions/entityName"
},
"dataType": {
"description": "Data type of the column (numerical vs. categorical).",
"$ref": "#/definitions/featureType"
},
"description": {
"description": "Description of the ML Feature.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"fullyQualifiedName": {
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"featureSources": {
"description": "Columns used to create the ML Feature.",
"type": "array",
"items": {
"$ref": "#/definitions/featureSource"
},
"default": null
},
"featureAlgorithm": {
"description": "Description of the algorithm used to compute the feature, e.g., PCA, bucketing...",
"type": "string"
},
"tags": {
"description": "Tags associated with the feature.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": null
}
}
},
"mlHyperParameter": {
"type": "object",
"javaType": "org.openmetadata.schema.type.MlHyperParameter",
"description": "This schema defines the type for an ML HyperParameter used in an ML Model.",
"additionalProperties": false,
"properties": {
"name": {
"description": "Hyper parameter name.",
"type": "string"
},
"value": {
"description": "Hyper parameter value.",
"type": "string"
},
"description": {
"description": "Description of the Hyper Parameter.",
"$ref": "../../type/basic.json#/definitions/markdown"
}
}
},
"mlStore": {
"type": "object",
"javaType": "org.openmetadata.schema.type.MlStore",
"description": "Location containing the ML Model. It can be a storage layer and/or a container repository.",
"additionalProperties": false,
"properties": {
"storage": {
"description": "Storage Layer containing the ML Model data.",
"type": "string"
},
"imageRepository": {
"description": "Container Repository with the ML Model image.",
"type": "string"
}
}
}
},
"properties": {
"id": {
"description": "Unique identifier of an ML Model instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies this ML Model.",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"fullyQualifiedName": {
"description": "A unique name that identifies an ML Model.",
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"displayName": {
"description": "Display Name that identifies this ML Model.",
"type": "string"
},
"description": {
"description": "Description of the ML Model, what it is, and how to use it.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"algorithm": {
"description": "Algorithm used to train the ML Model.",
"type": "string"
},
"mlFeatures": {
"description": "Features used to train the ML Model.",
"type": "array",
"items": {
"$ref": "#/definitions/mlFeature"
},
"default": null
},
"mlHyperParameters": {
"description": "Hyper Parameters used to train the ML Model.",
"type": "array",
"items": {
"$ref": "#/definitions/mlHyperParameter"
},
"default": null
},
"target": {
"description": "For supervised ML Models, the value to estimate.",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"dashboard": {
"description": "Performance Dashboard URL to track metric evolution.",
"$ref": "../../type/entityReference.json"
},
"mlStore": {
"description": "Location containing the ML Model. It can be a storage layer and/or a container repository.",
"$ref": "#/definitions/mlStore"
},
"server": {
"description": "Endpoint that makes the ML Model available, e.g,. a REST API serving the data or computing predictions.",
"$ref": "../../type/basic.json#/definitions/href"
},
"href": {
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owners": {
"description": "Owners of this ML Model.",
"$ref": "../../type/entityReferenceList.json"
},
"followers": {
"description": "Followers of this ML Model.",
"$ref": "../../type/entityReferenceList.json"
},
"tags": {
"description": "Tags for this ML Model.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": null
},
"usageSummary": {
"description": "Latest usage information for this ML Model.",
"$ref": "../../type/usageDetails.json",
"default": null
},
"version": {
"description": "Metadata version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/entityVersion"
},
"updatedAt": {
"description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
"$ref": "../../type/basic.json#/definitions/timestamp"
},
"updatedBy": {
"description": "User who made the update.",
"type": "string"
},
"service": {
"description": "Link to service where this pipeline is hosted in.",
"$ref": "../../type/entityReference.json"
},
"serviceType": {
"description": "Service type where this pipeline is hosted in.",
"$ref": "../services/mlmodelService.json#/definitions/mlModelServiceType"
},
"changeDescription": {
"description": "Change that lead to this version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
},
"deleted": {
"description": "When `true` indicates the entity has been soft deleted.",
"type": "boolean",
"default": false
},
"extension": {
"description": "Entity extension data with custom attributes added to the entity.",
"$ref": "../../type/basic.json#/definitions/entityExtension"
},
"sourceUrl": {
"description": "Source URL of mlModel.",
"$ref": "../../type/basic.json#/definitions/sourceUrl"
},
"domain" : {
"description": "Domain the MLModel belongs to. When not set, the MLModel inherits the domain from the ML Model Service it belongs to.",
"$ref": "../../type/entityReference.json"
},
"dataProducts" : {
"description": "List of data products this entity is part of.",
"$ref" : "../../type/entityReferenceList.json"
},
"votes" : {
"description": "Votes on the entity.",
"$ref": "../../type/votes.json"
},
"lifeCycle": {
"description": "Life Cycle properties of the entity",
"$ref": "../../type/lifeCycle.json"
},
"certification": {
"$ref": "../../type/assetCertification.json"
},
"sourceHash": {
"description": "Source hash of the entity",
"type": "string",
"minLength": 1,
"maxLength": 32
}
},
"required": ["id", "name", "algorithm", "service"],
"additionalProperties": false
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy