Vertex ML Metadata verwalten

In dieser Anleitung wird beschrieben, wie Sie Ihre Vertex ML-Metadaten verwalten.

Hinweise

Wenn Sie zum Beispiel in einem Google Cloud-Projekt Vertex ML Metadata verwenden, erstellt Vertex AI den Metadatenspeicher Ihres Projekts.

Wenn Ihre Metadaten mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) verschlüsselt werden sollen, müssen Sie Ihren Metadatenspeicher mit einem CMEK erstellen, bevor Sie Metadaten mit Vertex ML Metadata verfolgen oder analysieren. Verwenden Sie die Anleitung Erstellen eines Metadatenspeichers, der ein CMEK verwendet, um den Metadatenspeicher Ihres Projekts zu konfigurieren.

Artefaktverwaltung

Artefakt erstellen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um ein Artefakt zu erstellen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird. Der Standardmetadatenspeicher heißt default.
  • ARTIFACT_ID: (Optional) Die ID des Artefakteintrags. Wenn die Artefakt-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für dieses Artefakt.
  • DISPLAY_NAME: (Optional) Der benutzerdefinierte Name des Artefakts.
  • URI: (Optional) Der Standort, an dem das Artefakt gespeichert ist.
  • ARTIFACT_STATE: (Optional) Ein Wert aus der State-Aufzählung, der den aktuellen Status des Artefakts darstellt. Dieses Feld wird von Clientanwendungen verwaltet. Vertex ML-Metadaten prüfen nicht die Gültigkeit von Statusübergängen.
  • METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "." haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein.
  • METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt. schema_version muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen.
  • METADATA: (Optional) Attribute, die das Artefakt beschreiben, z. B. den Dataset-Typ.
  • DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
  • LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Artefakte.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?artifactId=ARTIFACT_ID

JSON-Text anfordern:

{
  "displayName": "DISPLAY_NAME",
  "uri": "URI",
  "state": "ARTIFACT_STATE",
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID",
  "displayName": "Example artifact",
  "uri": "gs://your_bucket_name/artifacts/dataset.csv",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T00:29:24.344Z",
  "updateTime": "2021-05-18T00:29:24.344Z",
  "state": "LIVE",
  "schemaTitle": "system.Dataset",
  "schemaVersion": "0.0.1",
  "metadata": {
    "payload_format": "CSV"
  },
  "description": "Description of the example artifact."
}

Python

Python

def create_artifact_sample(
    project: str,
    location: str,
    uri: Optional[str] = None,
    artifact_id: Optional[str] = None,
    display_name: Optional[str] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
    metadata: Optional[Dict] = None,
):
    system_artifact_schema = artifact_schema.Artifact(
        uri=uri,
        artifact_id=artifact_id,
        display_name=display_name,
        schema_version=schema_version,
        description=description,
        metadata=metadata,
    )
    return system_artifact_schema.create(project=project, location=location,)
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • uri: (Optional) Die URI (Uniform Resource Identifier) für die Artefaktdatei, falls vorhanden. Kann leer sein, wenn keine tatsächliche Artefaktdatei vorhanden ist.
  • artifact_id: (Optional) Die ID des Artefakteintrags. Wenn die Artefakt-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für dieses Artefakt.
  • display_name: (Optional) Der benutzerdefinierte Name des Artefakts.
  • schema_version: die Version des Schemas, das das Metadatenfeld beschreibt.
  • description: (Optional) Ein menschenlesbarer String, der den Zweck des zu erstellenden Artefakts beschreibt.
  • metadata: Attribute, die das Artefakt beschreiben, z. B. die Artefaktparameter.

Vorhandenes Artefakt suchen

Artefakte stellen Daten dar, die von Ihrem ML-Workflow verwendet oder erstellt werden, z. B. Datasets und Modelle. Für die Suche nach einem vorhandenen Artefakt verwenden Sie entweder REST oder das Vertex AI SDK for Python.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird. Der Standardmetadatenspeicher heißt default.
  • PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
  • PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
  • FILTER: Gibt die Bedingungen an, die erforderlich sind, um eine Ausführung in die Ergebnismenge aufzunehmen.

