Membuat dan menggunakan skema kustom

Selain skema sistem yang telah ditetapkan sebelumnya, Vertex ML Metadata menyediakan model data yang dapat diperluas melalui skema kustom. Skema kustom adalah MetadataSchemas yang ditentukan pengguna. Gunakan skema kustom untuk pemeriksaan jenis properti metadata dan untuk mengkueri resource berdasarkan skema, misalnya, "daftar semua Artefak jenis MyCustomModel.

Untuk menentukan skema kustom, Anda harus membuat resource MetadataSchema dalam MetadataStore tertentu yang mendeskripsikan skema yang diharapkan. Format skema adalah subset dari spesifikasi OpenAPI 3.0{class: external}, dengan batasan bahwa skema level teratas harus berjenis object. Semua jenis data yang didukung OpenAPI 3.0 (misalnya, bilangan bulat, angka, string, boolean, array, objek) didukung sebagai properti objek skema level atas ini. Batasannya adalah setiap kolom di bawah bagian properti hanya dapat ditetapkan ke satu jenis data. Jenis campuran tidak didukung. Persyaratan data lanjutan seperti format Minimum, Maksimum, Multi, dan string juga tidak didukung.

Cara mendaftarkan skema kustom Anda sendiri

Proses pembuatan MetadataSchema kustom mirip dengan membuat resource metadata baru. Petunjuk berikut menunjukkan cara membuat contoh MetadataSchema. Skema Metadata hanya dicakup untuk MetadataStore yang terkait.

REST

Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:

  • LOCATION_ID: Region MetadataStore Anda.
  • PROJECT_ID: Project ID atau nomor Anda.
  • METADATA_STORE: ID penyimpanan metadata tempat Skema Metadata dibuat. Penyimpanan metadata default diberi nama default. Anda dapat menggunakan penyimpanan default, kecuali MetadataStore baru diperlukan.
  • METADATA_SCHEMA_ID: (Opsional) ID data MetadataSchema. Jika ID tidak ditentukan, Metadata Vertex ML akan membuat ID unik untuk MetadataSchema ini
  • METADATA_SCHEMA_TITLE: Judul skema yang mendeskripsikan kolom metadata. Judul skema harus memenuhi format `.`. Namespace harus diawali dengan huruf kecil, dapat berisi karakter huruf kecil dan angka, serta panjangnya dua hingga dua puluh karakter. Nama skema harus dimulai dengan huruf besar, dapat berisi huruf dan angka, dan dapat berisi dua hingga empat puluh sembilan karakter.
  • METADATA_SCHEMA_VERSION: (Opsional) Versi skema yang mendeskripsikan kolom metadata. schema_version harus berupa string berisi tiga angka yang dipisahkan titik, misalnya 1.0.0, 1.0.1. Format ini membantu mengurutkan dan membandingkan versi..
  • METADATA_SCHEMA_TYPE: Jenis resource metadata di mana skema yang dibuat diterapkan. Jenisnya adalah: ARTIFACT_TYPE, EXECUTION_TYPE, atau CONTEXT_TYPE.
  • METADATA_SCHEMA: Skema mendetail yang akan dibuat.
  • DESCRIPTION: (Opsional) String yang dapat dibaca manusia, yang menjelaskan tujuan eksekusi yang akan dibuat.
  • ARTIFACT_ID: (Opsional) ID catatan artefak. Jika ID artefak tidak ditentukan, Vertex ML Metadata akan membuat ID unik untuk artefak ini..
  • DISPLAY_NAME: (Opsional) Nama artefak yang ditentukan pengguna.

Metode HTTP dan URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/metadataSchemas?metadata_schema_id=METADATA_SCHEMA_ID

Meminta isi JSON:

{
    "schemaVersion": "0.0.1",
    "schema": "title: test.Experiment\ntype: object",
    "schemaType": "CONTEXT_TYPE",
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat output yang mirip dengan berikut ini: Anda dapat menggunakan METADATA_SCHEMA_ID adalah ID data MetadataSchema.

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/metadataStores/METADATA_STORE/metadataSchemas/METADATA_SCHEMA_ID",
  "schemaVersion": "0.0.1",
  "schema": "title: test.Experiment\ntype: object",
  "schemaType": "CONTEXT_TYPE",
  "createTime": "2021-04-06T05:24:04.575481815Z"
}

Panggilan berikutnya untuk membuat, mendapatkan, atau mencantumkan Artefak dapat merujuk ke skema ini dengan menentukan nama (demo.Artifact) di kolom schema_title dan versi (0.0.1) dalam schema_version resource Artefak. Untuk mengetahui informasi selengkapnya tentang cara membuat, mendapatkan, atau mencantumkan resource metadata, baca artikel Melacak Metadata Vertex ML.

Menetapkan versi skema Anda

Semua resource Skema Metadata diberi versi. Pengguna dapat membuat skema yang menggunakan schema_title yang sama dengan skema lain, tetapi schema_version yang berbeda. Untuk membuat resource metadataSchema dengan versi yang berbeda, pengguna dapat memberikan nomor versi yang berbeda dan konten skema yang dimodifikasi.

Contoh berikut membuat skema demo.Artifact versi 0.0.2:

sample_schema_versioned = aip.MetadataSchema()
sample_schema_versioned.schema_type = aip.MetadataSchema.MetadataSchemaType.ARTIFACT_TYPE
sample_schema_versioned.schema ="title: demo.Artifact\ntype: object\nproperties:\n  framework:\n    type: string\n    description: \"The framework type\"\n  model_version:\n    type: integer\n    description: \"The version of the model\""
sample_schema_versioned.schema_version = "0.0.2"
sample_schema_versioned.description = "sample schema 2"

store_client.create_metadata_schema(parent=metadata_store.name, metadata_schema=sample_schema_versioned)

Kolom dalam skema selalu dianggap opsional, sehingga tidak ada kompatibilitas mundur atau maju antara versi schema_title yang sama. Pengguna masih dapat menggunakan schema_title guna memfilter dan mengelompokkan resource untuk analisis. Untuk mengetahui informasi selengkapnya tentang cara menggunakan fungsi filter, baca Menganalisis Metadata Vertex ML.

Langkah selanjutnya