Menelusuri data warehouse video streaming menggunakan command line

Setelah membuat Vision Warehouse, menambahkannya ke aplikasi, dan men-deploy aplikasi, Anda dapat menelusuri data yang disimpan di streaming video warehouse.

Menelusuri metadata video streaming

Untuk menelusuri data (assets) di warehouse (corpus), isi SearchAssetsRequest dengan konten yang ingin Anda temukan. Konten ini hadir dalam beberapa format berbeda:

  1. criteria - Konten teks, angka, atau tanggal yang diberikan oleh pengguna.
  2. facet_selections - Konten teks yang ditampilkan oleh server, dan dipilih oleh pengguna.
  3. content_time_ranges - Rentang tanggal yang harus dicakup oleh semua konten yang ditampilkan.

Dalam contoh berikut, pertimbangkan Gudang yang berisi rekaman kamera keamanan dari berbagai jenis toko di seluruh negeri. Untuk mengambil semua aset untuk tahun 2018 atau 2020 yang diberi tag dengan anotasi "state": "California", atau anotasi "state":"Pennsylvania", kirim permintaan berikut:

REST

Untuk menelusuri aset, kirim permintaan POST menggunakan metode projects.locations.corpora.searchAssets.

Dalam isi contoh ini, kolom criteria menggunakan nilai textArray untuk memberikan dua txt_values: "California" dan "Pennsylvania". Anda juga dapat memberikan kriteria penelusuran untuk jenis data lainnya. Anda hanya dapat menentukan satu jenis kriteria penelusuran dalam setiap permintaan.

Opsi kriteria penelusuran tambahan

Rentang bilangan bulat (inklusif)

    "int_range_array" : {
      "int_ranges": { "start": "5", "end": "10" }
      "int_ranges": { "start": "20", "end": "30" }
    }
    

Rentang float (inklusif)

    "float_range_array" : {
      "float_ranges": { "start": "2.6", "end": "14.3" }
      "float_ranges": { "start": "205.3", "end": "205.8" }
    }
    

Geolokasi (koordinat dan radius)

    "geo_location_array": {
      "circle_areas": {
        "latitude": "37.4221",
        "longitude": "122.0841",
        "radius_meter": "500"
      },
      "circle_areas": {
        "latitude": "12.46523",
        "longitude": "-95.2146",
        "radius_meter": "100"
      }
    }
    

Booleans

    "bool_value" : {
      "value": "true"
    }
    

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": "2",
  "content_time_ranges": {
    "date_time_ranges": {
      "start": {
        "year":"2018",
        "month":"1",
        "day":"1",
      },
      "end": {
        "year":"2019",
        "month":"1",
        "day":"1",
      }
    },
    "date_time_ranges": {
      "start": {
        "year":"2020",
        "month":"1",
        "day":"1",
      },
      "end": {
        "year":"2021",
        "month":"1",
        "day":"1",
      }
    }
  },
  "criteria": {
    "field": "state",
    "text_array": {
      "txt_values": "California",
      "txt_values": "Pennsylvania"
    }
  }
}

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:

Untuk mengambil halaman hasil berikutnya, teruskan parameter permintaan asli yang ditambahkan dengan next_page_token yang ditampilkan.

Array facet_results menampilkan konten yang cocok dengan kueri asli. Respons di atas menunjukkan bahwa salah satu kamera keamanan ditempatkan di toko peralatan olahraga, sedangkan kamera lainnya ditempatkan di toko bahan makanan.

Untuk membatasi kueri ini agar hanya menampilkan rekaman video toko bahan makanan, teruskan kembali permintaan yang sama dengan pemilihan faset.

Isi JSON permintaan dengan pemilihan aspek:

{
  "page_size": "2",
  "content_time_ranges": {
    "date_time_ranges": {
      "start": {
        "year":"2018",
        "month":"1",
        "day":"1",
      },
      "end": {
        "year":"2018",
        "month":"12",
        "day":"31",
      }
    },
    "date_time_ranges": {
      "start": {
        "year":"2020",
        "month":"1",
        "day":"1",
      },
      "end": {
        "year":"2020",
        "month":"12",
        "day":"31",
      }
    }
  },
  "criteria": {
    "field": "state",
    "text_array": {
      "txt_values": "California",
      "txt_values": "Pennsylvania"
    }
  },
  "facet_selections": {
    "facetId": "state",
    "displayName": "State",
    "buckets": {
        "value": {
         "stringValue": "California"
        }
    },
    "buckets": {
      "value": {
        "stringValue": "Pennsylvania"
      }
    },
    "bucketType": "FACET_BUCKET_TYPE_VALUE"
  },
  "facet_selections": {
    "facetId": "store-type",
    "displayName": "StoreType",
    "buckets": {
      "value": {
        "stringValue": "Sporting Goods"
      }
    },
    "buckets": {
      "value": {
        "stringValue": "Grocery"
      },
      "selected": "true"
    },
    "bucketType": "FACET_BUCKET_TYPE_VALUE"
  }
}