HTTP-Methode und URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: ARTIFACT_ID: (Optional) Die ID des Artefakteintrags.

{
  "artifacts": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/default/artifacts/ARTIFACT_ID",
      "displayName": "Example artifact",
      "uri": "gs://your_bucket_name/artifacts/dataset.csv",
      "etag": "67891011",
      "createTime": "2021-05-18T00:33:13.833Z",
      "updateTime": "2021-05-18T00:33:13.833Z",
      "state": "LIVE",
      "schemaTitle": "system.Dataset",
      "schemaVersion": "0.0.1",
      "metadata": {
        "payload_format": "CSV"
      },
      "description": "Description of the example artifact."
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID",
      "displayName": "Another example artifact",
      "uri": "gs://your_bucket_name/artifacts/dataset-2.csv",
      "etag": "67891012",
      "createTime": "2021-05-18T00:29:24.344Z",
      "updateTime": "2021-05-18T00:29:24.344Z",
      "state": "LIVE",
      "schemaTitle": "system.Dataset",
      "schemaVersion": "0.0.1",
      "metadata": {
        "payload_format": "CSV"
      },
      "description": "Description of the other example artifact."
    }
  ]
}

Python

Python

def list_artifact_sample(
    project: str,
    location: str,
    display_name_filter: Optional[str] = "display_name=\"my_model_*\"",
    create_date_filter: Optional[str] = "create_time>\"2022-06-11\"",
    order_by: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    combined_filters = f"{display_name_filter} AND {create_date_filter}"
    return aiplatform.Artifact.list(
        filter=combined_filters,
        order_by=order_by,
    )

  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • display_name_filter: Filter, der auf den Anzeigenamen angewendet werden soll, während die Ressourcen im Format "display_name=\"my_filter\"" aufgelistet werden.
  • create_date_filter: Filter, der auf den Namen "create_date" angewendet werden soll, während die Ressourcen im Format "create_time>\"2022-06-11T12:30:00-08:00\"", aufgelistet werden.

Vorhandenes Artefakt löschen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um ein Artefakt zu löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird. Der Standardmetadatenspeicher heißt default.
  • ARTIFACT_ID: Die ID des zu löschenden Artefakteintrags.

HTTP-Methode und URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

def delete_artifact_sample(
    artifact_id: str,
    project: str,
    location: str,
):
    artifact = aiplatform.Artifact.get(
        resource_id=artifact_id, project=project, location=location
    )
    artifact.delete()

Artefakte dauerhaft löschen

Verwenden Sie die folgende Anleitung, um mehrere Artefakte basierend auf einer Filterbedingung zu löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem das Artefakt erstellt wird. Der Standardmetadatenspeicher heißt default.
  • FILTER: Gibt die Bedingungen an, die für die zu löschenden Artefakte erforderlich sind. Beispiel:
    • Filter für alle Artefakte, die example im Anzeigenamen enthalten: "display_name = \"*example*\"".
    • Filter für alle Artefakte, die vor dem 19.11.2020T11:30:00-04:00 erstellt wurden: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: Gibt an, ob der tatsächliche Löschvorgang ausgeführt werden soll oder nicht. Wenn das Flag auf „false” gesetzt ist, gibt die Methode eine Stichprobe von Artefaktnamen zurück, die gelöscht werden würden.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts:purge

JSON-Text anfordern:

{
  "filter": "FILTER",
  "force": FORCE
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeArtifactsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:33.757991Z",
      "updateTime": "2021-07-21T21:02:33.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeArtifactsResponse",
    "purgeCount": "15"
  }
}

Ausführungsverwaltung

Ausführung erstellen

Ausführungen stellen einen Schritt in Ihrem ML-Workflow dar. Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um eine Ausführung zu erstellen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • EXECUTION_ID: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung.
  • DISPLAY_NAME: Der Anzeigename der Ausführung. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
  • EXECUTION_STATE: (Optional) Ein Wert aus der State-Aufzählung der den aktuellen Status der Ausführung darstellt. Dieses Feld wird von Clientanwendungen verwaltet. Vertex ML-Metadaten prüfen nicht die Gültigkeit von Statusübergängen.
  • METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "." haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein.
  • METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt. schema_version muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen.
  • METADATA: (Optional) Attribute, die die Ausführung beschreiben, z. B. die Ausführungsparameter.
  • DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
  • LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Ausführungen.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?executionId=EXECUTION_ID

