Membuat dan memperbarui Image Warehouse

Gudang Gambar adalah tempat Anda dapat menyimpan dan mengelola gambar, serta anotasi pada gambar.

Membuat Gudang Gambar

Pertama, Anda harus membuat korpus.

REST & CMD LINE

Membuat resource korpus di project tertentu dengan opsi untuk menentukan nama tampilan dan deskripsi Corpus.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • DISPLAY_NAME: Nama tampilan untuk gudang.
  • WAREHOUSE_DESCRIPTION: Deskripsi gudang (corpus).

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "display_name": "DISPLAY_NAME",
  "description": "WAREHOUSE_DESCRIPTION",
  "type": "IMAGE",
  "search_capability_setting": {
    "search_capabilities": {
      "type": "EMBEDDING_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"

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" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
    "displayName": "DISPLAY_NAME",
    "description": "WAREHOUSE_DESCRIPTION",
    "type": "IMAGE",
    "search_capability_setting": {
      "search_capabilities": {
        "type": "EMBEDDING_SEARCH"
      }
    }
  }
}

Membuat skema data

Jika ingin mengimpor anotasi, Anda perlu membuat skema data yang sesuai sebelum memanggil Import API.

REST & CMD LINE

Contoh ini menunjukkan cara membuat skema data dalam korpus yang ada.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform 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 di bawah 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

Meminta isi JSON:

{
  "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"
    }
  }
}

Mengimpor aset ke korpus gambar

Mengimpor aset (dan anotasi secara opsional) ke korpus yang ada dalam project tertentu.

File Cloud Storage untuk permintaan ImportAsset harus dalam format JSONL. Dalam file, setiap baris sesuai dengan satu aset dan akan dikonversi menjadi proto InputImageAsset. Misalnya,

{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}

REST & CMD LINE

Contoh ini menunjukkan cara mengimpor aset (dan secara opsional anotasi) ke resource korpus dalam project tertentu.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform 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/assets:import

Meminta isi JSON:

{
  "parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
  "assets_gcs_uri": GCS_URI
}

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:import"

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:import" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
w

Menganalisis aset dalam set data

Untuk mempersiapkan penelusuran gambar, AnalyzeCorpus perlu dijalankan untuk membuat sinyal penyematan dari gambar.

REST & CMD LINE

Contoh ini menunjukkan cara melakukan AnalyzeCorpus pada resource korpus.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform 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:analyze

Meminta isi JSON:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}

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:analyze"

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:analyze" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}

Membuat indeks

REST & CMD LINE

Contoh ini menunjukkan cara membuat indeks pada resource korpus.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • INDEX_ID: (Opsional) Nilai yang diberikan pengguna untuk ID indeks. Dalam permintaan ini, nilai ditambahkan ke URL permintaan dalam bentuk:
    • https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "display_name": "DISPLAY_NAME",
  "description": "INDEX_DESCRIPTION",
}

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/indexes"

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/indexes" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata"
  }
}

Membuat endpoint indeks

REST & CMD LINE

Contoh ini menunjukkan cara membuat endpoint indeks.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • INDEX_ENDPOINT_ID: (Opsional) Nilai yang diberikan pengguna untuk ID endpoint indeks. Dalam permintaan ini, nilai ditambahkan ke URL permintaan dalam bentuk:
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

Meminta isi JSON:

{
  "display_name": "DISPLAY_NAME",
  "description": "DESCRIPTION",
}

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/indexEndpoints"

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/indexEndpoints" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
  }
}

Men-deploy indeks ke endpoint indeks

REST & CMD LINE

Contoh ini menunjukkan cara men-deploy indeks ke resource endpoint indeks.

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: Nomor project Google CloudAnda.
  • LOCATION_ID: Region tempat Anda menggunakan Agent Platform Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • INDEX_ENDPOINT_ID: ID endpoint indeks target Anda.
  • CORPUS_ID: ID korpus target Anda.
  • INDEX_ID: ID indeks target Anda.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Meminta isi JSON:

{
  "deployedIndex": {
    "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"

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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
    "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}