Membuat dan memperbarui skema data

Warehouse Vision (corpus) yang terhubung di aplikasi yang di-deploy untuk proses transfer data memiliki satu atau beberapa objek media assets. Anda dapat memberikan detail selengkapnya tentang assets objek media 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 repositori.

Membuat skema data (API)

REST

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat region 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 - Tingkat perincian 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 mungkin menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat region yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • DATASCHEMA_ID: ID skema data target Anda.
  • ?updateMask=fieldToUpdate: Salah satu kolom yang tersedia tempat Anda dapat menerapkan updateMask. Tentukan nilai kolom baru yang sesuai dalam 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 mungkin menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat region 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 mungkin menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat region 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 ini:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan LOCATION_ID seperti europe-west4-. Lihat selengkapnya tentang endpoint yang diregionalkan.
  • PROJECT_NUMBER: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat region 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 warehouse (konsol)

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

Setelah mengubah kolom facetable, Anda dapat menggunakannya untuk menelusuri warehouse.

Konsol

  1. Buka tab Warehouses di dasbor Vertex AI Vision.

    Buka tab Gudang

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

  3. Pilih kolom yang ingin Anda aktifkan untuk penelusuran.

Memilih kolom penelusuran facetable di UI