JSON-Text anfordern:

{
  "displayName": "DISPLAY_NAME",
  "state": "EXECUTION_STATE",
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"

}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
  "displayName": "Example Execution",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T00:04:49.659Z",
  "updateTime": "2021-05-18T00:04:49.659Z",
  "schemaTitle": "system.Run",
  "schemaVersion": "0.0.1",
  "metadata": {},
  "description": "Description of the example execution."
}

Python

Python

def create_execution_sample(
    display_name: str,
    input_artifacts: List[aiplatform.Artifact],
    output_artifacts: List[aiplatform.Artifact],
    project: str,
    location: str,
    execution_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    with execution_schema.ContainerExecution(
        display_name=display_name,
        execution_id=execution_id,
        metadata=metadata,
        schema_version=schema_version,
        description=description,
    ).create() as execution:
        execution.assign_input_artifacts(input_artifacts)
        execution.assign_output_artifacts(output_artifacts)
        return execution
  • display_name: Der Anzeigename der Ausführung. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
  • input_artifacts: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Eingabeartefakt darstellen.
  • output_artifacts: Eine Liste mit einer oder mehreren Instanzen von aiplatform.Artifact, die ein Ausgabeartefakt darstellen.
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • execution_id: Die ID des Ausführungsdatensatzes. Wenn die Ausführungs-ID nicht angegeben ist, erstellt Vertex ML-Metadaten eine eindeutige Kennzeichnung für diese Ausführung.
  • metadata: Attribute, die die Ausführung beschreiben, z. B. die Ausführungsparameter.
  • schema_version: Die Version des Schemas, das das Metadatenfeld beschreibt.
  • description: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.

Vorhandene Ausführung suchen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um eine vorhandene Ausführung zu suchen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
  • PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
  • FILTER: Gibt die Bedingungen an, die erforderlich sind, um eine Ausführung in die Ergebnismenge aufzunehmen.

HTTP-Methode und URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: EXECUTION_ID: Die ID des Ausführungsdatensatzes.

{
  "executions": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
      "displayName": "Example execution 1",
      "etag": "67891011",
      "createTime": "2021-05-18T00:06:56.177Z",
      "updateTime": "2021-05-18T00:06:56.177Z",
      "schemaTitle": "system.Run",
      "schemaVersion": "0.0.1",
      "metadata": {},
      "description": "Description of the example execution."
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID",
      "displayName": "Example execution 2",
      "etag": "67891011",
      "createTime": "2021-05-18T00:04:49.659Z",
      "updateTime": "2021-05-18T00:04:49.659Z",
      "schemaTitle": "system.Run",
      "schemaVersion": "0.0.1",
      "metadata": {},
      "description": "Description of the example execution."
    }
  ]
}

Python

Python

def get_execution_sample(
    execution_id: str,
    project: str,
    location: str,
):
    execution = aiplatform.Execution.get(
        resource_id=execution_id, project=project, location=location
    )

    return execution

Vorhandene Ausführung löschen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um eine Ausführung zu löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • EXECUTION_ID: Die ID des zu löschenden Ausführungseintrags.

HTTP-Methode und URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

def delete_execution_sample(
    execution_id: str,
    project: str,
    location: str,
):
    execution = aiplatform.Execution.get(
        resource_id=execution_id, project=project, location=location
    )
    execution.delete()

Löschvorgänge ausführen

Anhand der folgenden Anleitung können Sie mehrere Ausführungen basierend auf einem Filter löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • FILTER: Gibt die Bedingungen an, die von den zu löschenden Ausführungen benötigt werden. Beispiel:
    • Filter für alle Ausführungen, die example im Anzeigenamen enthalten: "display_name = \"*example*\"".
    • Filter für alle Ausführungen, die vor dem 19.11.2020T11:30:00-04:00 erstellt wurden: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: Gibt an, ob der tatsächliche Löschvorgang ausgeführt werden soll oder nicht. Wenn das Flag auf „false” gesetzt ist, gibt die Methode eine Stichprobe von Artefaktnamen zurück, die gelöscht werden würden.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions:purge

