Questo tutorial mostra come creare un set di prodotti che contiene un gruppo di prodotti con immagini di riferimento per tali prodotti. Il tutorial mostra come creare un set di prodotti online (singola) importazione. Dopo che il set di prodotti è stato indicizzato, puoi eseguire query set di prodotti utilizzando Product Search dell'API Vision.
In questo tutorial imparerai a:
- Creare un set di prodotti tramite l'importazione online (singola)
- Creare un singolo prodotto
- Aggiungere un prodotto a un set di prodotti
- Aggiornare un prodotto
- Crea un'immagine di riferimento
- Cerca prodotti simili
Prima di iniziare
Prima di iniziare questo tutorial, assicurati di aver installato librerie client, la fatturazione e l'API per gli utenti del tuo progetto e di aver configurato l'autenticazione correttamente.
Importa librerie
Per utilizzare Product Search dell'API Vision, importa i seguenti moduli dopo aver scaricato e installando la libreria client:
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Esecuzione dell'applicazione
Passaggio 1: crea un catalogo dei prodotti
Gli utenti hanno due opzioni per creare un catalogo dei prodotti: tramite importazione in batch utilizzando un file CSV, che consente di importare un intero catalogo di prodotti in un singola chiamata API o tramite importazione online, che ti consente di controllare il prodotto e consente di gestire una risorsa o una relazione alla volta. Questo significa principalmente la creazione individuale di set di prodotti, prodotti e immagini di riferimento. L'importazione online ti consente anche di aggiornare in modo incrementale un catalogo dei prodotti già creati tramite importazione in batch.
In questo tutorial userai l'importazione online. Consulta le Guida rapida per un esempio di importazione in batch con un file CSV.
Importazione online (individuale)
1. Crea un set di prodotti
Creare un set di prodotti vuoto che sia un semplice contenitore per un gruppo di prodotti.
Richiesta
Crea un set di prodotti vuoto e assegnagli il nome "PS_CLOTH-SHOE_070318"
eseguendo questa richiesta con il metodo create_product_set()
.
Trasmetti l'ID set di prodotti e il nome visualizzato come argomenti.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: un nome visualizzato per la stringa di tua scelta.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Corpo JSON della richiesta:
{ "displayName": "display-name" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
in formato JSON.
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID set di prodotti
(in questo caso b6d809615b6dd675
) per eseguire altre operazioni sul set di prodotti.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
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. Crea un prodotto
Dopo aver creato un set di prodotti, occorre creare un prodotto. Crea un prodotto eseguendo questa richiesta.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: un nome visualizzato per la stringa di tua scelta.
- PRODUCT_DESCRIPTION: una descrizione stringa a tua scelta.
- product-category: una categoria di prodotto valida. La
attualmente disponibili le seguenti categorie di prodotto:
homegoods-v2
,apparel-v2
,toys-v2
packagedgoods-v1
egeneral-v1
. productLabels
: una o più coppie chiave/valore associati a un prodotto. A ogni KEY_STRING deve essere associata una VALUE_STRING.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products
Corpo JSON della richiesta:
{ "displayName": "display-name", "description": "product-description", "productCategory": "product-category", "productLabels": [ { "key": "key-string", "value": "value-string" } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Esempio di corpo della richiesta:
{ "displayName": "sample-product-1234", "description": "Athletic shorts", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "color", "value": "blue" } ] }
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
in formato JSON.
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID prodotto
(in questo caso 37b9811d308c4e42
) per eseguire altre operazioni sul prodotto.
{ "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
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
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. Aggiunta di un prodotto a un set di prodotti
Dopo aver creato un set di prodotti e un prodotto, puoi aggiungere il prodotto al set di prodotti.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID del set di prodotti che preferisci su cui eseguire l'operazione.
- PRODUCT_NAME: il nome completo della risorsa del prodotto.
Formato:
projects/PROJECT_ID/locations/LOCATION_ID/products/PRODUCT_ID
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct
Corpo JSON della richiesta:
{ "product": "product-name" }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{}
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
Product added to product set.
4. Aggiornare un prodotto
Se devi aggiornare un prodotto o un set di prodotti dopo la creazione, devi possono usare i nostri metodi di aggiornamento. Questo esempio mostra un aggiornamento del prodotto in cui vengono modificate le etichette:
Riga di comando
Quando invii una richiesta PATCH
, tutti i campi precedenti e i relativi valori verranno cancellati
tranne il campo productCategory
, che è immutabile.
Invia tutti i campi necessari con i valori quando effettui la richiesta di aggiornamento di PATCH
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: l'ID del prodotto associate a un'immagine di riferimento. Questo ID viene impostato in modo casuale o specificato dall'utente al momento della creazione del prodotto.
- display-name: un nome visualizzato per la stringa di tua scelta. Può coincidere con un nome visualizzato precedente o un valore aggiornato.
- description: una descrizione stringa a tua scelta. Può coincidere con
un nome visualizzato precedente o un valore aggiornato. Ometti il campo e il valore
description
se non ti serve. productLabels
: una o più coppie chiave/valore associati a un prodotto. A ogni KEY_STRING deve essere associata una VALUE_STRING.
Metodo HTTP e URL:
PATCH https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
Corpo JSON della richiesta:
{ "displayName": "display-name", "description": "description", "productLabels": [ { "key": "key-string", "value": "value-string" }, { "key": "key-string", "value": "value-string" } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
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. Crea l'immagine di riferimento di un prodotto
La creazione di un'immagine di riferimento per un singolo prodotto consente Product Search dell'API Vision per cercare il prodotto in base a questa immagine dopo l'indicizzazione. Puoi avere più immagini di riferimento in un prodotto, in particolare se desideri un della corrispondenza della qualità.
Puoi aggiungere una nuova immagine di riferimento a un prodotto in qualsiasi momento.
Quando crei un'immagine di riferimento, puoi includere un poligono di delimitazione coordinate. Un poligono di delimitazione identifica un'area di interesse nel riferimento dell'immagine. Ad esempio, se crei un'immagine di riferimento per un prodotto che è un giacca, puoi specificare le coordinate della giacca nel riquadro di delimitazione e il sistema prenderà in considerazione solo la giacca quando cerca un prodotto corrispondenze. Nota: è possibile fornire più poligoni di delimitazione al momento dell'indice, anche se in fase di query volta che l'API supporta un solo poligono di delimitazione.
Un modo conveniente per ottenere le coordinate dei poli di delimitazione di un'immagine è utilizzare Localizzazione degli oggetti dell'API Vision. Per ulteriori informazioni sulla localizzazione degli oggetti, consulta Rilevamento di più oggetti.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: l'ID del prodotto associate a un'immagine di riferimento. Questo ID viene impostato in modo casuale o specificato dall'utente al momento della creazione del prodotto.
- CLOUD_STORAGE_IMAGE_URI: il percorso di un percorso
in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://storage-bucket/filename.jpg
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Corpo JSON della richiesta:
{ "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 } ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
in formato JSON.
Dovresti vedere un output simile al seguente. La richiesta di esempio specificava un singolo
boundingPoly
nell'immagine. I vertici del riquadro di delimitazione non
normalizzato; i valori del vertice sono i valori effettivi dei pixel e non relativi ai
immagine originale e scalata da 0 a 1. Questi vertici hanno le seguenti
valori: [(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
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
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 }
Passaggio 2: cerca i prodotti corrispondenti
Questa interfaccia ti consente di eseguire query sul catalogo dei prodotti che hai creato utilizzando una una nuova immagine come input e la ricerca del prodotto migliore corrispondente.
Analogamente alla creazione di un'immagine di riferimento, quando cerchi immagini corrispondenti hanno la possibilità di includere le coordinate dei poli di delimitazione. Un poligono di delimitazione identifica L'area di interesse dell'immagine sorgente per cui vuoi trovare corrispondenze. Ad esempio, se l'immagine di origine contiene sia un abito che una borsa e vuoi trovare corrispondenze solo per l'abito, puoi identificare il poligono per la regione dell'immagine che contiene solo l'abito. Di predefinita, se non viene specificato alcun poligono di delimitazione, l'API determina la il poligono di delimitazione ed esegue query automaticamente.
Un modo conveniente per ottenere le coordinate dei poli di delimitazione di un'immagine è utilizzare Localizzazione degli oggetti dell'API Vision. Per ulteriori informazioni sulla localizzazione degli oggetti, consulta Rilevamento di più oggetti. Ad esempio: puoi eseguire query su un'immagine intera specificando un poli di delimitazione del casella immagine intera: [(0, 0), (0, 1), (1, 1), (1, 0)].
La richiesta restituisce una risposta dell'API che include il prodotto con la migliore corrispondenza. per un'immagine con il punteggio e l'immagine corrispondente. Questa immagine viene restituita utilizzando il valore di affidabilità più alto.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: il base64
(stringa ASCII) dei dati dell'immagine binaria. Questa stringa dovrebbe essere simile alla
la seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID del set di prodotti che preferisci su cui eseguire l'operazione.
Considerazioni specifiche sul campo:
features.maxResults
. Il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui cercare. Attuale puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, articoli .imageContext.filter
: (facoltativo) un'espressione di filtro di una coppia chiave-valore (o più espressioni) per l'etichetta del prodotto. Formato: "key
=value
". Filtri Le coppie chiave-valore possono essere collegate tramite espressioni AND oppure OR: "color
=blue
ANDstyle
=mens
", oppure "color
=blue
OPPUREcolor
=black
". Se utilizzi l'espressione OR tutte le chiavi nell'espressione devono essere la stessa.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "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" } } } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
.
ed esegui questo comando:
$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
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e
la risposta in formato JSON.
Il file JSON della risposta include i due seguenti tipi di risultati:
productSearchResults
- Contiene un elenco di prodotti corrispondenti per l'intera dell'immagine. Nella risposta di esempio, i prodotti corrispondenti sono: product_id65, product_id35, product_id34, product_id62, id_prodotto32.productGroupedResults
: contiene le coordinate del riquadro di delimitazione e gli elementi corrispondenti per ogni prodotto identificato nell'immagine. Nella risposta seguente c'è solo un prodotto identificati, seguiti dai prodotti corrispondenti nel set di prodotti campione: product_id65, product_id35, product_id34, product_id93, product_id62.
Tieni presente che, sebbene i due tipi di risultati si sovrappongano, potrebbero esserci anche differenze (ad esempio, product_id32 e product_id93 nella risposta).
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP Segui le Istruzioni per la configurazione dei file PHP Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Rubino: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Product Search dell'API Vision per Ruby.
Esempio di risposta relativa all'abbigliamento
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
Ricerca con un'etichetta
Il seguente esempio di ricerca include un filtro basato sul colore.
Richiesta
Effettua una richiesta di ricerca eseguendo questa richiesta con il metodo
get_similar_products_file()
o get_similar_products_uri()
. ID set di prodotti,
percorso e filtro del file immagine locale
vengono passate come argomenti. Questa immagine di input è presente anche in "resources/input/".
Python
python product_search.py get_similar_products_file "12000002" "D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg" "color=white"
Risposta
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