Karena aspek Grocery dipilih, setiap respons akan berisi anotasi "store-type":"Grocery".

Menampilkan metadata aset klip saat melakukan penelusuran

Vertex AI Vision API juga memungkinkan pengguna menentukan metadata klip tambahan yang akan ditampilkan dengan hasil penelusuran, menggunakan result_annotation_keys.

REST

Dalam contoh ini, kunci anotasi yang diberikan pengguna "camera-location" ditentukan dalam isi permintaan, dan nilai kunci ("Sunnyvale") diberikan dalam respons.

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": "2",
   "criteria": {
     "field": "state",
     "text_array": {
       "txt_values": "California",
       "txt_values": "Pennsylvania"
     }
   },
   "result_annotation_keys": "camera-location"
}

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:

Menggunakan kriteria untuk menampilkan metadata aset dalam penelusuran

Anda dapat menentukan dalam kriteria penelusuran apakah akan menampilkan anotasi yang cocok untuk setiap item hasil penelusuran. Fitur ini didukung untuk jenis skema data terbatas: INTEGER, FLOAT, BOOLEAN, STRING (khusus EXACT_SEARCH), dan anotasi harus berada di tingkat partisi.

Asumsikan Anda membuat skema data berikut dalam korpus warehouse:

{
  "key": "image-classification",
  "schema_details": {
    "type":"STRING",
    "granularity":"GRANULARITY_PARTITION_LEVEL",
    "search_strategy": {
      "search_strategy_type":"EXACT_SEARCH"
    }
  }
}

Beberapa anotasi untuk "image-classification" diserap ke dalam korpus menggunakan penyerapan video streaming atau permintaan CreateAnnotation.

Setelah anotasi dimasukkan, Anda dapat menelusuri "image-classification" dan mendapatkan hasil video serta anotasi yang sesuai:

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:searchAssets

Isi JSON permintaan:

{
  "page_size": "5",
  "facet_selections": {
    "facet_id": "image-classification",
    "fetch_matched_annotations": "true",
    "bucket_type": "FACET_BUCKET_TYPE_VALUE",
      "buckets": {
        "value": {
          "string_value": "cat"
        },
        "selected" : "true"
      },
  }
}

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:

Penelusuran global menyediakan tempat bagi pengguna untuk memasukkan kueri penelusuran, bukan menentukan kriteria satu per satu. Anda dapat menelusuri kriteria jenis string yang ditetapkan agar dapat ditelusuri dalam skema datanya. Hasil yang cocok akan diambil dan ditampilkan kepada Anda.

Untuk menggunakan fitur ini, tetapkan kolom search_query di SearchAssetsRequest:

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:searchAssets

Isi JSON permintaan:

{
    "page_size": "2",
    "search_query': "Pennsylvania"
}

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:

Menerapkan spesifikasi pengurutan untuk mengurutkan metadata aset yang dikembalikan dalam penelusuran

Anda dapat menggunakan fitur pengurutan untuk mengurutkan hasil penelusuran berdasarkan annotation yang diberikan pengguna. Hal ini dapat berguna untuk mengurutkan hasil dengan jenis skema data yang dapat diurutkan, seperti jenis string dan numerik.

Untuk menggunakan fitur ini, tentukan schema_key_sorting_strategy, yang memerlukan minimal kunci skema data dan urutan menaik/menurun:

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:searchAssets

Isi JSON permintaan:

{
    "page_size": "2",
    "schemaKeySortingStrategy":
    { "options": 
      { 
        "data_schema_key": "stream-display-name", 
        "sort_decreasing": true
      } 
    }

}

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 kode status yang menandakan proses berhasil (2xx), dan sebuah respons kosong.

Membuat konfigurasi penelusuran

Vision Warehouse memungkinkan pengguna menyesuaikan pengalaman penelusuran mereka melalui konfigurasi penelusuran. Konfigurasi Penelusuran menggunakan data video, seperti anotasi yang diberikan pengguna dan insight yang dihasilkan oleh model pemahaman video, untuk memberikan opsi penelusuran tambahan kepada pengguna. Google Cloud Misalnya, jika Anda ingin menargetkan klip dengan kendaraan berwarna tertentu dari data video mobil di gudang data, Anda dapat menggunakan konfigurasi penelusuran tertentu untuk kueri Anda.

