ניהול Vertex ML Metadata

במדריך הזה מוסבר איך לנהל את Vertex ML Metadata.

לפני שמתחילים

בפעם הראשונה שמשתמשים ב-Vertex ML Metadata בGoogle Cloud פרויקט, מערכת Vertex AI יוצרת את מאגר המטא-נתונים של הפרויקט.

אם רוצים להצפין את המטא-נתונים באמצעות מפתח הצפנה בניהול הלקוח (CMEK), צריך ליצור את מאגר המטא-נתונים באמצעות CMEK לפני שמשתמשים ב-Vertex ML Metadata כדי לעקוב אחרי מטא-נתונים או לנתח אותם. פועלים לפי ההוראות שבקטע יצירת מאגר מטא-נתונים שמשתמש במפתח CMEK כדי להגדיר את מאגר המטא-נתונים של הפרויקט.

ניהול פריטי מידע שנוצרו בתהליך פיתוח (Artifacts

יצירה של פריט מידע שנוצר בתהליך פיתוח (Artifact)

כדי ליצור ארטיפקט, אפשר להשתמש ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: מזהה הפרויקט.
  • METADATA_STORE: מזהה מאגר המטא-נתונים שבו נוצר הארטיפקט. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • ARTIFACT_ID: (אופציונלי) המזהה של רשומת הארטיפקט. אם לא מציינים מזהה ארטיפקט, Vertex ML Metadata יוצר מזהה ייחודי לארטיפקט הזה.
  • DISPLAY_NAME: (אופציונלי) השם שהמשתמש נתן לארטיפקט.
  • URI: (אופציונלי) המיקום שבו מאוחסן הארטיפקט
  • ARTIFACT_STATE: (אופציונלי) ערך מתוך ספירת המצבים שמייצג את המצב הנוכחי של הארטיפקט. השדה הזה מנוהל על ידי אפליקציות לקוח. ‫Vertex ML Metadata לא בודק את התוקף של מעברי מצב.
  • METADATA_SCHEMA_TITLE: השם של הסכימה שמתארת את שדה המטא-נתונים. השם של הסכימה צריך להיות בפורמט .. מרחב השמות צריך להתחיל באות קטנה באנגלית, יכול להכיל אותיות קטנות ומספרים, ויכול להיות באורך של שניים עד עשרים תווים. שם הסכימה חייב להתחיל באות גדולה, יכול לכלול אותיות ומספרים, ויכול להיות באורך של שניים עד ארבעים ותשעה תווים.
  • METADATA_SCHEMA_VERSION: (אופציונלי) הגרסה של הסכימה שמתארת את שדה המטא-נתונים. ‫schema_version חייב להיות מחרוזת של שלושה מספרים שמופרדים בנקודות, לדוגמה, 1.0.0, ‏ 1.0.1. הפורמט הזה עוזר לסדר ולהשוות בין גרסאות.
  • METADATA: (אופציונלי). מאפיינים שמתארים את הארטיפקט, כמו סוג מערך הנתונים.
  • DESCRIPTION: (אופציונלי) מחרוזת קריאה שמתארת את מטרת ההפעלה שתיצור.
  • LABELS:אופציונלי. מטא-נתונים שהוגדרו על ידי המשתמש לארגון הארטיפקטים.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

{
  "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"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "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

from typing import Dict, Optional

from google.cloud.aiplatform.metadata.schema.system import artifact_schema


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: . אפשר למצוא את המזהים האלה בדף welcome במסוף Google Cloud .
  • location: ראו רשימה של מיקומים זמינים.
  • uri: (אופציונלי) מזהה משאב אחיד (URI) של קובץ הארטיפקט, אם קיים. יכול להיות שיהיה ריק אם אין קובץ ארטיפקט בפועל.
  • artifact_id: (אופציונלי) המזהה של רשומת הארטיפקט. אם לא מציינים מזהה ארטיפקט, Vertex ML Metadata יוצר מזהה ייחודי לארטיפקט הזה.
  • display_name: (אופציונלי) השם שהמשתמש נתן לארטיפקט.
  • schema_version: הגרסה של הסכימה שמתארת את שדה המטא-נתונים.
  • description: (אופציונלי) מחרוזת שמתארת את מטרת הארטיפקט שייווצר, שבודק אנושי יכול לקרוא.
  • metadata: מאפיינים שמתארים את הארטיפקט, כמו פרמטרים של הארטיפקט.

חיפוש של ארטיפקט קיים

ארטיפקטים מייצגים נתונים שמשמשים בתהליך העבודה של ה-ML או נוצרים ממנו, כמו מערכי נתונים ומודלים. כדי לחפש ארטיפקט קיים, אפשר להשתמש ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: מזהה מאגר המטא-נתונים שבו נוצר הארטיפקט. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • PAGE_SIZE: (אופציונלי) המספר המקסימלי של ארטיפקטים שיוחזרו. אם לא מציינים ערך, השירות מחזיר עד 100 רשומות.
  • PAGE_TOKEN: (אופציונלי) אסימון דף מקריאה קודמת של MetadataService.ListArtifacts. מציינים את האסימון הזה כדי לקבל את דף התוצאות הבא.
  • FILTER: מציין את התנאים שנדרשים כדי לכלול ארטיפקט במערכת התוצאות.

ה-method של ה-HTTP וכתובת ה-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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. ‫ARTIFACT_ID הוא המזהה של רשומת הארטיפקט.

{
  "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

from typing import Optional

from google.cloud import aiplatform


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: . אפשר למצוא את המזהים האלה בדף welcome במסוף Google Cloud .
  • location: ראו רשימה של מיקומים זמינים.
  • display_name_filter: מסנן להחלה על השם לתצוגה בזמן רישום המשאבים בפורמט 'display_name=\"my_filter\"' .
  • create_date_filter: מסנן שיוחל על השם create_date בזמן הצגת רשימת המשאבים בפורמט create_time>\"2022-06-11T12:30:00-08:00\"",.

מחיקה של פריט מידע שנוצר בתהליך פיתוח (Artifact) קיים

כדי למחוק ארטיפקט, משתמשים ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: מזהה מאגר המטא-נתונים שבו נוצר הארטיפקט. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • ARTIFACT_ID: המזהה של רשומת הארטיפקט שרוצים למחוק.

ה-method של ה-HTTP וכתובת ה-URL:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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

from google.cloud import aiplatform


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()

מחיקה לצמיתות של פריטים שנוצרו מפגישות

כדי למחוק כמה ארטיפקטים על סמך תנאי סינון, פועלים לפי ההוראות הבאות.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: מזהה מאגר המטא-נתונים שבו נוצר הארטיפקט. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • FILTER: מציין את התנאים שנדרשים כדי למחוק את פריטי ה-Artifact. לדוגמה:
    • מסננים את כל הארטיפקטים שהשם המוצג שלהם מכיל את example: "display_name = \"*example*\"".
    • מסננים לכל הארטיפקטים שנוצרו לפני 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: מציין אם לבצע את המחיקה הסופית בפועל או לא. אם הדגל מוגדר כ-False, השיטה תחזיר דוגמה של שמות ארטיפקטים שיימחקו.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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"
  }
}

ניהול הביצוע

יצירת הפעלה

ההרצות מייצגות שלב בתהליך העבודה של למידת מכונה. כדי ליצור הפעלה, אפשר להשתמש ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצרת ההרצה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • EXECUTION_ID: המזהה של רשומת הביצוע. אם לא מציינים מזהה ביצוע, Vertex ML Metadata יוצר מזהה ייחודי לביצוע הזה.
  • DISPLAY_NAME: השם המוצג של ההרצה. השדה הזה יכול להכיל עד 128 תווים ב-Unicode.
  • EXECUTION_STATE: (אופציונלי) ערך מתוך ספירת המצבים שמייצג את המצב הנוכחי של ההפעלה. השדה הזה מנוהל על ידי אפליקציות לקוח. ‫Vertex ML Metadata לא בודק את התוקף של מעברי מצב.
  • METADATA_SCHEMA_TITLE: השם של הסכימה שמתארת את שדה המטא-נתונים. השם של הסכימה צריך להיות בפורמט .. מרחב השמות צריך להתחיל באות קטנה באנגלית, יכול להכיל אותיות קטנות ומספרים, ויכול להיות באורך של שניים עד עשרים תווים. שם הסכימה חייב להתחיל באות גדולה, יכול לכלול אותיות ומספרים, ויכול להיות באורך של שניים עד ארבעים ותשעה תווים.
  • METADATA_SCHEMA_VERSION: (אופציונלי) הגרסה של הסכימה שמתארת את שדה המטא-נתונים. ‫schema_version חייב להיות מחרוזת של שלושה מספרים שמופרדים בנקודות, לדוגמה, 1.0.0, ‏ 1.0.1. הפורמט הזה עוזר לסדר ולהשוות בין גרסאות.
  • METADATA: (אופציונלי) מאפיינים שמתארים את ההרצה, כמו פרמטרים של ההרצה.
  • DESCRIPTION: (אופציונלי) מחרוזת שמתארת את מטרת ההפעלה שתיצור.
  • LABELS: אופציונלי. מטא-נתונים שהוגדרו על ידי המשתמש לארגון ההרצות.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

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

}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "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