JSON-Text anfordern:

{
  "filter": "FILTER",
  "force": FORCE
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeExecutionsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:45.757991Z",
      "updateTime": "2021-07-21T21:02:45.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeExecutionsResponse",
    "purgeCount": "2"
  }
}

Kontextverwaltung

Kontext erstellen

Mit Kontexten können Sie Gruppen von Artefakten und Ausführungen gruppieren. Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um einen Kontext zu erstellen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • CONTEXT_ID: (Optional) Die ID des Kontext-Eintrags. Wenn keine Kontext-ID angegeben ist, haben Vertex ML-Metadaten für diesen Kontext eine eindeutige Kennzeichnung erstellt.
  • DISPLAY_NAME: Der Anzeigename des Kontexts. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
  • PARENT_CONTEXT: Geben Sie den Ressourcennamen für alle übergeordneten Kontexte an. Ein Kontext kann nicht mehr als 10 übergeordnete Kontexte haben.
  • METADATA_SCHEMA_TITLE: Der Titel des Schemas, das das Metadatenfeld beschreibt. Der Titel des Schemas muss das Format "." haben. Der Namespace muss mit einem Kleinbuchstaben beginnen, kann Kleinbuchstaben und Ziffern enthalten und kann zwischen 2 und 20 Zeichen lang sein. Der Schemaname muss mit einem Großbuchstaben beginnen, kann Buchstaben und Ziffern enthalten und zwischen 2 und 49 Zeichen lang sein.
  • METADATA_SCHEMA_VERSION: Die Version des Schemas, das das Metadatenfeld beschreibt. schema_version muss ein String mit drei Zahlen sein, die durch Punkte getrennt sind, z. B. 1.0.0, 1.0.1. Dieses Format erleichtert das Sortieren und Vergleichen von Versionen.
  • METADATA: Attribute, die den Kontext beschreiben, z. B. Kontextkontextparameter.
  • DESCRIPTION: (Optional) Ein menschenlesbarer String, der den Zweck der zu erstellenden Ausführung beschreibt.
  • LABELS: Optional. Benutzerdefinierte Metadaten zum Organisieren Ihrer Kontexte.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?contextId=CONTEXT_ID

JSON-Text anfordern:

{
  "displayName": "DISPLAY_NAME:",
  "parentContexts": [
    "PARENT_CONTEXT_1",
    "PARENT_CONTEXT_2"
  ],
  "schemaTitle": "METADATA_SCHEMA_TITLE",
  "schemaVersion": "METADATA_SCHEMA_VERSION",
  "metadata": {
    METADATA
  },
  "labels": {"LABEL_1":"LABEL_2"},
  "description": "DESCRIPTION"

}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: CONTEXT_ID: Die ID des Kontext-Eintrags.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
  "displayName": "Example context:",
  "etag": "67891011",
  "labels": {
    "test_label": "test_label_value"
  },
  "createTime": "2021-05-18T01:52:51.642Z",
  "updateTime": "2021-05-18T01:52:51.642Z",
  "schemaTitle": "system.Experiment",
  "schemaVersion": "0.0.1",
  "metadata": {},
  "description": "Description of the example context."
}

Python

Python

