Setelah membuat Vision Warehouse, menambahkannya ke aplikasi, dan men-deploy aplikasi, Anda dapat menelusuri data yang disimpan di warehouse video streaming.
Menelusuri metadata video streaming
Untuk menelusuri data (assets
) di warehouse (corpus
), isi
SearchAssetsRequest
dengan konten yang ingin Anda temukan. Konten
ini tersedia dalam beberapa format:
criteria
- Konten teks, angka, atau tanggal yang diberikan oleh pengguna.facet_selections
- Konten teks yang ditampilkan oleh server, dan dipilih oleh pengguna.content_time_ranges
- Rentang tanggal yang harus mencakup semua konten yang ditampilkan.
Dalam contoh berikut, pertimbangkan Gudang yang berisi rekaman kamera keamanan dari berbagai jenis toko di seluruh negara. 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 contoh isi ini, kolomcriteria
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" } }
Boolean
"bool_value" : { "value": "true" }
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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": "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 perlengkapan olahraga, sedangkan kamera lainnya ditempatkan di
toko bahan makanan.
Untuk membatasi kueri ini agar hanya menampilkan rekaman video toko bahan makanan, teruskan permintaan yang sama dengan pilihan faset.
Meminta isi JSON dengan pilihan 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, respons apa pun akan berisi
anotasi "store-type":"Grocery"
.
Menampilkan metadata aset klip saat melakukan penelusuran
Vertex AI Vision API juga memungkinkan pengguna menentukan metadata klip tambahan untuk ditampilkan
dengan hasil penelusuran, menggunakan result_annotation_keys
.
REST
Dalam contoh ini, kunci anotasi yang disediakan 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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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": "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.
Misalkan Anda membuat skema data berikut di 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 korpus menggunakan
penyerapan video streaming atau permintaan CreateAnnotation
.
Setelah anotasi diserap, 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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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": "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:
Menggunakan penelusuran global untuk menampilkan metadata aset dalam penelusuran
Penelusuran global menyediakan tempat bagi pengguna untuk memasukkan kueri penelusuran, bukan menentukan kriteria individual. 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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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": "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 ditampilkan dalam penelusuran
Anda dapat menggunakan fitur pengurutan untuk mengurutkan hasil penelusuran menurut 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 setidaknya kunci skema data dan urutan menaik/menurun:
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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": "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 dan insight yang diberikan pengguna yang dihasilkan oleh Google Cloud model pemahaman video - untuk memberikan opsi penelusuran tambahan kepada pengguna. Misalnya, jika ingin menargetkan klip dengan kendaraan berwarna tertentu dari data video mobil di penyimpanan, 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 berhasil dijalankan:
Request.search_configuration.name
tidak boleh sudah ada.- Array
mapped_fields
tidak boleh kosong, dan harus dipetakan ke kunci anotasi yang diberikan pengguna yang ada. - Semua
mapped_fields
harus memiliki jenis yang sama. - Semua
mapped_fields
harus memiliki konfigurasi pencocokan persis/cerdas yang sama. - Semua
mapped_fields
harus memiliki tingkat perincian yang sama.
Ada beberapa kasus penggunaan untuk membuat SearchConfig
, masing-masing dengan panduan
yang 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 mem-build 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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahperson
.
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 facet 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 facet untuk
kunci anotasi yang diberikan pengguna "Location"
.
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
)
di URL permintaan mereferensikan kunci anotasi yang diberikan pengguna yang ada, dan
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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahLocation
.
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 1 gagal:
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 2 gagal:
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 3 gagal:
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:
Request.search_configuration
harus berisiSearchCriteriaProperty
sehinggaRequest.search_configuration.search_criteria_property.mapped_fields
berisi elemen yang sama denganRequest.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 facet untuk
kunci anotasi yang diberikan pengguna, yaitu "City"
dan "State"
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahLocation
.
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 1 gagal:
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 2 gagal:
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
Segmen rentang mirip dengan segmen normal, tetapi setiap bucket segmen mencakup beberapa
rentang berkelanjutan. Konfigurasi tambahan
(range_facet_config
) memberikan informasi sistem tentang
rentang bucket aspek ini.
Faset rentang tersedia untuk:
- Bilangan bulat
- Tanggal
Ada tiga jenis facet rentang:
- Rentang tetap - Setiap bucket memiliki ukuran yang sama.
- Rentang kustom - Ukuran bucket yang dapat diprogram. Misalnya, logaritma.
- Rentang tanggal - Perincian bucket tetap
DAY
,MONTH
, danYEAR
. Hal ini hanya berlaku untuk facet rentang tanggal.
Kondisi yang sama berlaku sebagai satu aspek, dengan beberapa validasi tambahan terkait spesifikasi rentang.
Spesifikasi bucket rentang tetap
Contoh berikut membuat spesifikasi facet 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 tingkat perincian yang sama.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahinventory-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 facet 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 mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahvideo-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 granularitas DAY
.
REST
Anda harus menentukan ID SearchConfig
baru di akhir URL permintaan, bukan sebagai kolom dalam permintaan.
Permintaan ini menggunakan DateTimeBucketSpec
untuk menentukan cara pengelompokan nilai tanggal.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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.
- SEARCHCONFIG: Nama
SearchConfig
target Anda. SearchConfig
dalam contoh ini adalahfilm-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
Menggunakan pilihan faset untuk melakukan penelusuran
Setelah membuat bucket aspek ini, Anda dapat menggunakannya untuk menelusuri warehouse.
REST
Permintaan ini menggunakan objek facetSelections
untuk menentukan grup bucket aspek.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-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", "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:
Request.searchConfig.name
harus sudah ada.- Permintaan harus berisi setidaknya satu
searchCriteriaProperty
ataufacetProperty
yang tidak kosong. - Array
mappedFields
tidak boleh kosong, dan harus dipetakan ke kunci anotasi yang diberikan pengguna yang ada. - Semua
mappedFields
harus memiliki jenis yang sama. - Semua
mappedFields
harus memiliki tingkat perincian yang sama. - Semua
mappedFields
harus memiliki opsi pencocokanSearchConfig
semantik yang sama.
REST & CMD LINE
Contoh kode berikut memperbarui resource konfigurasi penelusuran gudang
menggunakan
metode
projects.locations.corpora.searchConfigs.patch
.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint mungkin menyertakan awalan yang cocok dengan
LOCATION_ID
sepertieurope-west4-
. Lihat selengkapnya tentang endpoint yang diregionalkan. - PROJECT: Project ID atau 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.
- SEARCHCONFIG_ID: ID
SearchConfig
target Anda. "mappedFields"
: Satu atau beberapa kunci anotasi yang diberikan pengguna yang ada.
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" ] } }