Anda dapat menggunakan SearchConfig untuk menetapkan opsi konfigurasi yang lebih terperinci.

Contoh berikut menunjukkan cara membuat resource SearchConfig.

Panduan umum

Untuk semua kasus penggunaan, permintaan Anda harus memenuhi kondisi berikut agar dapat dieksekusi dengan berhasil:

  1. Request.search_configuration.name tidak boleh sudah ada.
  2. Array mapped_fields tidak boleh kosong, dan harus dipetakan ke kunci anotasi yang diberikan pengguna yang ada.
  3. Semua mapped_fields harus memiliki jenis yang sama.
  4. Semua mapped_fields harus memiliki konfigurasi pencocokan persis/pintar yang sama.
  5. Semua mapped_fields harus memiliki perincian yang sama.

Ada beberapa kasus penggunaan untuk membuat SearchConfig, masing-masing dengan pedoman berbeda yang harus Anda ikuti.

Membuat konfigurasi penelusuran dengan kriteria penelusuran kustom

Bagian ini menjelaskan cara memetakan operator kustom ke satu atau beberapa kunci anotasi yang diberikan pengguna. Dalam hal ini, Anda harus memenuhi panduan umum saat membuat permintaan.

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Kunci anotasi yang diberikan pengguna dalam contoh ini adalah "player", "coach", dan "cheerleader".

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah person.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=person

Isi JSON permintaan:

{
   "search_criteria_property": {
     "mapped_fields": "player",
     "mapped_fields": "coach",
     "mapped_fields": "cheerleader",
  }
}

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/searchConfigs?search_config_id=person"

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/searchConfigs?search_config_id=person" | Select-Object -Expand Content

Anda akan melihat respons JSON seperti berikut:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/person",
  "searchCriteriaProperty":
    {
      "mappedFields": [
        "player",
        "coach",
        "cheerleader"
      ]
    }
}

Membuat konfigurasi penelusuran dengan pemetaan aspek 1:1

Untuk membuat aspek untuk satu kunci anotasi yang diberikan pengguna, Anda harus memastikan bahwa Request.search_configuration.facet_property.mapped_fields berisi satu elemen. Nilai elemen ini harus berupa nama kunci anotasi yang diberikan pengguna.

Contoh berikut menunjukkan cara membuat pemetaan aspek untuk kunci anotasi "Location" yang diberikan pengguna.

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Dalam contoh ini, permintaan berhasil karena search_config_id (Location) dalam URL permintaan merujuk ke kunci anotasi yang diberikan pengguna yang sudah ada, and mapped_fields berisi tepat satu elemen dengan nilai yang sama dengan search_config_id (Location).

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah Location.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location

Isi JSON permintaan:

{
   "facet_property": {
     "mapped_fields": "Location",
     "display_name": "Location",
     "result_size": "5",
     "bucket_type":"FACET_BUCKET_TYPE_VALUE"
  }
}

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/searchConfigs?search_config_id=Location"

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/searchConfigs?search_config_id=Location" | Select-Object -Expand Content
 

Permintaan berikut gagal karena tidak memenuhi persyaratan yang diperlukan.

Permintaan yang gagal

Permintaan gagal 1:

      curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \
      https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location \
      -d "{
         "facet_property": {
           "mapped_fields": "City", /* City is not equal to search_config_id. */
           "display_name": "City",
           "result_size": "5",
           "bucket_type":"FACET_BUCKET_TYPE_VALUE"
        }
      }"
    

Permintaan gagal 2:

      curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \
      https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=City \
      -d "{
         "facet_property": {
           "mapped_fields": "City", /* City doesn't map to an existing user-given annotation key. */
           "display_name": "City",
           "result_size": "5",
           "bucket_type":"FACET_BUCKET_TYPE_VALUE"
        }
      }"
    

Permintaan gagal 3:

      curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \
      https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location \
      -d "{
         "facet_property": {
           "mapped_fields": "Location",
           "mapped_fields": "City", /* mapped_fields contains more than 1 element. */
           "display_name": "Location",
           "result_size": "5",
           "bucket_type":"FACET_BUCKET_TYPE_VALUE"
        }
      }"
    

Membuat konfigurasi penelusuran dengan pemetaan aspek kustom 1:1 atau lebih

