Questo tutorial illustra come creare un set di prodotti contenente un gruppo di prodotti con immagini di riferimento per i prodotti in questione. Il tutorial mostra agli utenti come creare un set di prodotti tramite importazione online (singola). Dopo l'indicizzazione, puoi eseguire query sul set di prodotti utilizzando Product Search dell'API Vision.
In questo tutorial imparerai a:
- Creazione di un set di prodotti tramite importazione online (singola)
- Creare un singolo prodotto
- Aggiungere un prodotto a un set di prodotti
- Aggiorna un prodotto
- Crea un'immagine di riferimento
- Cerca prodotti simili
Prima di iniziare
Prima di iniziare questo tutorial, assicurati di aver installato le librerie client appropriate, abilitato la fatturazione e l'API per il 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 installato la libreria client:
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la 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 l'importazione batch con un file CSV, che consente di importare un intero catalogo dei prodotti in una singola chiamata API, oppure tramite importazione online, che offre il controllo sui set di prodotti e consente la gestione di una risorsa o di una relazione alla volta. Ciò riguarda principalmente la creazione individuale di set di prodotti, prodotti e immagini di riferimento. L'importazione online consente inoltre di aggiornare in modo incrementale un catalogo dei prodotti già creato tramite l'importazione batch.
In questo tutorial utilizzerai l'importazione online. Consulta la Guida rapida per un esempio di importazione in gruppo con un file CSV.
Importazione online (privata)
1. Crea un set di prodotti
Crea un set di prodotti vuoto, che è un semplice contenitore per un gruppo di prodotti.
Richiesta
Crea un set di prodotti vuoto e assegnagli il nome "PS_CLOTH-SHOE_070318" eseguendo la seguente richiesta con il metodo create_product_set()
.
Passa 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 posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: un nome visualizzato della stringa a 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:
arricciatura
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 la risposta in formato JSON.
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID set di prodotti (b6d809615b6dd675
, in questo caso) 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la 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, il passaggio successivo consiste nella creazione di 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 posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: un nome visualizzato della stringa a tua scelta.
- PRODUCT_DESCRIPTION: una descrizione stringa a tua scelta.
- product-category: una categoria di prodotto valida. Sono attualmente disponibili le seguenti categorie di prodotto:
homegoods-v2
,apparel-v2
,toys-v2
,packagedgoods-v1
egeneral-v1
. productLabels
: una o più coppie chiave-valore associate a un prodotto. A ogni KEY_STRING deve essere associato un 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:
arricciatura
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
Testo della richiesta di esempio:
{ "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 la risposta in formato JSON.
Dovresti vedere un output simile al seguente. Puoi utilizzare l'ID prodotto
(37b9811d308c4e42
, in questo caso) 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la 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. Aggiungi un prodotto a un set di prodotti
Dopo aver creato un set di prodotti e un prodotto, puoi aggiungerlo al set.
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 posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID del set di prodotti su cui vuoi 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:
arricciatura
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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Product Search dell'API Vision per Ruby.
Risposta
Product added to product set.
4. Aggiorna un prodotto
Se devi aggiornare un prodotto o un set di prodotti dopo averlo creato, puoi utilizzare i nostri metodi di aggiornamento. Questo esempio mostra un aggiornamento del prodotto in cui le etichette vengono modificate:
Riga di comando
Quando invii una richiesta PATCH
, tutti i campi precedenti e i relativi valori verranno cancellati, ad eccezione del 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 posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: l'ID del prodotto associato 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 della stringa a tua scelta. Può essere uguale al nome visualizzato precedente o a un valore aggiornato.
- description: una descrizione stringa a tua scelta. Può essere uguale al nome visualizzato precedente o a un valore aggiornato. Ometti il campo e il valore
description
se non ti servono. productLabels
: una o più coppie chiave-valore associate a un prodotto. A ogni KEY_STRING deve essere associato un 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:
arricciatura
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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la 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 un'immagine di riferimento di un prodotto
La creazione di un'immagine di riferimento per un singolo prodotto consente a Product Search dell'API Vision di cercare il prodotto tramite questa immagine dopo l'indicizzazione. Puoi avere più immagini di riferimento in un prodotto, in particolare se vuoi una corrispondenza migliore.
Puoi aggiungere una nuova immagine di riferimento a un prodotto in qualsiasi momento.
Quando crei un'immagine di riferimento, hai la possibilità di includere le coordinate dei poli di delimitazione. Un poli di delimitazione identifica un'area di interesse nell'immagine di riferimento. Ad esempio, se crei un'immagine di riferimento per un prodotto che è una giacca, puoi fornire le coordinate per la giacca nell'argomento di delimitazione del poli e il sistema considererà la giacca solo quando cerca corrispondenze tra i prodotti. Nota: puoi fornire più poli di delimitazione al momento dell'indice, anche se al momento della query l'API supporta un solo poli di delimitazione.
Un modo conveniente per ottenere le coordinate dei poli di delimitazione di un'immagine è utilizzare la 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 posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: l'ID del prodotto associato 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 file immagine
valido 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:
arricciatura
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 la risposta in formato JSON.
Dovresti vedere un output simile al seguente. La richiesta di esempio ha specificato un singolo
boundingPoly
nell'immagine. I vertici del riquadro di delimitazione non sono normalizzati; i valori dei vertici corrispondono ai valori effettivi dei pixel e non relativi all'immagine originale e scalati da 0 a 1. Questi vertici hanno i 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la 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 creato prendendo una nuova immagine come input e cercando il prodotto corrispondente migliore.
Come nel caso di un'immagine di riferimento, quando cerchi immagini corrispondenti hai la possibilità di includere le coordinate dei poli di delimitazione. Un poli di delimitazione identifica l'area di interesse nell'immagine di origine per la quale vuoi trovare corrispondenze. Ad esempio, se l'immagine di origine contiene sia un abito che una borsa e vuoi trovare solo delle corrispondenze per l'abito, puoi identificare le coordinate dei poli di delimitazione per l'area dell'immagine che contiene solo l'abito. Per impostazione predefinita, se non viene specificato alcun poli di delimitazione, l'API determina il poli di delimitazione più grande ed esegue automaticamente delle query.
Un modo conveniente per ottenere le coordinate dei poli di delimitazione di un'immagine è utilizzare la localizzazione degli oggetti dell'API Vision. Per ulteriori informazioni sulla localizzazione degli oggetti, consulta Rilevamento di più oggetti. Ad esempio, puoi eseguire query esplicitamente su un'immagine intera specificando un poli di delimitazione dell'intera casella immagine: [(0, 0), (0, 1), (1, 1), (1, 0)].
La richiesta restituisce una risposta API che include il prodotto corrispondente migliore 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: la rappresentazione base64 (stringa ASCII) dei dati di immagine binaria. Questa stringa dovrebbe essere simile alla
seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di posizione valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID del set di prodotti su cui vuoi eseguire l'operazione.
Considerazioni specifiche sul campo:
features.maxResults
: il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui effettuare la ricerca. Attualmente puoi specificare una sola categoria di prodotti (articoli per la casa, abbigliamento, giocattoli, prodotti confezionati e generali ).imageContext.filter
: (facoltativo) un'espressione di filtro di coppie chiave-valore (o più espressioni) per l'etichetta del prodotto. Formato: "key
=value
". Il filtro delle coppie chiave-valore può essere collegato con espressioni AND o OR: "color
=blue
ANDstyle
=mens
" oppure "color
=blue
ORcolor
=black
". Se utilizzi l'espressione OR , tutte le chiavi dell'espressione devono essere uguali.
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:
arricciatura
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 codice JSON della risposta include i due tipi di risultati seguenti:
productSearchResults
: contiene un elenco di prodotti corrispondenti per l'intera immagine. Nella risposta di esempio, i prodotti corrispondenti sono: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: contiene le coordinate del riquadro di delimitazione e gli elementi corrispondenti per ogni prodotto identificato nell'immagine. Nella risposta seguente è identificato un solo prodotto, seguito dai prodotti corrispondenti nel set di prodotti di esempio: product_id65, product_id35, product_id34, product_id93, product_id62.
Tieni presente che, anche se i due tipi di risultati sono sovrapposti, potrebbero esserci 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Go
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Java
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Node.js
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Vision API Product Search. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Product Search dell'API Vision.Python
Per eseguire l'autenticazione a Product Search dell'API Vision, configurare Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi consulta la 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 consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Product Search dell'API Vision per Ruby.
Esempio di risposta per gli articoli di 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 la seguente richiesta con il metodo get_similar_products_file()
o get_similar_products_uri()
. L'ID set di prodotti, il percorso del file immagine locale e il filtro vengono passati 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