Tutorial ini menunjukkan cara membuat set produk yang berisi sekelompok produk dengan gambar referensi untuk produk tersebut. Tutorial ini menunjukkan kepada pengguna cara membuat set produk melalui impor online (individu). Setelah kumpulan produk diindeks, Anda dapat membuat kueri untuk kumpulan produk menggunakan Penelusuran Produk Vision API.
Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat set produk melalui impor online (perorangan)
- Membuat satu produk
- Menambahkan produk ke set produk
- Memperbarui produk
- Membuat gambar referensi
- Telusuri produk yang mirip
Sebelum memulai
Sebelum memulai tutorial ini, pastikan Anda telah menginstal library klien yang sesuai, mengaktifkan penagihan dan API untuk project, serta telah menginstal dengan benar menyiapkan autentikasi.
Mengimpor library
Untuk menggunakan Penelusuran Produk Vision API, impor modul berikut setelah mendownload dan menginstal library klien:
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Menjalankan Aplikasi
Langkah 1: Membuat Katalog Produk
Pengguna memiliki dua opsi untuk membuat katalog produk, baik melalui impor batch menggunakan file CSV, yang memungkinkan seluruh katalog produk diimpor dalam satu panggilan API, atau melalui impor online, yang menawarkan Anda kontrol atas produk Anda dan memungkinkan pengelolaan satu sumber daya atau hubungan pada satu waktu. Hal ini terutama diartikan sebagai pembuatan masing-masing set produk, produk, dan gambar referensi. Impor online juga memungkinkan Anda memperbarui katalog produk yang telah dibuat melalui impor batch secara bertahap.
Dalam tutorial ini, Anda akan menggunakan impor online. Lihat Panduan Memulai untuk mengetahui contoh impor batch dengan CSV.
Impor Online (Perorangan)
1. Membuat set produk.
Buat Kumpulan Produk kosong yang merupakan penampung sederhana untuk sekelompok produk.
Permintaan
Buat Set Produk kosong dan beri nama "PS_CLOTH-SHOE_070318"
dengan menjalankan permintaan berikut menggunakan metode create_product_set()
.
Teruskan ID set produk dan nama tampilan sebagai argumen.
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - DISPLAY_NAME: Nama tampilan string pilihan Anda.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Isi JSON permintaan:
{ "displayName": "display-name" }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Anda akan melihat output yang mirip dengan berikut ini. Anda dapat menggunakan ID
(dalam hal ini b6d809615b6dd675
) untuk melakukan operasi lain pada set produk.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Respons
Product set name: projects/prj-prod-search-tutorials/locations/us-east1/productSets/PS_CLOTH-SHOE_070318 Product set id: PS_CLOTH-SHOE_070318 Product set display name: CLOTH-SHOE
2. Buat Produk
Setelah kumpulan produk dibuat, langkah selanjutnya adalah membuat produk. Buat produk dengan menjalankan permintaan berikut.
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - DISPLAY_NAME: Nama tampilan string pilihan Anda.
- PRODUCT_DESCRIPTION: Deskripsi string pilihan Anda.
- product-category: Kategori produk yang valid. Kategori
produk berikut saat ini tersedia:
homegoods-v2
,apparel-v2
,toys-v2
,packagedgoods-v1
, dangeneral-v1
. productLabels
: Satu atau beberapa key-value pair yang terkait dengan produk. Setiap KEY_STRING harus memiliki VALUE_STRING yang terkait.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products
Isi JSON permintaan:
{ "displayName": "display-name", "description": "product-description", "productCategory": "product-category", "productLabels": [ { "key": "key-string", "value": "value-string" } ] }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products" | Select-Object -Expand Content
Contoh isi permintaan:
{ "displayName": "sample-product-1234", "description": "Athletic shorts", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "color", "value": "blue" } ] }
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Anda akan melihat output yang mirip dengan berikut ini: Anda dapat menggunakan ID produk (dalam hal ini 37b9811d308c4e42
) untuk melakukan operasi lain pada produk tersebut.
{ "name": "projects/project-id/locations/location-id/products/37b9811d308c4e42", "displayName": "sample-product-456", "description": "Athletic shorts", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "color", "value": "blue" } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Respons
Product name: projects/prj-prod-search-tutorials/locations/us-east1/products/P_CLOTH-SHOE_46903668_070318 Product id: P_CLOTH-SHOE_46903668_070318 Product display name: Blue Dress Product category: apparel Product description: Short sleeved and 1950s style satin dress Product labels: Product label 1: key: style value: women Product label 2: key: category value: dress Product label 3: key: color value: dark-blue
3. Menambahkan Produk ke Set Produk
Setelah set produk dan produk dibuat, Anda dapat menambahkan produk tersebut ke set produk.
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - PRODUCT_SET_ID: ID untuk set produk tempat Anda ingin menjalankan operasi.
- PRODUCT_NAME: Nama lengkap resource pada produk.
Format:
projects/PROJECT_ID/locations/LOCATION_ID/products/PRODUCT_ID
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct
Isi JSON permintaan:
{ "product": "product-name" }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
{}
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Respons
Product added to product set.
4. Memperbarui produk
Jika perlu memperbarui set produk atau produk setelah dibuat, Anda dapat menggunakan metode pembaruan kami. Contoh ini menunjukkan pembaruan produk yang labelnya diubah:
Command-line
Saat Anda mengirim permintaan PATCH
, semua kolom sebelumnya dan nilainya akan dihapus kecuali untuk kolom productCategory
, yang tidak dapat diubah.
Kirim semua kolom yang Anda perlukan dengan nilai saat membuat permintaan pembaruan PATCH
.
Sebelum menggunakan salah satu data permintaan, buat pengganti berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - PRODUCT_ID: ID untuk produk yang terkait dengan gambar referensi. ID ini ditetapkan secara acak atau ditentukan oleh pengguna pada waktu pembuatan produk.
- display-name: Nama tampilan string pilihan Anda. Nama ini bisa sama dengan nama tampilan sebelumnya atau nilai yang diperbarui.
- description: Deskripsi string pilihan Anda. Nama ini bisa sama dengan nama tampilan sebelumnya atau nilai yang diperbarui. Hapus kolom dan nilai
description
jika Anda tidak membutuhkannya. productLabels
: Satu atau beberapa key-value pair yang terkait dengan produk. Setiap KEY_STRING harus memiliki VALUE_STRING yang terkait.
Metode HTTP dan URL:
PATCH https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
Isi JSON permintaan:
{ "displayName": "display-name", "description": "description", "productLabels": [ { "key": "key-string", "value": "value-string" }, { "key": "key-string", "value": "value-string" } ] }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id" | Select-Object -Expand Content
Anda akan melihat respons JSON yang mirip seperti berikut:
{ "name": "projects/project-id/locations/location-id/products/product-id", "displayName": "display-name", "description": "description", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "onSale", "value": "true" } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Respons
Product name: projects/prj-prod-search-tutorials/locations/us-east1/products/P_CLOTH-SHOE_46903668_070318 Product id: P_CLOTH-SHOE_46903668_070318 Product display name: Blue Dress Updated product labels: Product label 1: key: style value: women Product label 2: key: category value: dress Product label 3: key: color value: blue Product description: Short sleeved and 1950s style satin dress
5. Membuat Gambar Referensi Produk
Dengan membuat gambar referensi untuk setiap produk, Penelusuran Produk Vision API dapat menelusuri produk berdasarkan gambar ini setelah diindeks. Anda dapat memiliki beberapa gambar referensi dalam suatu produk, terutama jika Anda menginginkan kualitas kecocokan yang lebih baik.
Anda dapat menambahkan gambar referensi baru ke produk kapan saja.
Saat membuat gambar referensi, Anda memiliki opsi untuk menyertakan koordinat poli pembatas. Poli pembatas mengidentifikasi area minat dalam gambar referensi. Misalnya, jika membuat gambar referensi untuk produk berupa jaket, Anda dapat memberikan koordinat untuk jaket dalam argumen poli pembatas, dan sistem hanya akan mempertimbangkan jaket saat mencari produk{ 101}kecocokan. Catatan: Anda dapat menyediakan beberapa poli pembatas pada waktu indeks, meskipun pada waktu kueri, API hanya mendukung satu poli pembatas.
Cara yang mudah untuk mendapatkan koordinat poly pembatas untuk gambar adalah dengan menggunakan pelokalan objek Vision API. Untuk mengetahui informasi selengkapnya tentang pelokalan objek, baca bagian Mendeteksi Beberapa Objek.
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - PRODUCT_ID: ID untuk produk yang terkait dengan gambar referensi. ID ini ditetapkan secara acak atau ditentukan oleh pengguna pada waktu pembuatan produk.
- CLOUD_STORAGE_IMAGE_URI: jalur ke file image yang valid
di bucket Cloud Storage. Anda setidaknya harus memiliki hak istimewa baca ke file tersebut.
Contoh:
gs://storage-bucket/filename.jpg
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Isi JSON permintaan:
{ "uri": "cloud-storage-image-uri", "boundingPolys": [ { "vertices": [ { "x": X_MIN, "y": Y_MIN }, { "x": X_MAX, "y": Y_MIN }, { "x": X_MAX, "y": Y_MAX }, { "x": X_MIN, "y": Y_MAX } ] } ] }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Anda akan melihat output yang mirip dengan berikut ini: Contoh permintaan menentukan satu
boundingPoly
dalam gambar. Verteks untuk kotak pembatas tidak
dinormalisasi; nilai verteks adalah nilai piksel sebenarnya, dan tidak relatif terhadap
gambar asli serta diskalakan dari 0 hingga 1. Verteks ini memiliki nilai
berikut: [(33,22),(282,22),(282,278),(33,278)].
{ "name": "projects/project-id/locations/location-id/products/product-id/referenceImages/image-id", "uri": "gs://storage-bucket/filename.jpg", "boundingPolys": [ { "vertices": [ { "x": 33, "y": 22 }, { "x": 282, "y": 22 }, { "x": 282, "y": 278 }, { "x": 33, "y": 278 } ] } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Respons
Reference image name: projects/prj-prod-search-tutorials/locations/us-east1/products/P_CLOTH-SHOE_46903668_070318/referenceImages/I_469a896b70ba11e8be97d20059124800_070418 Reference image id: I_469a896b70ba11e8be97d20059124800_070418 Reference image uri: gs://product-search-tutorial/dress-shoe-dataset/469a896b70ba11e8be97d20059124800.jpg Reference image bounding polygons: vertices { x: 80 y: 50 } vertices { x: 80 y: 660 } vertices { x: 300 y: 50 } vertices { x: 430 y: 660 }
Langkah 2: Telusuri Produk yang Cocok
Antarmuka ini memungkinkan Anda membuat kueri katalog produk yang Anda buat dengan mengambil gambar baru sebagai input dan menelusuri produk yang paling cocok.
Mirip dengan membuat gambar referensi, saat menelusuri gambar yang cocok, Anda memiliki opsi untuk menyertakan koordinat poly pembatas. Poli pembatas mengidentifikasi area minat dalam gambar sumber yang ingin Anda temukan kecocokannya. Misalnya, jika gambar sumber berisi gaun dan tas, dan Anda hanya ingin menemukan kecocokan untuk gaun tersebut, Anda dapat mengidentifikasi koordinat poli pembatas untuk area gambar yang hanya berisi gaun singkat ini. Secara default, jika tidak ada poli pembatas yang ditentukan, API akan menentukan kebijakan pembatas terbesar dan mengkuerinya secara otomatis.
Cara yang mudah untuk mendapatkan koordinat poly pembatas untuk gambar adalah dengan menggunakan pelokalan objek Vision API. Untuk mengetahui informasi selengkapnya tentang pelokalan objek, baca bagian Mendeteksi Beberapa Objek. Misalnya, Anda dapat secara eksplisit membuat kueri gambar penuh dengan menentukan poli pembatas dari seluruh kotak gambar: [(0, 0), (0, 1), (1, 1), (1, 0 )].
Permintaan menampilkan respons API yang menyertakan produk yang paling cocok untuk gambar dengan skor dan gambar yang cocok. Gambar ini ditampilkan menggunakan nilai keyakinan tertinggi.
REST
Sebelum menggunakan salah satu data permintaan, buat penggantian berikut:
- BASE64_ENCODED_IMAGE: Representasi
base64 (string ASCII) dari data gambar biner Anda. String ini akan terlihat seperti
string berikut:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - PRODUCT_SET_ID: ID untuk set produk tempat Anda ingin menjalankan operasi.
Pertimbangan khusus kolom:
features.maxResults
- Jumlah hasil maksimum yang akan ditampilkan.imageContext.productCategories
- Kategori produk yang akan ditelusuri. Saat ini Anda hanya dapat menentukan satu kategori produk (peralatan rumah tangga, pakaian, mainan, barang kemasan, dan umum ).imageContext.filter
- (Opsional) Ekspresi pemfilteran nilai kunci (atau beberapa ekspresi) untuk label produk. Format: "key
=value
". Memfilter key-value pair dapat ditautkan dengan ekspresi AND atau OR: "color
=blue
DAN,style
=mens
", atau "color
=blue
ATAUcolor
=black
". Jika menggunakan ekspresi ORsemua kunci dalam ekspresi harus sama singkat ini.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/images:annotate
Isi JSON permintaan:
{ "requests": [ { "image": { "content": base64-encoded-image }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
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 "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
JSON respons mencakup dua jenis hasil berikut:
productSearchResults
- Berisi daftar produk yang cocok untuk seluruh gambar. Dalam respons sampel, produk yang cocok adalah: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
- Berisi koordinat kotak pembatas dan item yang cocok untuk setiap produk yang diidentifikasi dalam gambar. Dalam respons berikut, hanya ada satu produk yang diidentifikasi, diikuti dengan produk yang cocok dalam sampel kumpulan produk: product_id65, product_id35, product_id34, product_id93, product_id62.
Perhatikan bahwa meskipun ada tumpang tindih di kedua jenis hasil, mungkin juga ada perbedaan (misalnya, product_id32 dan product_id93 dalam respons).
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Contoh Respons Pakaian
Search Image: D:/product/final/images-20180618T073733Z-01/images/469355b570ba11e88ff2d20059124800.jpg
Similar product information: Product id: 46930b6b Product display name: Evening gown Product description: Blue evening gown in 1940s style Product category: apparel style: women category: dress color: blue
Menelusuri dengan Label
Contoh penelusuran berikut menyertakan filter berdasarkan warna.
Permintaan
Buat permintaan penelusuran dengan menjalankan permintaan berikut menggunakan metode get_similar_products_file()
atau get_similar_products_uri()
. ID kumpulan produk, jalur file gambar lokal, dan filter diteruskan sebagai argumen. Gambar input ini juga ada di "resources/input/".
Python
python product_search.py get_similar_products_file "12000002" "D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg" "color=white"
Tanggapan
Search Image: D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg
Similar product information: Product id: p569d4e7a1 Product display name: Wedding Dress Product description: Elegant Wedding Dress for women Product category: apparel style: women category: dress color: white