Klien yang ingin membuat pemetaan antara nilai faset kustom dan satu atau beberapa kunci anotasi yang diberikan pengguna harus memastikan bahwa:

  1. Request.search_configuration harus berisi SearchCriteriaProperty sehingga Request.search_configuration.search_criteria_property.mapped_fields berisi elemen yang sama dengan Request.search_configuration.facet_property.mapped_fields.

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Contoh berikut menunjukkan cara membuat pemetaan aspek untuk kunci anotasi yang diberikan pengguna "City" dan "State".

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah Location.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location

Isi JSON permintaan:

{
  "search_criteria_property": {
     "mapped_fields": "City",
     "mapped_fields": "State",
     "mapped_fields": "Province",
  }
  "facet_property": {
     "mapped_fields": "City",
     "mapped_fields": "State",
     "display_name": "Province",
     "result_size": "5",
     "bucket_type":"FACET_BUCKET_TYPE_VALUE"
  }
}

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/searchConfigs?search_config_id=Location"

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/searchConfigs?search_config_id=Location" | Select-Object -Expand Content
 

Permintaan berikut gagal karena tidak memenuhi persyaratan yang diperlukan.

Permintaan yang gagal

Permintaan gagal 1:

      curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \
      https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location \
      -d "{
        "facet_property": { /* Request is missing a SearchCriteriaProperty object.*/
           "mapped_fields": "City",
           "mapped_fields": "State",
           "display_name": "Location",
           "result_size": "5",
           "bucket_type":"FACET_BUCKET_TYPE_VALUE"
        }
      }"
    

Permintaan gagal 2:

      curl -X POST \
      -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
      -H "Content-Type: application/json; charset=utf-8" \
      https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=Location \
      -d "{
        "search_criteria_property": {
           "mapped_fields": "City",
           "mapped_fields": "State",
        }
        "facet_property": {
           "mapped_fields": "City",
           "mapped_fields": "State",
           "mapped_fields": "Province", /* Province is missing from search_criteria_property. */
           "display_name": "Location",
           "result_size": "5",
           "bucket_type":"FACET_BUCKET_TYPE_VALUE"
        }
      }"
    

Membuat konfigurasi penelusuran dengan faset berbasis rentang

Faset rentang serupa dengan faset normal, tetapi setiap bucket faset mencakup rentang berkelanjutan. Konfigurasi tambahan (range_facet_config) memberikan informasi sistem tentang rentang bucket facet ini.

Faset rentang tersedia untuk:

  1. Bilangan bulat
  2. Tanggal

Ada tiga jenis aspek rentang:

  1. Rentang tetap - Setiap bucket memiliki ukuran yang sama.
  2. Rentang kustom - Ukuran bucket yang dapat diprogram. Misalnya, logaritmik.
  3. Rentang tanggal - Perincian bucket tetap DAY, MONTH, dan YEAR. Hal ini hanya berlaku untuk aspek rentang tanggal.

Kondisi yang sama berlaku seperti aspek tunggal, dengan beberapa validasi tambahan terkait spesifikasi rentang.

Spesifikasi bucket rentang tetap

Contoh berikut membuat spesifikasi aspek rentang tetap untuk kolom inventory-count, dan menghasilkan bucket: [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf].

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Permintaan ini menggunakan FixedRangeBucketSpec untuk membuat beberapa bucket dengan perincian yang sama.

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah inventory-count.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=inventory-count

Isi JSON permintaan:

{
  "facet_property": {
    "mapped_fields": "inventory-count",
    "display_name": "Inventory Count",
    "result_size": "5",
    "bucket_type":"FACET_BUCKET_TYPE_FIXED_RANGE",
    "fixed_range_bucket_spec": {
       "bucket_start": {
         "integer_value": 0
       },
       "bucket_granularity": {
         "integer_value": 10
       },
       "bucket_count": 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/searchConfigs?search_config_id=inventory-count"

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/searchConfigs?search_config_id=inventory-count" | Select-Object -Expand Content
 

Spesifikasi bucket rentang kustom

Contoh berikut membuat spesifikasi aspek rentang tetap untuk kolom video-views, dan menghasilkan bucket: [inf, 0), [0, 10), [10, 100), [100, 1000), [1000, 10000), [10000, inf).

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Permintaan ini menggunakan CustomRangeBucketSpec untuk menentukan cara nilai dikelompokkan.

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah video-views.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=video-views

Isi JSON permintaan:

{
  "facet_property": {
    "mapped_fields": "video-views",
    "display_name": "Video Views",
    "result_size": "6",
    "bucket_type":"FACET_BUCKET_TYPE_CUSTOM_RANGE",
    "custom_range_bucket_spec": {
       "endpoints": {
         "integer_value": 0
       },
       "endpoints": {
         "integer_value": 10
       },
       "endpoints": {
         "integer_value": 100
       },
       "endpoints": {
         "integer_value": 1000
       },
       "endpoints": {
         "integer_value": 10000
       }
    }
  }
}

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/searchConfigs?search_config_id=video-views"

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/searchConfigs?search_config_id=video-views" | Select-Object -Expand Content
 

Spesifikasi bucket rentang tanggal / waktu

Contoh berikut membuat spesifikasi rentang tanggal untuk kolom film-date dengan perincian DAY.

REST

Anda harus menentukan ID SearchConfig baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.

Permintaan ini menggunakan DateTimeBucketSpec untuk menentukan cara nilai tanggal dikelompokkan.

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.
  • SEARCHCONFIG: Nama target SearchConfig Anda.
    • SearchConfig dalam contoh ini adalah film-date.

Metode HTTP dan URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs?search_config_id=film-date

Isi JSON permintaan:

{
  "facet_property": {
    "mapped_fields": "film-date",
    "display_name": "Film Date",
    "result_size": "5",
    "bucket_type": "FACET_BUCKET_TYPE_DATETIME",
    "datetime_bucket_spec": {
       "granularity": "DAY"
    }
 }
}

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/searchConfigs?search_config_id=film-date"

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/searchConfigs?search_config_id=film-date" | Select-Object -Expand Content
 

Setelah membuat bucket aspek ini, Anda dapat menggunakannya untuk menelusuri gudang.

REST

Permintaan ini menggunakan objek facetSelections untuk menentukan grup bucket aspek.

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",
   "facet_selections": {
     "facet_id": "inventory-count",
     "buckets": {
       "range": {
         "end" : {
           "integer_value": 0
         }
       }
     },
     "buckets": {
       "range": {
         "start" : {
           "integer_value": 20
         },
         "end" : {
           "integer_value": 30
         }
       }
     }
   },
   "facet_selections": {
     "facet_id": "video-views",
     "buckets": {
       "range": {
         "start" : {
           "integer_value": 100
         },
         "end" : {
           "integer_value": 1000
         }
       }
     }
   },
   "facet_selections": {
     "facet_id": "film-date",
     "buckets": {
       "range": {
         "start" : {
           "datetime_value": {
             "year": 2022,
             "month": 9,
             "day": 10
           }
         },
         "end" : {
           "datetime_value": {
             "year": 2022,
             "month": 9,
             "day": 11
           }
         }
       }
     }
   }
}

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
 

Memperbarui konfigurasi penelusuran

Untuk memperbarui SearchConfig saat ini, permintaan Anda harus memenuhi persyaratan berikut:

  1. Request.searchConfig.name harus sudah ada.
  2. Permintaan harus berisi setidaknya satu searchCriteriaProperty atau facetProperty yang tidak kosong.
  3. Array mappedFields tidak boleh kosong, dan harus dipetakan ke kunci anotasi yang diberikan pengguna yang sudah ada.
  4. Semua mappedFields harus memiliki jenis yang sama.
  5. Semua mappedFields harus memiliki perincian yang sama.
  6. Semua mappedFields harus memiliki opsi pencocokan semantik SearchConfig yang sama.

REST & CMD LINE

Contoh kode berikut mengupdate resource konfigurasi penelusuran gudang menggunakan metode projects.locations.corpora.searchConfigs.patch.

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: Project ID atau nomor project Anda. Google Cloud
  • LOCATION_ID: Region tempat Anda menggunakan Vertex AI Vision. Misalnya: us-central1, europe-west4. Lihat wilayah yang tersedia.
  • CORPUS_ID: ID korpus target Anda.
  • SEARCHCONFIG_ID: ID SearchConfig target Anda.
  • "mappedFields": Satu atau beberapa kunci anotasi yang diberikan pengguna.

Metode HTTP dan URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID

Isi JSON permintaan:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID1",
  "searchCriteriaProperty": {
    "mappedFields": "dataschema2"
  }
}

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/searchConfigs/SEARCHCONFIG_ID"

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/searchConfigs/SEARCHCONFIG_ID1",
  "searchCriteriaProperty": {
    "mappedFields": [
      "dataschema2"
    ]
  }
}