from typing import Any, Dict, List, Optional

from google.cloud import aiplatform
from google.cloud.aiplatform.metadata.schema.system import execution_schema


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: השם המוצג של ההרצה. השדה הזה יכול להכיל עד 128 תווים ב-Unicode.
  • input_artifacts: רשימה של מופע אחד או יותר של aiplatform.Artifact שמייצג פריט קלט.
  • output_artifacts: רשימה של מופע אחד או יותר של aiplatform.Artifact שמייצג פלט Artifact.
  • project: . אפשר למצוא את המזהים האלה בדף welcome במסוף Google Cloud .
  • location: ראו רשימה של מיקומים זמינים.
  • execution_id: המזהה של רשומת הביצוע. אם לא מציינים מזהה ביצוע, Vertex ML Metadata יוצר מזהה ייחודי לביצוע הזה.
  • metadata: מאפיינים שמתארים את ההפעלה, כמו פרמטרים של ההפעלה.
  • schema_version:הגרסה של הסכימה שמתארת את שדה המטא-נתונים.
  • description: (אופציונלי) מחרוזת קריאה שמתארת את מטרת ההפעלה שתיצור.

חיפוש של הרצה קיימת

אפשר להשתמש ב-REST או ב-Vertex AI SDK ל-Python כדי לחפש הרצה קיימת.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצרת ההרצה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • PAGE_SIZE: (אופציונלי) המספר המקסימלי של ארטיפקטים שיוחזרו. אם לא מציינים ערך, השירות מחזיר עד 100 רשומות.
  • PAGE_TOKEN: (אופציונלי) אסימון דף מקריאה קודמת של MetadataService.ListArtifacts. מציינים את האסימון הזה כדי לקבל את דף התוצאות הבא.
  • FILTER: מציין את התנאים שנדרשים כדי לכלול ביצוע במערך התוצאות.