def create_context_sample(
    display_name: str,
    project: str,
    location: str,
    context_id: Optional[str] = None,
    metadata: Optional[Dict[str, Any]] = None,
    schema_version: Optional[str] = None,
    description: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    return context_schema.Experiment(
        display_name=display_name,
        context_id=context_id,
        metadata=metadata,
        schema_version=schema_version,
        description=description,
    ).create()
  • display_name: Der Anzeigename des Kontexts. Dieses Feld kann bis zu 128 Unicode-Zeichen enthalten.
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • context_id: (Optional) Die ID des Kontext-Eintrags.
  • metadata: Attribute, die den Kontext beschreiben, z. B. Kontextkontextparameter.
  • schema_version: die Version des Schemas, das das Metadatenfeld beschreibt.
  • description: (Optional) Ein menschenlesbarer String, der den Zweck des zu erstellenden Kontexts beschreibt.

Vorhandenen Kontext suchen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um einen vorhandenen Kontext zu suchen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • PAGE_SIZE: (Optional) Die maximale Anzahl der zurückzugebenden Artefakte. Wenn dieser Wert nicht angegeben ist, gibt der Dienst maximal 100 Einträge zurück.
  • PAGE_TOKEN: (Optional) Ein Seitentoken aus einem vorherigen Aufruf von MetadataService.ListArtifacts. Geben Sie dieses Token an, um die nächste Ergebnisseite abzurufen.
  • FILTER: Gibt die Bedingungen an, die erforderlich sind, um einen Kontext in die Ergebnismenge aufzunehmen.

HTTP-Methode und URL:

GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN&filter=FILTER

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: CONTEXT_ID: Die ID des Kontext-Eintrags.

{
  "contexts": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
      "displayName": "Experiment 1",
      "etag": "67891011",
      "createTime": "2021-05-18T22:36:02.153Z",
      "updateTime": "2021-05-18T22:36:02.153Z",
      "parentContexts": [],
      "schemaTitle": "system.Experiment",
      "schemaVersion": "0.0.1",
      "metadata": {}
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID",
      "displayName": "Pipeline run 1",
      "etag": "67891011",
      "createTime": "2021-05-18T22:35:02.600Z",
      "updateTime": "2021-05-18T22:35:02.600Z",
      "parentContexts": [],
      "schemaTitle": "system.PipelineRun",
      "schemaVersion": "0.0.1",
      "metadata": {}
    }
  ]
}

Python

Python

def get_context_sample(
    context_id: str,
    project: str,
    location: str,
):
    context = aiplatform.Context.get(
        resource_id=context_id, project=project, location=location)
    return context

Vorhandenen Kontext löschen

Verwenden Sie entweder REST oder das Vertex AI SDK for Python, um einen Kontext zu löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • CONTEXT_ID: (Optional) Die ID des Kontext-Eintrags.

HTTP-Methode und URL:

DELETE https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeleteOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T20:05:30.179713Z",
      "updateTime": "2021-07-21T20:05:30.179713Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.protobuf.Empty"
  }
}

Python

Python

def delete_context_sample(
    context_id: str,
    project: str,
    location: str,
):
    context = aiplatform.Context.get(
        resource_id=context_id, project=project, location=location
    )
    context.delete()

Kontexte dauerhaft löschen

Verwenden Sie die folgende Anleitung, um mehrere Kontexte basierend auf einer Filterbedingung zu löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: Ihre Region.
  • PROJECT_ID: Ihre Projekt-ID.
  • METADATA_STORE: Die ID des Metadatenspeichers, in dem die Ausführung erstellt wird. Der Standardmetadatenspeicher heißt default.
  • FILTER: Gibt die Bedingungen an, die für die zu löschenden Kontexte erforderlich sind. Beispiel:
    • Filter für alle Kontexte, die example im Anzeigenamen enthalten: "display_name = \"*example*\"".
    • Filter für alle Kontexte, die vor 2020-11-19T11:30:00-04:00 erstellt wurden: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: Gibt an, ob der tatsächliche Löschvorgang ausgeführt werden soll oder nicht. Wenn das Flag auf "false" gesetzt ist, gibt die Methode eine Stichprobe von Kontextnamen zurück, die gelöscht werden würden.

HTTP-Methode und URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts:purge

JSON-Text anfordern:

{
  "filter": "FILTER",
  "force": FORCE
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Ausgabe sieht in etwa so aus: Sie können OPERATION_ID in der Antwort verwenden, um den Status des Vorgangs abzurufen.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeContextsMetadata",
    "genericMetadata": {
      "createTime": "2021-07-21T21:02:40.757991Z",
      "updateTime": "2021-07-21T21:02:40.757991Z"
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.PurgeContextsResponse",
    "purgeCount": "5"
  }
}

Nächste Schritte