In dieser Anleitung wird gezeigt, wie Sie eine Produktgruppe erstellen, die eine Gruppe von Produkten mit dazugehörigen Referenzbildern enthält. Die Anleitung zeigt Nutzern, wie eine Produktgruppe über den Online-Import (Einzelimport) erstellt wird. Nachdem Sie die Produktgruppe indexiert haben, können Sie sie über die Vision API-Produktsuche abfragen.
In dieser Anleitung erhalten Sie Informationen zu folgenden Themen:
- Produktgruppe über Online-Import (individuell) erstellen
- Individuelles Produkt erstellen
- Produkt zu einer Produktgruppe hinzufügen
- Produkt aktualisieren
- Referenzbild erstellen
- Nach ähnlichen Produkten suchen
Vorbereitung
Bevor Sie mit dieser Anleitung beginnen, müssen Sie die entsprechenden Clientbibliotheken installiert, die Rechnungsstellung und die API für Ihr Projekt aktiviert und die Authentifizierung ordnungsgemäß eingerichtet haben.
Bibliotheken importieren
Wenn Sie die Vision API-Produktsuche verwenden möchten, importieren Sie die folgenden Module, nachdem Sie die Clientbibliothek heruntergeladen und installiert haben:
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Anwendung ausführen
Schritt 1: Produktkatalog erstellen
Es gibt zwei Möglichkeiten, einen Produktkatalog zu erstellen: entweder über den Batch-Import mit einer CSV-Datei, der den Import eines gesamten Produktkatalogs in einem einzigen API-Aufruf ermöglicht, oder über den Online-Import, der Ihnen die Kontrolle über die Produktgruppe ermöglicht. Mit dem Online-Import lassen sich außerdem Ressourcen bzw. Beziehungen gleichzeitig verwalten. Dies bedeutet in erster Linie, dass Sie Produktgruppen, Produkte und Referenzbilder individuell erstellen können. Beim Online-Import können Sie einen Produktkatalog, den Sie bereits erstellt haben, schrittweise über den Batch-Import aktualisieren.
In dieser Anleitung verwenden Sie den Online-Import. Unter Schnellstart finden Sie ein Beispiel für den Massenimport mit einer CSV-Datei.
Online-Import (individuell)
1. Produktgruppe erstellen
Erstellen Sie eine leere Produktgruppe, die ein einfacher Container für eine Gruppe von Produkten ist.
Anfrage
Erstellen Sie eine leere Produktgruppe und nennen Sie sie PS_CLOTH-SHOE_070318. Führen Sie dazu die folgende Anfrage mit der Methode create_product_set()
aus.
Übergeben Sie die Produktgruppen-ID und den Anzeigenamen als Argumente.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - DISPLAY_NAME: Ein anzuzeigender Stringname Ihrer Wahl.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
JSON-Text der Anfrage:
{ "displayName": "display-name" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Die Ausgabe sieht in etwa so aus: Sie können die Produktgruppen-ID verwenden (in diesem Fall b6d809615b6dd675
), um andere Vorgänge für die Produktgruppe auszuführen.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Antwort
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. Produkt erstellen
Nachdem Sie eine Produktgruppe erstellt haben, erstellen Sie im nächsten Schritt ein Produkt. Dazu führen Sie die folgende Anfrage aus.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - DISPLAY_NAME: Ein anzuzeigender Stringname Ihrer Wahl.
- PRODUCT_DESCRIPTION: Eine Stringbeschreibung Ihrer Wahl.
- product-category: Eine gültige Produktkategorie. Derzeit sind folgende Produktkategorien verfügbar:
homegoods-v2
,apparel-v2
,toys-v2
,packagedgoods-v1
undgeneral-v1
. productLabels
: Ein oder mehrere Schlüssel/Wert-Paare, die einem Produkt zugeordnet sind. Jedem KEY_STRING muss ein VALUE_STRING zugeordnet sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products
JSON-Text der Anfrage:
{ "displayName": "display-name", "description": "product-description", "productCategory": "product-category", "productLabels": [ { "key": "key-string", "value": "value-string" } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Beispiel für einen Anfragetext:
{ "displayName": "sample-product-1234", "description": "Athletic shorts", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "color", "value": "blue" } ] }
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Die Ausgabe sieht in etwa so aus: Sie können die Produkt-ID (in diesem Fall 37b9811d308c4e42
) verwenden, um weitere Vorgänge für das Produkt auszuführen.
{ "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
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Antwort
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. Produkt zu einer Produktgruppe hinzufügen
Nachdem Sie eine Produktgruppe und ein Produkt erstellt haben, können Sie im nächsten Schritt das Produkt der Produktgruppe hinzufügen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
- PRODUCT_NAME: der vollständige Ressourcenname des Produkts.
Format:
projects/PROJECT_ID/locations/LOCATION_ID/products/PRODUCT_ID
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct
JSON-Text der Anfrage:
{ "product": "product-name" }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{}
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Antwort
Product added to product set.
4. Produkt aktualisieren
Mit den Aktualisierungsmethoden können Sie ein Produkt oder eine Produktgruppe nach dem Erstellen aktualisieren. Dieses Beispiel enthält eine Produktaktualisierung, bei der die Labels geändert werden:
Befehlszeile
Wenn Sie eine PATCH
-Anfrage senden, werden alle vorherigen Felder und deren Werte gelöscht, mit Ausnahme des Felds productCategory
, das unveränderlich ist.
Senden Sie alle erforderlichen Felder mit Werten, wenn Sie die PATCH
-Aktualisierungsanfrage stellen.
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_ID: die ID des Produkts, das mit einem Referenzbild verknüpft ist. Diese ID wird entweder zufällig festgelegt oder vom Nutzer bei der Erstellung des Produkts angegeben.
- display-name: Ein anzuzeigender Stringname Ihrer Wahl. Dieser kann mit dem vorherigen Anzeigenamen oder mit einem aktualisierten Wert übereinstimmen.
- description: Eine Stringbeschreibung Ihrer Wahl. Dieser kann mit dem vorherigen Anzeigenamen oder mit einem aktualisierten Wert übereinstimmen. Lassen Sie das Feld
description
und den Wert weg, wenn Sie es nicht benötigen. productLabels
: Ein oder mehrere Schlüssel/Wert-Paare, die einem Produkt zugeordnet sind. Jedem KEY_STRING muss ein VALUE_STRING zugeordnet sein.
HTTP-Methode und URL:
PATCH https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
JSON-Text der Anfrage:
{ "displayName": "display-name", "description": "description", "productLabels": [ { "key": "key-string", "value": "value-string" }, { "key": "key-string", "value": "value-string" } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "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
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Antwort
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. Referenzbild für ein Produkt erstellen
Wenn Sie ein Referenzbild für ein einzelnes Produkt erstellen, kann die Vision API-Produktsuche nach dem Bild suchen, nachdem es indexiert wurde. Ein Produkt kann mehrere Referenzbilder haben, vor allem, wenn Sie eine bessere Übereinstimmungsqualität wünschen.
Sie können einem Produkt jederzeit ein neues Referenzbild hinzufügen.
Beim Erstellen eines Referenzbildes lassen sich Koordinaten der Begrenzungspolygone einbeziehen. Ein Begrenzungspolygon gibt einen Bereich im Referenzbild an, der von Interesse ist. Wenn Sie z. B. ein Referenzbild für ein Produkt erstellen, bei dem es sich um eine Jacke handelt, können Sie die Koordinaten für die Jacke im Argument "Begrenzungspolygon" angeben. Wenn anschließend nach Produktübereinstimmungen gesucht wird, berücksichtigt das System nur die Jacke. Hinweis: Beim Indexieren können Sie mehrere Begrenzungspolygone bereitstellen. Beim Abfragen unterstützt die API jedoch nur ein einzelnes Polygon.
Mit der Objektlokalisierung der Vision API lassen sich die Koordinaten eines Begrenzungspolygons ganz einfach abrufen. Weitere Informationen zur Objektlokalisierung finden Sie unter Mehrere Objekte erkennen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_ID: die ID des Produkts, das mit einem Referenzbild verknüpft ist. Diese ID wird entweder zufällig festgelegt oder vom Nutzer bei der Erstellung des Produkts angegeben.
- CLOUD_STORAGE_IMAGE_URI: Der Pfad zu einer gültigen Bilddatei in einem Cloud Storage-Bucket. Sie müssen zumindest Leseberechtigungen für die Datei haben.
Beispiele:
gs://storage-bucket/filename.jpg
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
JSON-Text der Anfrage:
{ "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 } ] } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Die Ausgabe sieht in etwa so aus: In der Beispielanfrage wurde ein einzelnes boundingPoly
im Bild angegeben. Die Eckpunkte für den Begrenzungsrahmen sind nicht normalisiert. Die Eckpunktwerte sind die tatsächlichen Pixelwerte und nicht relativ zum Originalbild und skaliert von 0 bis 1. Diese Eckpunkte haben die folgenden Werte: [(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
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Antwort
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 }
Schritt 2: Nach übereinstimmenden Produkten suchen
Über diese Schnittstelle können Sie den von Ihnen erstellten Produktkatalog abfragen. Dazu verwenden Sie ein neues Bild als Eingabe und suchen nach dem Produkt, das am ehesten mit dem Bild übereinstimmt.
Ähnlich wie beim Erstellen eines Referenzbildes können Sie auch bei der Suche nach übereinstimmenden Bildern Koordinaten von Begrenzungspolygonen angeben. Ein Begrenzungspolygon gibt den Bereich im Quell-Image an, für den Sie nach Übereinstimmungen suchen möchten. Wenn Ihr Quell-Image beispielsweise sowohl ein Kleid als auch einen Geldbeutel enthält und Sie nur nach Übereinstimmungen für das Kleid suchen möchten, können Sie die Koordinaten für das Begrenzungspolygon nur für den Bereich des Bildes angeben, der das Kleid enthält. Wenn kein Begrenzungspolygon angegeben ist, ermittelt die API standardmäßig das größte Begrenzungspolygon und fragt es automatisch ab.
Mit der Objektlokalisierung der Vision API lassen sich die Koordinaten eines Begrenzungspolygons ganz einfach abrufen. Weitere Informationen zur Objektlokalisierung finden Sie unter Mehrere Objekte erkennen. Sie können ein vollständiges Bild durch Angabe eines Begrenzungspolygons für das gesamte Bildfeld explizit abfragen: [(0, 0), (0, 1), (1, 1), (1, 0)].
Die Anfrage gibt eine API-Antwort zurück, die das am besten passende Produkt für ein Bild mit der Bewertung und dem übereinstimmenden Bild enthält. Dieses Bild wird unter Verwendung des höchsten Konfidenzwerts zurückgegeben.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- BASE64_ENCODED_IMAGE: Die Base64-Darstellung (ASCII-String) der Binärbilddaten. Dieser String sollte in etwa so aussehen:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
Feldspezifische Hinweise:
features.maxResults
– Maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.imageContext.productCategories
– Produktkategorie, in der gesucht werden soll. Derzeit können Sie nur eine Produktkategorie angeben (Haushaltswaren, Bekleidung, Spielzeug, abgepackte Waren und allgemein).imageContext.filter
(optional): ein Ausdruck (oder mehrere Ausdrücke) zum Filtern nach dem Produktlabel als Schlüssel/Wert-Paar(e). Format: "key
=value
". Das Filtern von Schlüssel/Wert-Paaren kann mit AND- oder OR-Ausdrücken verknüpft werden: "color
=blue
ANDstyle
=mens
", oder "color
=blue
ORcolor
=black
". Bei Verwendung des OR-Ausdrucks müssen alle Schlüssel im Ausdruck gleich sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON-Text der Anfrage:
{ "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" } } } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Der JSON-Antwortcode enthält die folgenden zwei Ergebnistypen:
productSearchResults
: enthält eine Liste übereinstimmender Produkte zum gesamten Bild. In der Beispielantwort lauten die übereinstimmenden Produkte: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: enthält die Koordinaten der Begrenzungsrahmen und übereinstimmende Objekte für jedes der im Bild erkannten Produkte. In der folgenden Antwort findet sich nur ein erkanntes Produkt, gefolgt von übereinstimmenden Produkten in der Beispielproduktgruppe: product_id65, product_id35, product_id34, product_id93, product_id62.
Beachten Sie, dass es bei den beiden Ergebnistypen zwar Überschneidungen gibt, aber auch Unterschiede auftreten können (z. B. in der Antwort product_id32 und product_id93).
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Beispielantwort für Kleidungsstücke
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
Mit einem Label suchen
Das folgende Suchbeispiel enthält einen Farbfilter.
Anfrage
Zum Senden einer Suchanfrage führen Sie die folgende Anfrage mit der Methode get_similar_products_file()
oder get_similar_products_uri()
aus. Produktgruppen-ID, lokaler Bilddateipfad und Filter werden als Argumente übergeben. Dieses Eingabebild ist auch in "resources/input/" vorhanden.
Python
python product_search.py get_similar_products_file "12000002" "D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg" "color=white"
Antwort
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