All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.entity.data.mlmodel.json Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$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": null
        }
      }
    },
    "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"
    },
    "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