Vertex ML Metadata๋ฅผ ์ฌ์ฉํ๋ฉด ๋จธ์ ๋ฌ๋(ML) ์ํฌํ๋ก์์ ์์ฑํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ณ ๋ถ์ํ ์ ์์ต๋๋ค. Vertex ML Metadata๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Vertex ML Metadata ์๊ฐ๋ฅผ ์ฐธ์กฐํ์ฌ ML ์ํฌํ๋ก ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ณ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์์๋ณด์ธ์.
์ด ๊ฐ์ด๋์์๋ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ก๊น ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
- ML ์ํฌํ๋ก์ ๋จ๊ณ๋ฅผ ๋ํ๋ด๋ ์คํ์ ๋ง๋ญ๋๋ค.
- ๊ธฐ์กด ์ํฐํฉํธ๋ฅผ ์กฐํํ์ฌ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์์ ์ด๋ฏธ ์์ฑ๋ ์ ๋ ฅ ์ํฐํฉํธ๋ฅผ ์ฐพ์ต๋๋ค.
- ์์ง ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์์ ๊ธฐ๋ก๋์ง ์์ ์คํ ์ ๋ ฅ์ ์ํฐํฉํธ๋ฅผ ๋ง๋ค๊ณ ์ด ์คํ์ผ๋ก ์์ฑ๋ ์ถ๋ ฅ์ ์์ฑํฉ๋๋ค.
- ์คํ๊ณผ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํฐํฉํธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ด๋ฒคํธ๋ฅผ ๋ง๋ญ๋๋ค.
์ํ๋ ๊ฒฝ์ฐ ์ปจํ ์คํธ์ ์คํ ๋ฐ ์ํฐํฉํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ปจํ ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ๊ณผ ์ํฐํฉํธ์ ์งํฉ์ ๊ทธ๋ฃนํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ชจ๋ธ ํ์ต์ ๊ฐ์ฅ ์ ํฉํ ์ด๋งค๊ฐ๋ณ์ ์งํฉ์ ์ฐพ๊ธฐ ์ํด ์คํํ๋ ๊ฒฝ์ฐ ๊ฐ ์คํ์ ์์ฒด ๋งค๊ฐ๋ณ์ ๋ฐ ์ธก์ ํญ๋ชฉ ์งํฉ์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์คํ์ผ ์ ์์ต๋๋ค. ์ปจํ ์คํธ ๋ด์์ ์คํ์ ๋น๊ตํ์ฌ ๊ฐ์ฅ ์ฐ์ํ ๋ชจ๋ธ์ ๋ง๋ ์คํ์ ์ฐพ์ ์ ์์ต๋๋ค.
์คํ๊ณผ ์ํฐํฉํธ๋ฅผ ์ปจํ ์คํธ์ ์ถ๊ฐํ๋ ค๋ฉด ๋จผ์ ์ปจํ ์คํธ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
Vertex ML Metadata ์ ์ ์ ๋ง๋๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. REST ๋ช ๋ น์ด ๋๋Vertex AI SDK for Python๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Python SDK๋ ๋ค์ํ ์ ์ ์ ํ์ ์์ฑ ๋ฐ ๊ฒ์์ ๊ฐ์ํํฉ๋๋ค. Python์ ์ฌ์ฉํ์ฌ ์คํ์ ๋ง๋ค ๋๋ ํ์ด๋ก๋๋ฅผ ์๋์ผ๋ก ์์ฑํ ํ์๊ฐ ์์ต๋๋ค.
์์ํ๊ธฐ ์ ์
Google Cloud ํ๋ก์ ํธ์์ Vertex ML Metadata๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฉด Vertex AI๊ฐ ํ๋ก์ ํธ์ Vertex ML Metadata ์ ์ฅ์๋ฅผ ๋ง๋ญ๋๋ค.
๊ณ ๊ฐ ๊ด๋ฆฌ ์ํธํ ํค(CMEK)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ ค๋ฉด Vertex ML Metadata๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ฑฐ๋ ๋ถ์ํ๊ธฐ ์ ์ CMEK๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. CMEK๋ฅผ ์ฌ์ฉํ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ๋ง๋ค๊ธฐ ์๋ด์ ๋ฐ๋ผ ํ๋ก์ ํธ์ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์คํ ๋ง๋ค๊ธฐ
์คํ์ ML ์ํฌํ๋ก์ ๋จ๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ๋ค์ ์๋ด์ ๋ฐ๋ผ ์คํ์ ๋ง๋ญ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์คํ์ด ์์ฑ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - EXECUTION_ID: ์คํ ๋ ์ฝ๋์ ID์ ๋๋ค. ์คํ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์คํ์ ๊ณ ์ ์๋ณ์๋ฅผ ์์ฑํฉ๋๋ค.
- DISPLAY_NAME: ์คํ์ ํ์ ์ด๋ฆ์ ๋๋ค. ์ด ํ๋์๋ ์ ๋์ฝ๋ ๋ฌธ์๊ฐ ์ต๋ 128์๊น์ง ํฌํจ๋ ์ ์์ต๋๋ค.
- EXECUTION_STATE: (์ ํ์ฌํญ) ์คํ์ ํ์ฌ ์ํ๋ฅผ ๋ํ๋ด๋ ์ํ ์ด๊ฑฐ์ ๊ฐ์ ๋๋ค. ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด ํ๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. Vertex ML Metadata์์๋ ์ํ ๋ณํ์ ์ ํจ์ฑ์ ํ์ธํ์ง ์์ต๋๋ค.
- METADATA_SCHEMA_TITLE: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ์ ๋ชฉ์
๋๋ค. ์คํค๋ง ์ ๋ชฉ์ด `
. ` ํ์์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. ๋ค์์คํ์ด์ค๋ ์๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ์๋ฌธ์์ ์ซ์๋ฅผ ํฌํจํ ์ ์๊ณ 2~20์ ์ฌ์ด์ฌ์ผ ํฉ๋๋ค. ์คํค๋ง ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํด์ผ ํ๊ณ , ๋ฌธ์ ๋ฐ ์ซ์๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ, ๊ธธ์ด๊ฐ 2~49์์ผ ์ ์์ต๋๋ค. - METADATA_SCHEMA_VERSION: (์ ํ์ฌํญ) ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ๋ฒ์ ์
๋๋ค.
schema_version
์ 1.0.0, 1.0.1๊ณผ ๊ฐ์ด ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ 3๊ฐ ์ซ์๋ก ๋ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค. ์ด ํ์์ ๋ฒ์ ์ ๋ ฌ ๋ฐ ๋น๊ต๋ฅผ ๋์์ค๋๋ค. - METADATA: (์ ํ์ฌํญ) ์คํ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์คํ์ ์ค๋ช ํ๋ ์์ฑ์ ๋๋ค.
- DESCRIPTION: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
- LABELS: (์ ํ์ฌํญ) ์คํ์ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ ์ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค.
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
display_name
: ์คํ์ ํ์ ์ด๋ฆ์ ๋๋ค. ์ด ํ๋์๋ ์ ๋์ฝ๋ ๋ฌธ์๊ฐ ์ต๋ 128์๊น์ง ํฌํจ๋ ์ ์์ต๋๋ค.input_artifacts
: ์ ๋ ฅ ์ํฐํฉํธ๋ฅผ ๋ํ๋ด๋ aiplatform.Artifact์ ํ๋ ์ด์์ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋๋ค.output_artifacts
: ์ถ๋ ฅ ์ํฐํฉํธ๋ฅผ ๋ํ๋ด๋ aiplatform.Artifact์ ํ๋ ์ด์์ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋๋ค.project
: ํ๋ก์ ํธ ID์ ๋๋ค. Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ด๋ฌํ ID๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.execution_id
: ์คํ ๋ ์ฝ๋์ ID์ ๋๋ค. ์คํ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์คํ์ ๊ณ ์ ์๋ณ์๋ฅผ ์์ฑํฉ๋๋ค.metadata
: ์คํ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์คํ์ ์ค๋ช ํ๋ ์์ฑ์ ๋๋ค.schema_version
: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช ํ๋ ์คํค๋ง์ ๋ฒ์ ์ ๋๋ค.description
: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
๊ธฐ์กด ์ํฐํฉํธ ์กฐํ
์ํฐํฉํธ๋ ๋ฐ์ดํฐ ์ธํธ ๋ฐ ๋ชจ๋ธ๊ณผ ๊ฐ์ด ML ์ํฌํ๋ก์์ ์ฌ์ฉ๋๊ฑฐ๋ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ ๋๋ค. ๋ค์ ์๋ด์ ๋ฐ๋ผ ๊ธฐ์กด ์ํฐํฉํธ๋ฅผ ์กฐํํฉ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์ํฐํฉํธ๊ฐ ์์ฑ๋๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - PAGE_SIZE: (์ ํ์ฌํญ) ๋ฐํํ ์ต๋ ์ํฐํฉํธ ์์ ๋๋ค. ์ด ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ์๋น์ค์์ ๋ ์ฝ๋๋ฅผ ์ต๋ 100๊น์ง ๋ฐํํฉ๋๋ค.
- PAGE_TOKEN: (์ ํ์ฌํญ) ์ด์ MetadataService.ListArtifacts ํธ์ถ์ ํ์ด์ง ํ ํฐ์ ๋๋ค. ๊ฒฐ๊ณผ์ ๋ค์ ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ์ด ํ ํฐ์ ์ง์ ํ์ธ์.
FILTER: ๊ฒฐ๊ณผ ์งํฉ์ ์ํฐํฉํธ๋ฅผ ํฌํจํ๋ ๋ฐ ํ์ํ ์กฐ๊ฑด์ ์ง์ ํฉ๋๋ค.
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๋ ์ํฐํฉํธ ๋ ์ฝ๋์ 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
project
: ํ๋ก์ ํธ ID์ ๋๋ค. Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ด๋ฌํ ID๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.display_name_filter
: ํ์ ์ด๋ฆ์ ์ ์ฉํ ํํฐ์ด๋ฉฐ "display_name=\"dcmmy_filter\"" ํ์์ ๋ฆฌ์์ค๋ฅผ ๋์ดํฉ๋๋ค.create_date_filter
: create_date ์ด๋ฆ์ ์ ์ฉํ ํํฐ์ด๋ฉฐ "create_time>\"2022-06-11T12:30:00-08:00\"" ํ์์ ๋ฆฌ์์ค๋ฅผ ๋์ดํฉ๋๋ค.
์ํฐํฉํธ ๋ง๋ค๊ธฐ
๋ค์ ์๋ด์ ๋ฐ๋ผ ์ํฐํฉํธ๋ฅผ ๋ง๋ญ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์ํฐํฉํธ๊ฐ ์์ฑ๋๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - ARTIFACT_ID: (์ ํ์ฌํญ) ์ํฐํฉํธ ๋ ์ฝ๋์ ID์ ๋๋ค. ์ํฐํฉํธ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์ํฐํฉํธ์ ๊ณ ์ ์๋ณ์๋ฅผ ๋ง๋ญ๋๋ค.
- DISPLAY_NAME: (์ ํ์ฌํญ) ์ํฐํฉํธ์ ์ฌ์ฉ์ ์ ์ ์ด๋ฆ์ ๋๋ค.
- URI: (์ ํ ์ฌํญ) ์ํฐํฉํธ๊ฐ ์ ์ฅ๋๋ ์์น์ ๋๋ค.
- ARTIFACT_STATE: (์ ํ ์ฌํญ) ์ํฐํฉํธ์ ํ์ฌ ์ํ๋ฅผ ๋ํ๋ด๋ ์ํ ์ด๊ฑฐ์ ๊ฐ์ ๋๋ค. ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด ํ๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. Vertex ML Metadata์์๋ ์ํ ๋ณํ์ ์ ํจ์ฑ์ ํ์ธํ์ง ์์ต๋๋ค.
- METADATA_SCHEMA_TITLE: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ์ ๋ชฉ์
๋๋ค. ์คํค๋ง ์ ๋ชฉ์ด `
. ` ํ์์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. ๋ค์์คํ์ด์ค๋ ์๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ์๋ฌธ์์ ์ซ์๋ฅผ ํฌํจํ ์ ์๊ณ 2~20์ ์ฌ์ด์ฌ์ผ ํฉ๋๋ค. ์คํค๋ง ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํด์ผ ํ๊ณ , ๋ฌธ์ ๋ฐ ์ซ์๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ, ๊ธธ์ด๊ฐ 2~49์์ผ ์ ์์ต๋๋ค. - METADATA_SCHEMA_VERSION: (์ ํ์ฌํญ) ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ๋ฒ์ ์
๋๋ค.
schema_version
์ 1.0.0, 1.0.1๊ณผ ๊ฐ์ด ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ 3๊ฐ ์ซ์๋ก ๋ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค. ์ด ํ์์ ๋ฒ์ ์ ๋ ฌ ๋ฐ ๋น๊ต๋ฅผ ๋์์ค๋๋ค. - METADATA: (์ ํ์ฌํญ) ๋ฐ์ดํฐ ์ธํธ ์ ํ๊ณผ ๊ฐ์ ์ํฐํฉํธ๋ฅผ ์ค๋ช ํ๋ ์์ฑ์ ๋๋ค.
- DESCRIPTION: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
- LABELS: (์ ํ์ฌํญ) ์ํฐํฉํธ๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ ์ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค.
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
project
: ํ๋ก์ ํธ ID์ ๋๋ค. Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ด๋ฌํ ID๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.uri
: (์ ํ์ฌํญ) ์ํฐํฉํธ ํ์ผ์ ๋์ผํ ๋ฆฌ์์ค ์๋ณ์์ ๋๋ค. ์ค์ ์ํฐํฉํธ ํ์ผ์ด ์์ผ๋ฉด ๋น์ด ์์ ์ ์์ต๋๋ค.artifact_id
: (์ ํ์ฌํญ) ์ํฐํฉํธ ๋ ์ฝ๋์ ID์ ๋๋ค. ์ํฐํฉํธ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์ํฐํฉํธ์ ๊ณ ์ ์๋ณ์๋ฅผ ๋ง๋ญ๋๋ค.display_name
: (์ ํ์ฌํญ) ์ํฐํฉํธ์ ์ฌ์ฉ์ ์ ์ ์ด๋ฆ์ ๋๋ค.schema_version
: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช ํ๋ ์คํค๋ง์ ๋ฒ์ ์ ๋๋ค.description
: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์ํฐํฉํธ๋ฅผ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.metadata
: ์ํฐํฉํธ๋ฅผ ์ค๋ช ํ๋ ์์ฑ(์: ์ํฐํฉํธ ๋งค๊ฐ๋ณ์)์ ๋๋ค.
์ํฐํฉํธ๋ฅผ ์คํ์ ์ฐ๊ฒฐํ๋ ์ด๋ฒคํธ ๋ง๋ค๊ธฐ
์ด๋ฒคํธ๋ ์คํ๊ณผ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์ํฐํฉํธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ๋ค์ ์๋ด์ ๋ฐ๋ผ ์ด๋ฒคํธ๋ฅผ ๋ง๋ค์ด์ ์ํฐํฉํธ๋ฅผ ์คํ์ ์ฐ๊ฒฐํฉ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์คํ์ด ์์ฑ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - EXECUTION_ID: ์คํ ๋ ์ฝ๋์ ID์ ๋๋ค.
ARTIFACT: ์ํฐํฉํธ์ ๋ฆฌ์์ค ์ด๋ฆ์ ๋๋ค. ๋ฆฌ์์ค ์ด๋ฆ์
projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID
ํ์์ ๋๋ค.- EVENT_TYPE: (์ ํ์ฌํญ) ์ํฐํฉํธ๊ฐ ์คํ์ ์ ๋ ฅ์ด๋ ์ถ๋ ฅ์ธ์ง ์ฌ๋ถ๋ฅผ ์ง์ ํ๋ EventType ์ด๊ฑฐ์ ๊ฐ์ ๋๋ค.
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID:addExecutionEvents
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "events": [ { "artifact": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID", "type": "EVENT_TYPE" } ] }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
์ฑ๊ณต ์ํ ์ฝ๋(2xx)์ ๋น ์๋ต์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
Python
Python
input_artifacts
: ์ ๋ ฅ ์ํฐํฉํธ๋ฅผ ๋ํ๋ด๋ aiplatform.Artifact์ ํ๋ ์ด์์ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋๋ค.output_artifacts
: ์ถ๋ ฅ ์ํฐํฉํธ๋ฅผ ๋ํ๋ด๋ aiplatform.Artifact์ ํ๋ ์ด์์ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋๋ค.project
: ํ๋ก์ ํธ ID์ ๋๋ค. Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ด๋ฌํ ID๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.execution_id
: ์คํ ๋ ์ฝ๋์ ID์ ๋๋ค. ์คํ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์คํ์ ๊ณ ์ ์๋ณ์๋ฅผ ์์ฑํฉ๋๋ค.metadata
: ์คํ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์คํ์ ์ค๋ช ํ๋ ์์ฑ์ ๋๋ค.schema_version
: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช ํ๋ ์คํค๋ง์ ๋ฒ์ ์ ๋๋ค.description
: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
์ปจํ ์คํธ ๋ง๋ค๊ธฐ
์ปจํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ํฐํฉํธ ๋ฐ ์คํ์ ์งํฉ์ ๊ทธ๋ฃนํํ ์ ์์ต๋๋ค. ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ผ ์ปจํ ์คํธ๋ฅผ ๋ง๋ญ๋๋ค. Vertex AI Experiments์์ ํด๋น ์ปจํ ์คํธ์ ๋ํด ์ํฐํฉํธ ๋ฐ ์คํ์ ์๋์ผ๋ก ๋ก๊น ํ๋ ์ปจํ ์คํธ๋ฅผ ๋ง๋ญ๋๋ค(์คํ ๋ง๋ค๊ธฐ ๋๋ ์ญ์ ์ฐธ์กฐ).
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์คํ์ด ์์ฑ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - CONTEXT_ID: (์ ํ์ฌํญ) ์ปจํ ์คํธ ๋ ์ฝ๋์ ID์ ๋๋ค. ์ปจํ ์คํธ ID๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด Vertex ML Metadata์์ ์ด ์ปจํ ์คํธ์ ๊ณ ์ ์๋ณ์๋ฅผ ๋ง๋ญ๋๋ค.
- DISPLAY_NAME: ์ปจํ ์คํธ์ ํ์ ์ด๋ฆ์ ๋๋ค. ์ด ํ๋์๋ ์ ๋์ฝ๋ ๋ฌธ์๊ฐ ์ต๋ 128์๊น์ง ํฌํจ๋ ์ ์์ต๋๋ค.
- PARENT_CONTEXT: ์์ ์ปจํ ์คํธ์ ๋ฆฌ์์ค ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ์ปจํ ์คํธ์ ํฌํจ๋๋ ์์ ์ปจํ ์คํธ๋ 10๊ฐ๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค.
- METADATA_SCHEMA_TITLE: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ์ ๋ชฉ์
๋๋ค. ์คํค๋ง ์ ๋ชฉ์ด `
. ` ํ์์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค. ๋ค์์คํ์ด์ค๋ ์๋ฌธ์๋ก ์์ํด์ผ ํ๋ฉฐ ์๋ฌธ์์ ์ซ์๋ฅผ ํฌํจํ ์ ์๊ณ 2~20์ ์ฌ์ด์ฌ์ผ ํฉ๋๋ค. ์คํค๋ง ์ด๋ฆ์ ๋๋ฌธ์๋ก ์์ํด์ผ ํ๊ณ , ๋ฌธ์ ๋ฐ ์ซ์๋ฅผ ํฌํจํ ์ ์์ผ๋ฉฐ, ๊ธธ์ด๊ฐ 2~49์์ผ ์ ์์ต๋๋ค. - METADATA_SCHEMA_VERSION: (์ ํ์ฌํญ) ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช
ํ๋ ์คํค๋ง์ ๋ฒ์ ์
๋๋ค.
schema_version
์ 1.0.0, 1.0.1๊ณผ ๊ฐ์ด ๋ง์นจํ๋ก ๊ตฌ๋ถ๋ 3๊ฐ ์ซ์๋ก ๋ ๋ฌธ์์ด์ด์ด์ผ ํฉ๋๋ค. ์ด ํ์์ ๋ฒ์ ์ ๋ ฌ ๋ฐ ๋น๊ต๋ฅผ ๋์์ค๋๋ค. - METADATA: ์ปจํ ์คํธ๋ฅผ ์ค๋ช ํ๋ ์์ฑ(์: ์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)์ ๋๋ค.
- DESCRIPTION: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
- LABELS: (์ ํ์ฌํญ) ์ปจํ ์คํธ๋ฅผ ๊ตฌ์ฑํ๋ ์ฌ์ฉ์ ์ ์ ๋ฉํ๋ฐ์ดํฐ์ ๋๋ค.
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๋ ์ปจํ ์คํธ ๋ ์ฝ๋์ 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
display_name
: ์ปจํ ์คํธ์ ํ์ ์ด๋ฆ์ ๋๋ค. ์ด ํ๋์๋ ์ ๋์ฝ๋ ๋ฌธ์๊ฐ ์ต๋ 128์๊น์ง ํฌํจ๋ ์ ์์ต๋๋ค.project
: ํ๋ก์ ํธ ID์ ๋๋ค. Google Cloud ์ฝ์ ์์ ํ์ด์ง์์ ์ด๋ฌํ ID๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.location
: ์ฌ์ฉ ๊ฐ๋ฅํ ์์น ๋ชฉ๋ก์ ์ฐธ์กฐํ์ธ์.context_id
: (์ ํ์ฌํญ) ์ปจํ ์คํธ ๋ ์ฝ๋์ ID์ ๋๋ค.metadata
: ์ปจํ ์คํธ๋ฅผ ์ค๋ช ํ๋ ์์ฑ(์: ์ปจํ ์คํธ ๋งค๊ฐ๋ณ์)์ ๋๋ค.schema_version
: ๋ฉํ๋ฐ์ดํฐ ํ๋๋ฅผ ์ค๋ช ํ๋ ์คํค๋ง์ ๋ฒ์ ์ ๋๋ค.description
: (์ ํ์ฌํญ) ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ก์, ์คํ์ ๋ง๋๋ ๋ชฉ์ ์ ์ค๋ช ํฉ๋๋ค.
์ปจํ ์คํธ์ ์ํฐํฉํธ ๋ฐ ์คํ ์ถ๊ฐ
๋ค์ ์๋ด๋ฅผ ์ํํ์ฌ ์ํฐํฉํธ์ ์คํ์ ์ปจํ ์คํธ์ ์ถ๊ฐํฉ๋๋ค.
REST
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- LOCATION_ID: ๋ฆฌ์
- PROJECT_ID: ํ๋ก์ ํธ ID์ ๋๋ค.
- METADATA_STORE: ์คํ์ด ์์ฑ๋ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ID์
๋๋ค.
๊ธฐ๋ณธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ์ด๋ฆ์
default
๋ก ์ง์ ๋ฉ๋๋ค. - CONTEXT: (์ ํ์ฌํญ) ์ปจํ ์คํธ ๋ ์ฝ๋์ ID์ ๋๋ค.
์ด ์ปจํ ์คํธ์ ์ถ๊ฐํ ์ํฐํฉํธ์ ARTIFACT ๋ฆฌ์์ค ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ๋ฆฌ์์ค ์ด๋ฆ์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/artifacts/artifact
์ด ์ปจํ ์คํธ์ ์ถ๊ฐํ ์คํ์ EXECUTION ๋ฆฌ์์ค ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ๋ฆฌ์์ค ์ด๋ฆ์ ํ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
projects/PROJECT_ID/locations/location/metadataStores/metadata-store/executions/execution
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/contexts/CONTEXT:addContextArtifactsAndExecutions
JSON ์์ฒญ ๋ณธ๋ฌธ:
{ "artifacts": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/artifacts/ARTIFACT_ID" ], "executions": [ "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/executions/EXECUTION_ID" ] }
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
์ฑ๊ณต ์ํ ์ฝ๋(2xx)์ ๋น ์๋ต์ ๋ฐ๊ฒ ๋ฉ๋๋ค.