ניהול Vertex ML Metadata

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

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

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

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

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

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

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

REST

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

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

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

חיפוש פריט מידע קיים

פריטי מידע מייצגים נתונים שמשמשים את תהליך העבודה של למידת המכונה או נוצרים על ידו, כמו מערכי נתונים ומודלים. כדי לחפש פריט מידע קיים, אפשר להשתמש ב-REST או ב-Agent Platform 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: . אפשר למצוא את המזהים האלה בדף הכניסה למסוף 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: מציין את התנאים שנדרשים כדי למחוק את פריטי המידע שנוצר. לדוגמה:
    • מסנן את כל פריטי המידע שכוללים את המילה 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"
  }
}

ניהול הביצוע

יצירת הפעלה

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

REST

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

  • ‫LOCATION_ID: האזור שלכם.
  • PROJECT_ID: .
  • ‫METADATA_STORE: המזהה של מאגר המטא-נתונים שבו נוצרת ההפעלה. מאגר המטא-נתונים שמוגדר כברירת מחדל נקרא default.
  • ‫EXECUTION_ID: המזהה של רשומת ההפעלה. אם לא מציינים את מזהה ההפעלה, המערכת של Vertex ML Metadata יוצרת מזהה ייחודי להפעלה הזו.
  • ‫DISPLAY_NAME: השם המוצג של ההפעלה. השדה הזה יכול להכיל עד 128 תווים בפורמט Unicode.
  • ‫EXECUTION_STATE: (אופציונלי) ערך מתוך State enumeration שמייצג את המצב הנוכחי של ההפעלה. השדה הזה מנוהל על ידי אפליקציות לקוח. ‫Vertex ML Metadata לא בודק את התקינות של מעברי המצבים.
  • ‫METADATA_SCHEMA_TITLE: שם הסכימה שמתארת את שדה המטא-נתונים. הכותרת של הסכימה צריכה להיות בפורמט `.`. מרחב השמות צריך להתחיל באות קטנה, יכול להכיל אותיות קטנות ומספרים, ויכול להיות באורך של שניים עד עשרים תווים. שם הסכימה חייב להתחיל באות רישית, יכול לכלול אותיות ומספרים, ויכול להיות באורך של שניים עד 49 תווים.
  • ‫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 שמייצג פריט מידע שנוצר בתהליך העבודה (artifact) של קלט.
  • output_artifacts: רשימה של מופע אחד או יותר של aiplatform.Artifact שמייצג פלט של פריט מידע שנוצר בתהליך העבודה.
  • project: . אפשר למצוא את המזהים האלה בדף הכניסה למסוף 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: שם הסכימה שמתארת את שדה המטא-נתונים. הכותרת של הסכימה צריכה להיות בפורמט `.`. מרחב השמות צריך להתחיל באות קטנה, יכול להכיל אותיות קטנות ומספרים, ויכול להיות באורך של שניים עד עשרים תווים. שם הסכימה חייב להתחיל באות רישית, יכול לכלול אותיות ומספרים, ויכול להיות באורך של שניים עד 49 תווים.
  • ‫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: . אפשר למצוא את המזהים האלה בדף הכניסה למסוף 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"
  }
}

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