ה-method של ה-HTTP וכתובת ה-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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. ‫EXECUTION_ID הוא המזהה של רשומת ההרצה.

{
  "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

from google.cloud import aiplatform


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

מחיקה של הרצה קיימת

כדי למחוק הפעלה, משתמשים ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצרת ההרצה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • EXECUTION_ID: המזהה של רשומת הביצוע שרוצים למחוק.

ה-method של ה-HTTP וכתובת ה-URL:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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

from google.cloud import aiplatform


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()

מחיקה סופית של הרצות

כדי למחוק כמה הרצות על סמך מסנן, פועלים לפי ההוראות הבאות.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצרת ההרצה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • FILTER: מציין את התנאים שנדרשים כדי למחוק את ההרשאות. לדוגמה:
    • מסנן את כל ההפעלות שמכילות את example בשם המוצג: "display_name = \"*example*\"".
    • מסננים לכל ההרצות שנוצרו לפני 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: מציין אם לבצע את המחיקה הסופית בפועל או לא. אם הדגל מוגדר כ-False, השיטה תחזיר דוגמה של שמות ארטיפקטים שיימחקו.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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"
  }
}

ניהול ההקשרים

יצירת הקשר

הקשרים מאפשרים לקבץ יחד קבוצות של ארטיפקטים וביצועים. משתמשים ב-REST או ב-Vertex AI SDK ל-Python כדי ליצור הקשר.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE:המזהה של מאגר המטא-נתונים שבו נוצרת ההרצה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • CONTEXT_ID: (אופציונלי) המזהה של רשומת ההקשר. אם לא מציינים מזהה הקשר, Vertex ML Metadata יוצר מזהה ייחודי להקשר הזה
  • DISPLAY_NAME: השם המוצג של ההקשר. השדה הזה יכול להכיל עד 128 תווים ב-Unicode.
  • PARENT_CONTEXT: מציינים את שם המשאב של כל ההקשרים ברמת ההורה. הקשר לא יכול לכלול יותר מ-10 הקשרים ברמת ההורה.
  • METADATA_SCHEMA_TITLE: השם של הסכימה שמתארת את שדה המטא-נתונים. השם של הסכימה צריך להיות בפורמט .. מרחב השמות צריך להתחיל באות קטנה באנגלית, יכול להכיל אותיות קטנות ומספרים, ויכול להיות באורך של שניים עד עשרים תווים. שם הסכימה חייב להתחיל באות גדולה, יכול לכלול אותיות ומספרים, ויכול להיות באורך של שניים עד ארבעים ותשעה תווים.
  • METADATA_SCHEMA_VERSION: (אופציונלי) הגרסה של הסכימה שמתארת את שדה המטא-נתונים. ‫schema_version חייב להיות מחרוזת של שלושה מספרים שמופרדים בנקודות, לדוגמה, 1.0.0, ‏ 1.0.1. הפורמט הזה עוזר לסדר ולהשוות בין גרסאות.
  • METADATA: מאפיינים שמתארים את ההקשר, כמו פרמטרים של ההקשר.
  • DESCRIPTION:(אופציונלי) מחרוזת קריאה שמתארת את מטרת ההפעלה שתיצור.
  • LABELS: אופציונלי. מטא-נתונים שהוגדרו על ידי המשתמש לארגון ההקשרים.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

