Membuat dan memperbarui skema data

Vision Warehouse yang terhubung (corpus) di aplikasi yang di-deploy untuk penyerapan data memiliki satu atau beberapa objek media assets. Anda dapat memberikan detail selengkapnya tentang objek media assets ini dengan dataSchema dan resource annotation yang disediakan pengguna.

Resource skema data harus dibuat sebelum resource annotation dengan kunci skema data tersebut dapat dibuat. Setelah membuat skema data (resource dataSchema) untuk memberi tahu Vertex AI Vision API cara menafsirkan anotasi media, Anda dapat membuat resource annotation untuk media di gudang.

Membuat skema data (API)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Google Cloud Nomor project Anda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • DATASCHEMA_KEY: Kunci ini harus cocok dengan kunci anotasi yang ditentukan pengguna dan unik di dalam corpus. Misalnya, data-key.
  • ANNOTATION_DATA_TYPE: Jenis data anotasi. Nilai yang tersedia adalah:
    • DATA_TYPE_UNSPECIFIED
    • INTEGER
    • FLOAT
    • STRING
    • DATETIME
    • GEO_COORDINATE
    • PROTO_ANY
    • BOOLEAN

    Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API.

  • ANNOTATION_GRANULARITY: Perincian anotasi dalam dataSchema ini. Nilai yang tersedia adalah:
    • GRANULARITY_UNSPECIFIED - Perincian tidak ditentukan.
    • GRANULARITY_ASSET_LEVEL - Perincian tingkat aset (anotasi tidak boleh berisi informasi partisi temporal untuk aset media).
    • GRANULARITY_PARTITION_LEVEL - Perincian tingkat partisi (anotasi harus berisi informasi partisi temporal untuk aset media).
  • SEARCH_STRATEGY: Salah satu nilai enum yang tersedia. Jenis strategi penelusuran yang akan diterapkan pada kunci anotasi. Nilai yang tersedia adalah:
    • NO_SEARCH
    • EXACT_SEARCH
    • SMART_SEARCH

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas

Isi JSON permintaan:

{
  "key": "DATASCHEMA_KEY",
  "schema_details": {
    "type": "ANNOTATION_DATA_TYPE",
    "granularity": "ANNOTATION_GRANULARITY",
    "search_strategy": {
      "search_strategy_type": "SEARCH_STRATEGY"
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "data-key",
  "schemaDetails": {
    "type": "BOOLEAN",
    "granularity": "GRANULARITY_ASSET_LEVEL",
    "searchStrategy": {
      "search_strategy_type": "EXACT_SEARCH"
    }
  }
}

Memperbarui skema data (API)

REST & CMD LINE

Kode berikut memperbarui dataSchema menggunakan metode projects.locations.corpora.dataSchemas.patch.

Contoh ini menggunakan ?updateMask=schemaDetails.type,schemaDetails.granularity di URL permintaan, dan menyertakan nilai schemaDetails.type dan schemaDetails.granularity baru dalam isi permintaan untuk memperbarui skema data.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Google Cloud Nomor project Anda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • DATASCHEMA_ID: ID skema data target Anda.
  • ?updateMask=fieldToUpdate: Salah satu kolom yang tersedia yang dapat Anda terapkan updateMask. Tentukan nilai kolom baru yang sesuai di isi permintaan. Nilai baru ini akan menggantikan nilai kolom yang ada. Kolom yang tersedia:
    • Kunci: ?updateMask=key
    • Jenis skema: ?updateMask=schemaDetails.type
    • Perincian skema: ?updateMask=schemaDetails.granularity
    • Jenis strategi penelusuran skema: ?updateMask=schemaDetails.searchStrategy.searchStrategyType
    • Perbarui semua kolom: ?updateMask=*

Metode HTTP dan URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity

Isi JSON permintaan:

{
  "key": "original-data-key",
  "schemaDetails": {
    "type":"INTEGER",
    "granularity":"GRANULARITY_PARTITION_LEVEL"
    "searchStrategy": {
      "searchStrategyType": "NO_SEARCH"
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "original-data-key",
  "schemaDetails": {
    "type": "INTEGER",
    "granularity": "GRANULARITY_PARTITION_LEVEL",
    "searchStrategy": {
      "searchStrategyType": "NO_SEARCH"
    }
  }
}

Menambahkan skema data struct kustom

Struktur kustom memungkinkan pengguna menentukan penampung yang lebih kompleks untuk menyimpan nilai dan menyediakan fungsi penelusuran. Untuk menggunakan fitur ini, skema data perlu ditentukan, misalnya:

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Google Cloud Nomor project Anda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas

Isi JSON permintaan:

{
  "key": "person",
  "schema_details" : {
    "type":"CUSTOMIZED_STRUCT",
    "granularity":"GRANULARITY_ASSET_LEVEL",
    "customized_struct_config": {
      "field_schemas": {
         "name": {
            "type":"STRING",
            "granularity":"GRANULARITY_ASSET_LEVEL",
            "search_strategy": {
               "search_strategy_type":"EXACT_SEARCH"
            }
         },
         "age": {
            "type":"FLOAT",
            "granularity":"GRANULARITY_ASSET_LEVEL",
            "search_strategy": {
               "search_strategy_type":"EXACT_SEARCH"
            }
         }
      }
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "person",
  "schemaDetails" : {
    "type":"CUSTOMIZED_STRUCT",
    "granularity":"GRANULARITY_ASSET_LEVEL",
    "customized_struct_config": {
      "field_schemas": {
         "name": {
            "type":"STRING",
            "granularity":"GRANULARITY_ASSET_LEVEL",
            "search_strategy": {
               "search_strategy_type":"EXACT_SEARCH"
            }
         },
         "age": {
            "type":"FLOAT",
            "granularity":"GRANULARITY_ASSET_LEVEL",
            "search_strategy": {
               "search_strategy_type":"EXACT_SEARCH"
            }
         }
      }
    }
  }
}

Setelah itu, kita dapat menyisipkan anotasi

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Google Cloud Nomor project Anda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • ASSET_ID: ID aset target Anda.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations

Isi JSON permintaan:

{
  "user_specified_annotation" : {
    "key": "person",
    "value": {
      "customized_struct_value":{
        "elements" : {
          "name": {
            "str_value":"John"
          },
          "age": {
            "float_value":10.5
          }
        }
      }
    }
  }
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
  "userSpecifiedAnnotation": {
    "key": "person",
    "value": {
      "customized_struct_value":{
        "elements" : {
          "name": {
            "str_value":"John"
          },
          "age": {
            "float_value":10.5
          }
        }
      }
    }
  }
}

Setelah anotasi diindeks, permintaan penelusuran dapat dikeluarkan seperti berikut:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Google Cloud Nomor project Anda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets

Isi JSON permintaan:

{
  "page_size": 10,
  "criteria": {
    "field": "person.name",
    "text_array": {
      "txt_values": "John"
    },
  },
}

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets"

PowerShell

Simpan isi permintaan dalam file bernama request.json, dan jalankan perintah berikut:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets" | Select-Object -Expand Content

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Mengubah detail skema gudang (konsol)

Kolom skema dibuat dari model melalui aplikasi. Anda juga dapat menambahkan kolom kustom.

Setelah mengubah kolom yang dapat difasilitasi, Anda dapat menggunakannya untuk menelusuri gudang Anda.

Konsol

  1. Buka tab Warehouses di dasbor Vertex AI Vision.

    Buka tab Gudang

  2. Temukan gudang yang Anda inginkan, lalu pilih namanya. Halaman Warehouse Details akan muncul.

  3. Pilih kolom yang ingin Anda aktifkan untuk penelusuran.

Memilih kolom penelusuran yang dapat difasilitasi di UI