Questo tutorial illustra come creare un set di prodotti contenente un gruppo di prodotti con le relative immagini di riferimento. Il tutorial mostra come creare un set di prodotti online (singola) importazione. Una volta indicizzato il set di prodotti, puoi eseguire query sul set di prodotti utilizzando Product Search dell'API Vision.
In questo tutorial imparerai a:
- Creare un set di prodotti tramite importazione online (singola)
- Creare un singolo prodotto
- Aggiungere un prodotto a un set di prodotti
- Aggiornare un prodotto
- Crea un'immagine di riferimento
- Cercare prodotti simili
Prima di iniziare
Prima di iniziare questo tutorial, assicurati di aver installato le librerie client appropriate, di aver abilitato la fatturazione e l'API per il tuo progetto e di aver configurato correttamente l'autenticazione.
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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Go.
Per autenticarti a Product Search dell'API Vision, configura 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Java dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per autenticarti a Product Search dell'API Vision, configura 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 per 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 di configurazione di PHP riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: 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 l'importazione collettiva con un file CSV, che consente di importare un intero catalogo dei prodotti in un singola chiamata API, oppure tramite l'importazione online, che offre il controllo sui set di prodotti e consente la gestione di 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 la guida rapida per un esempio di importazione collettiva con un file CSV.
Importazione online (singola)
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()
.
Passa l'ID set di prodotti e il nome visualizzato come argomenti.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di località 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
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti a Vision API Product Search, configura le 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 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 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 Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 di configurazione di PHP riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search 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 la seguente richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: un nome visualizzato a stringa a tua scelta.
- PRODUCT_DESCRIPTION: una descrizione di stringa a tua scelta.
- product-category: una categoria di prodotto valida. Al momento sono disponibili le seguenti categorie di prodotti:
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 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
,
quindi esegui il comando seguente:
$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
(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 Product Search dell'API Vision. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 Product Search dell'API Vision. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti a Vision API Product Search, configura le 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 per 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 visita Documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search 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. Aggiungere 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, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore della località valido. Gli identificatori di località 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
,
quindi esegui il comando seguente:
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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Go dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 per 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 di configurazione di PHP riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search 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 le etichette sono state modificate:
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, apporta 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 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 a stringa a 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. Se non ne hai bisogno, ometti il campo e il valore
description
. productLabels
: una o più coppie chiave/valore associati a un prodotto. Ogni KEY_STRING deve avere un VALUE_STRING associato.
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
,
quindi esegui il comando seguente:
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
,
quindi esegui il comando seguente:
$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 Vision API Product Search, consulta Librerie client di Vision API Product Search. 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti a Product Search dell'API Vision, configura 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. 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 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 Product Search dell'API Vision. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per autenticarti a Vision API Product Search, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search 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 che è stata indicizzata. 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: puoi fornire più poligoni delimitanti al momento dell'indicizzazione, anche se al momento della query l'API supporta solo un poligono delimitante.
Un modo pratico per ottenere le coordinate del poligono delimitante 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, apporta 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 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 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
,
quindi esegui il comando seguente:
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
sono normalizzati; i valori dei vertici sono i valori effettivi dei pixel e non sono relativi all'immagine
originale e scalati 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. 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 maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. 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 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 Product Search dell'API Vision. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. 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 di configurazione per 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 di configurazione di PHP riportate nella pagina delle librerie client e consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search 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 inserendo una nuova immagine e cercando il prodotto più adatto.
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 pratico per ottenere le coordinate del poligono delimitante 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 su un'immagine completa 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 più simile 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
stringa riportata di seguito:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore della località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID per l'insieme di prodotti su cui eseguire l'operazione.
Considerazioni specifiche per i campi:
features.maxResults
. Il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui cercare. Al momento puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, confezionati e in generale).imageContext.filter
- (Facoltativo) Un'espressione di filtro (o più espressioni) chiave-valore 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
,
quindi esegui il comando seguente:
$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 riesce, 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 seguente risposta è 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, sebbene esistano sovrapposizioni tra i due tipi di risultati, potrebbero esserci anche differenze (ad es. 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 Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Node.js dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le 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 Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta API Product Search Python dell'API Vision documentazione di riferimento.
Per autenticarti a Vision API Product Search, configura le credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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.
Ruby: segui le istruzioni di configurazione di Ruby riportate nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per Ruby.
Esempio di risposta per 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 in base al 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 trasmessi 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