{
  "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"

}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. ‫CONTEXT_ID הוא המזהה של רשומת ההקשר.

{
  "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

from typing import Any, Dict, Optional

from google.cloud import aiplatform
from google.cloud.aiplatform.metadata.schema.system import context_schema


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: השם המוצג של ההקשר. השדה הזה יכול להכיל עד 128 תווים ב-Unicode.
  • project: . אפשר למצוא את המזהים האלה בדף welcome במסוף Google Cloud .
  • location: ראו רשימה של מיקומים זמינים.
  • context_id: (אופציונלי) המזהה של רשומת ההקשר.
  • metadata: מאפיינים שמתארים את ההקשר, כמו פרמטרים של הקשר.
  • schema_version: הגרסה של הסכימה שמתארת את שדה המטא-נתונים.
  • description: (אופציונלי) מחרוזת קריאה שמתארת את מטרת יצירת ההקשר.

חיפוש הקשר קיים

כדי לחפש הקשר קיים, אפשר להשתמש ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצר ההקשר. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • PAGE_SIZE: (אופציונלי) המספר המקסימלי של ארטיפקטים שיוחזרו. אם לא מציינים ערך, השירות מחזיר עד 100 רשומות.
  • PAGE_TOKEN: (אופציונלי) אסימון דף מקריאה קודמת של MetadataService.ListArtifacts. מציינים את האסימון הזה כדי לקבל את דף התוצאות הבא.
  • FILTER: מציין את התנאים שנדרשים כדי לכלול הקשר במערך התוצאות.

ה-method של ה-HTTP וכתובת ה-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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. ‫CONTEXT_ID הוא המזהה של רשומת ההקשר.

{
  "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

from google.cloud import aiplatform


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

מחיקה של הקשר קיים

כדי למחוק הקשר, משתמשים ב-REST או ב-Vertex AI SDK ל-Python.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצר ההקשר. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • CONTEXT_ID: (אופציונלי) המזהה של רשומת ההקשר.

ה-method של ה-HTTP וכתובת ה-URL:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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

from google.cloud import aiplatform


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()

מחיקת הקשרים

כדי למחוק כמה הקשרים על סמך תנאי מסנן, פועלים לפי ההוראות הבאות.

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • METADATA_STORE:המזהה של מאגר המטא-נתונים שבו נוצר ההקשר. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • FILTER: מציין את התנאים שנדרשים כדי למחוק את ההקשרים. לדוגמה:
    • מסנן את כל ההקשרים שמכילים את example בשם המוצג: "display_name = \"*example*\"".
    • מסננים לכל ההקשרים שנוצרו לפני 2020-11-19T11:30:00-04:00: "create_time < \"2020-11-19T11:30:00-04:00\"".
  • FORCE: מציין אם לבצע את המחיקה הסופית בפועל או לא. אם הדגל מוגדר לערך false, השיטה תחזיר דוגמה של שמות הקשר שיימחקו.

ה-method של ה-HTTP וכתובת ה-URL:

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

תוכן בקשת JSON:

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

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. אפשר להשתמש ב-OPERATION_ID בתגובה כדי לקבל את הסטטוס של הפעולה.

{
  "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"
  }
}

המאמרים הבאים