Ogni risorsa di metadati è associata a un MetadataSchema specifico.
Per semplificare il processo di creazione delle risorse di metadati, Vertex ML Metadata pubblica tipi predefiniti chiamati schemi di sistema per i concetti ML comuni. Gli schemi di sistema si trovano nello spazio dei nomi system. Puoi accedere agli schemi di sistema come risorse MetadataSchema nell'API Vertex ML Metadata. Gli schemi sono sempre versionati. Il formato degli schemi di sistema
è un sottoinsieme della specifica OpenAPI 3.0.
Come utilizzare gli schemi di sistema
Gemini Enterprise Agent Platform utilizza gli schemi di sistema per creare risorse di metadati per il monitoraggio dei flussi di lavoro ML. Puoi quindi filtrare e raggruppare le risorse nelle query sui metadati utilizzando il campo schema_title. Per ulteriori informazioni su come utilizzare le funzioni di filtro, consulta
Analizzare Vertex ML Metadata.
Puoi anche utilizzare gli schemi di sistema tramite l'API Vertex ML Metadata per creare direttamente risorse di metadati. Puoi identificare uno schema di sistema in base al titolo e alla versione dello schema. I campi negli schemi di sistema sono sempre considerati facoltativi. Non sei limitato ai campi predefiniti degli schemi di sistema e puoi anche registrare metadati arbitrari aggiuntivi in qualsiasi risorsa di metadati. Per ulteriori informazioni sull'utilizzo degli schemi di sistema per creare risorse di metadati, consulta Monitorare Vertex ML Metadata.
Elencare gli schemi
Per visualizzare un elenco di tutti gli schemi registrati esistenti, utilizza il seguente comando.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la tua regione.
- PROJECT_ID: il tuo [ID progetto](/resource-manager/docs/creating-managing-projects#identifiers). .
Metodo HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas?pageSize=100&filter=schema_title=%22system*%22+OR+schema_title=%22google*%22
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"metadataSchemas": [
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/metadataSchemas/system-resolver-execution-v0-0-1",
"schemaVersion": "0.0.1",
"schema": "title: system.ResolverExecution\ntype: object\n",
"schemaType": "EXECUTION_TYPE",
"createTime": "2022-07-27T17:41:35.634Z"
},
{
"name": "projects/PROJECT_ID/locations/LOCATION_ID//metadataStores/default/metadataSchemas/system-html-v0-0-1",
"schemaVersion": "0.0.1",
"schema": "title: system.HTML\ntype: object\n",
"schemaType": "ARTIFACT_TYPE",
"createTime": "2022-07-27T17:41:35.602Z"
}
}
Corrispondenza rigorosa dello schema
Vertex ML Metadata supporta due flag che consentono agli autori dello schema di applicare una corrispondenza rigorosa dello schema.
additionalProperties
Il valore di additionalProperties può essere true o false. In coerenza con JSON Schema, il valore predefinito di additionalProperties è true. Questo flag è impostato a livello superiore dello schema. Se è impostato su false, non sono consentite proprietà facoltative. Ad esempio, nello schema riportato di seguito, nei metadati basati su questo schema vengono accettati solo i campi payload_format e container_format.
title: system.Dataset
version: 0.0.1
type: object
additionalProperties: false
properties:
container_format:
type: string
payload_format:
type: string
Lo schema precedente accetta i seguenti metadati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
fields {
key: 'optional_field'
value: { string_value: 'optional_value' }
}
required
La parola chiave required accetta un array di zero o più stringhe. In coerenza con JSON Schema, le proprietà definite dalla parola chiave properties non sono obbligatorie. Puoi fornire un elenco di proprietà obbligatorie utilizzando la parola chiave required. Ad esempio, lo schema seguente richiede sempre container_format.
Funziona anche sulle proprietà nidificate. Ad esempio, la seguente operazione rende obbligatorio container_format.
title: system.Dataset
version: 0.0.1
type: object
required: ['container_format']
properties:
container_format:
type: string
payload_format:
type: string
Lo schema precedente accetta i seguenti metadati:
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'payload_format'
value: { string_value: 'CSV' }
}
Lo schema supporta le proprietà nidificate in cui le proprietà hanno un campo di tipo oggetto. In uno schema nidificato, il nodo delle proprietà nidificate può avere una parola chiave required. Ad esempio:
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
payload:
type: string
nested_property:
type: object
required: ['property_1']
properties:
property_1:
type: integer
property_2:
type: integer
Lo schema precedente accetta i seguenti metadati, poiché il campo nested_property non è obbligatorio.
fields {
key: 'container_format'
value: { string_value: 'Text' }
}
Anche i seguenti metadati sono validi.
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_1'
value: { number_value: 1 }
}
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Tuttavia, i seguenti metadati verranno rifiutati:
fields {
key: 'nested_property'
value: {
struct_value {
fields {
key: 'property_2'
value: { number_value: 1 }
}
}
}
}
Esempi di schemi di sistema
I seguenti esempi sono schemi di sistema comuni che sono disponibili per l'uso immediato.
Artifact
system.Artifact è uno schema generico che può contenere metadati su qualsiasi artefatto.
In questo schema non sono definiti campi specifici.
title: system.Artifact
version: 0.0.1
type: object
Dataset
system.Dataset rappresenta un container di dati che è stato utilizzato o prodotto da un passaggio del flusso di lavoro ML. Un set di dati può puntare a una posizione di file o a una query, ad esempio un URI BigQuery.
title: system.Dataset
version: 0.0.1
type: object
properties:
container_format:
type: string
description: "Format of the container. Examples include 'TFRecord', 'Text', or 'Parquet'."
payload_format:
type: string
description: "Format of the payload. For example, 'proto:TFExample', 'CSV', or 'JSON'."
Model
system.Model rappresenta un modello addestrato. L'URI del modello può puntare a una posizione di file (PPP, bucket Cloud Storage, unità locale) o a una risorsa API, ad esempio la risorsa Model nell'API Agent Platform.
title: system.Model
version: 0.0.1
type: object
properties:
framework:
type: string
description: "The framework type. For example: 'TensorFlow' or 'Scikit-Learn'."
framework_version:
type: string
description: "The framework version. For example: '1.15' or '2.1'."
payload_format:
type: string
description: "The format of the Model payload, for example: 'SavedModel' or 'TFLite'."
Metrics
system.Metrics rappresenta le metriche di valutazione prodotte durante un flusso di lavoro ML.
Le metriche dipendono dall'applicazione e dal caso d'uso e possono essere costituite da metriche scalari semplici come l'accuratezza o metriche complesse archiviate altrove nel sistema.
title: system.Metrics
version: 0.0.1
type: object
properties:
type:
accuracy:
type: number
description: "Optional summary metric describing accuracy of a model."
precision:
type: number
description: "Optional summary metric describing precision of a model."
recall:
type: number
description: "Optional summary metric describing the recall of a model."
f1score:
type: number
description: "Optional summary metric describing the f1-score of a model."
mean_absolute_error:
type: number
description: "Optional summary metric describing the mean absolute error of a model."
mean_squared_error:
type: number
description: "Optional summary metric describing the mean-squared error of a model."
Passaggi successivi
- Inizia a monitorare i metadati con Vertex ML Metadata.
- Esamina i concetti e il modello di dati di Vertex ML Metadata.