Este tutorial demonstra como criar um conjunto de produtos que contém um grupo de produtos com imagens de referência para esses produtos. O tutorial mostra aos utilizadores como criar um conjunto de produtos através da importação online (individual). Depois de o conjunto de produtos ter sido indexado, pode consultar o conjunto de produtos através da API Vision Product Search.
Neste tutorial, vai aprender a:
- Crie um conjunto de produtos através da importação online (individual)
- Crie um produto individual
- Adicione um produto a um conjunto de produtos
- Atualize um produto
- Crie uma imagem de referência
- Pesquise produtos semelhantes
Antes de começar
Antes de começar este tutorial, certifique-se de que instalou as bibliotecas cliente> adequadas, ativou a faturação e a API para o seu projeto e configurou corretamente a autenticação.
Importe bibliotecas
Para usar a API Vision Product Search, importe os seguintes módulos após transferir e instalar a biblioteca cliente:
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Executar a aplicação
Passo 1: crie um catálogo de produtos
Os utilizadores têm duas opções para criar um catálogo de produtos: através da importação em lote com um ficheiro CSV, que permite importar um catálogo de produtos completo numa única chamada API, ou através da importação online, que lhe oferece controlo sobre os seus conjuntos de produtos e permite a gestão de um recurso ou uma relação de cada vez. Isto significa, principalmente, a criação individual de conjuntos de produtos, produtos e imagens de referência. A importação online também lhe permite atualizar incrementalmente um catálogo de produtos que já criou através da importação em lote.
Neste tutorial, vai usar a importação online. Consulte o Início rápido para ver um exemplo de importação em lote com um CSV.
Importação online (individual)
1. Crie um conjunto de produtos
Crie um conjunto de produtos vazio, que é um contentor simples para um grupo de produtos.
Pedido
Crie um conjunto de produtos vazio e atribua-lhe o nome "PS_CLOTH-SHOE_070318"
executando o seguinte pedido através do método create_product_set()
.
Transmita o ID do conjunto de produtos e o nome a apresentar como argumentos.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: um nome a apresentar de string à sua escolha.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets
Corpo JSON do pedido:
{ "displayName": "display-name" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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 o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
Deverá ver uma saída semelhante à seguinte. Pode usar o ID do conjunto de produtos (b6d809615b6dd675
, neste caso) para realizar outras operações no conjunto de produtos.
{ "name": "projects/project-id/locations/location-id/productSets/b6d809615b6dd675", "displayName": "new-product-set" }
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Resposta
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. Crie um produto
Depois de criar um conjunto de produtos, o passo seguinte é criar um produto. Crie um produto executando o seguinte pedido.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - DISPLAY_NAME: um nome a apresentar de string à sua escolha.
- PRODUCT_DESCRIPTION: uma descrição de string à sua escolha.
- product-category: uma categoria de produtos válida. As seguintes categorias de produtos estão atualmente disponíveis:
homegoods-v2
,apparel-v2
,toys-v2
,packagedgoods-v1
egeneral-v1
. productLabels
: um ou mais pares de chave-valor associados a um produto. Cada KEY_STRING tem de ter um VALUE_STRING associado.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products
Corpo JSON do pedido:
{ "displayName": "display-name", "description": "product-description", "productCategory": "product-category", "productLabels": [ { "key": "key-string", "value": "value-string" } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Exemplo de corpo do pedido:
{ "displayName": "sample-product-1234", "description": "Athletic shorts", "productCategory": "apparel-v2", "productLabels": [ { "key": "style", "value": "womens" }, { "key": "color", "value": "blue" } ] }
Se o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
Deverá ver uma saída semelhante à seguinte. Pode usar o ID do produto
(37b9811d308c4e42
, neste caso) para realizar outras operações no produto.
{ "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
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Resposta
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. Adicione um produto a um conjunto de produtos
Depois de criar um conjunto de produtos e um produto, pode adicionar o produto ao conjunto de produtos.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual quer executar a operação.
- PRODUCT_NAME: o nome completo do recurso do produto.
Formato:
projects/PROJECT_ID/locations/LOCATION_ID/products/PRODUCT_ID
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets/product-set-id:addProduct
Corpo JSON do pedido:
{ "product": "product-name" }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber uma resposta JSON semelhante à seguinte:
{}
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Resposta
Product added to product set.
4. Atualize um produto
Se precisar de atualizar um produto ou um conjunto de produtos depois de ter sido criado, pode usar os nossos métodos de atualização. Este exemplo mostra uma atualização de produto em que as etiquetas são alteradas:
Linha de comandos
Quando envia um pedido PATCH
, todos os campos anteriores e os respetivos valores são apagados, exceto o campo productCategory
, que é imutável.
Envie todos os campos de que precisa com valores quando fizer o pedido de atualização PATCH
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: o ID do produto que está associado a uma imagem de referência. Este ID é definido aleatoriamente ou especificado pelo utilizador no momento da criação do produto.
- display-name: um nome a apresentar de string à sua escolha. Pode ser igual ao nome a apresentar anterior ou um valor atualizado.
- description: uma descrição de string à sua escolha. Pode ser igual ao nome a apresentar anterior ou um valor atualizado. Omita o campo
description
e o valor se não precisar deles. productLabels
: um ou mais pares de chave-valor associados a um produto. Cada KEY_STRING tem de ter um VALUE_STRING associado.
Método HTTP e URL:
PATCH https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id
Corpo JSON do pedido:
{ "displayName": "display-name", "description": "description", "productLabels": [ { "key": "key-string", "value": "value-string" }, { "key": "key-string", "value": "value-string" } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Deve receber uma resposta JSON semelhante à seguinte:
{ "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
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Resposta
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. Crie uma imagem de referência do produto
A criação de uma imagem de referência para um produto individual permite que a API Vision Product Search pesquise o produto por esta imagem depois de ser indexada. Pode ter várias imagens de referência num produto, especialmente se quiser uma melhor qualidade de correspondência.
Pode adicionar uma nova imagem de referência a um produto em qualquer altura.
Quando cria uma imagem de referência, tem a opção de incluir coordenadas de polígono delimitador. Um polígono delimitador identifica uma área de interesse na imagem de referência. Por exemplo, se criar uma imagem de referência para um produto que seja um casaco, pode fornecer as coordenadas do casaco no argumento bounding_poly e o sistema só considera o casaco quando procura correspondências de produtos. Nota: pode fornecer vários polígonos de delimitação no momento da indexação, embora, no momento da consulta, a API suporte apenas um único polígono de delimitação.
Uma forma conveniente de obter as coordenadas do polígono delimitador de uma imagem é usar a localização de objetos da API Vision. Para mais informações sobre a localização de objetos, consulte o artigo Detetar vários objetos.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_ID: o ID do produto que está associado a uma imagem de referência. Este ID é definido aleatoriamente ou especificado pelo utilizador no momento da criação do produto.
- CLOUD_STORAGE_IMAGE_URI: o caminho para um ficheiro de imagem válido num contentor do Cloud Storage. Tem de ter, pelo menos, privilégios de leitura para o ficheiro.
Exemplo:
gs://storage-bucket/filename.jpg
Método HTTP e URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Corpo JSON do pedido:
{ "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 } ] } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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 o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
Deverá ver uma saída semelhante à seguinte. O pedido de exemplo especificou um único
boundingPoly
na imagem. Os vértices da caixa limitadora não são normalizados. Os valores dos vértices são os valores de píxeis reais e não são relativos à imagem original e são dimensionados de 0 a 1. Estes vértices têm os seguintes
valores: [(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
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Resposta
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 }
Passo 2: pesquise produtos correspondentes
Esta interface permite-lhe consultar o catálogo de produtos que criou através da introdução de uma nova imagem e pesquisar o produto com a melhor correspondência.
Semelhante à criação de uma imagem de referência, quando pesquisa imagens correspondentes, tem a opção de incluir coordenadas de polígono delimitador. Um polígono delimitador identifica a área de interesse na imagem de origem para a qual quer encontrar correspondências. Por exemplo, se a imagem de origem contiver um vestido e uma carteira, e quiser encontrar correspondências apenas para o vestido, pode identificar as coordenadas do polígono delimitador para a região da imagem que contém apenas o vestido. Por predefinição, se não for especificado nenhum polígono delimitador, a API determina o maior polígono delimitador e consulta-o automaticamente.
Uma forma conveniente de obter as coordenadas do polígono delimitador de uma imagem é usar a localização de objetos da API Vision. Para mais informações sobre a localização de objetos, consulte o artigo Detetar vários objetos. Por exemplo, pode consultar explicitamente uma imagem completa especificando um polígono delimitador da caixa de imagem inteira: [(0, 0), (0, 1), (1, 1), (1, 0)].
O pedido devolve uma resposta da API que inclui o produto com a melhor correspondência para uma imagem com a pontuação e a imagem correspondente. Esta imagem é devolvida com o valor de confiança mais elevado.
REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- BASE64_ENCODED_IMAGE: a representação base64 (string ASCII) dos dados da imagem binária. Esta string deve ser semelhante à
seguinte string:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: o ID do seu Google Cloud projeto.
- LOCATION_ID: um identificador de localização válido. Os identificadores de localização válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual quer executar a operação.
Considerações específicas do campo:
features.maxResults
: o número máximo de resultados a devolver.imageContext.productCategories
- A categoria de produtos na qual pesquisar. Atualmente, só pode especificar uma categoria de produtos (artigos para o lar, vestuário, brinquedos, bens embalados e geral).imageContext.filter
- (Opcional) Uma expressão de filtragem de chave-valor (ou várias expressões) para a etiqueta do produto. Formato: "key
=value
". Os pares de chave-valor de filtragem podem ser associados com expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Se usar a expressão OR, todas as chaves na expressão têm de ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON do pedido:
{ "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" } } } ] }
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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 o pedido for bem-sucedido, o servidor devolve um código de estado HTTP 200 OK
e a resposta no formato JSON.
O JSON de resposta inclui os dois seguintes tipos de resultados:
productSearchResults
- Contém uma lista de produtos correspondentes para toda a imagem. Na resposta de exemplo, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
- Contém as coordenadas da caixa delimitadora e os artigos correspondentes para cada produto identificado na imagem. Na resposta seguinte, existe apenas um produto identificado, seguido dos produtos correspondentes no conjunto de produtos de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Tenha em atenção que, embora exista uma sobreposição nos dois tipos de resultados, também podem existir diferenças (por exemplo, product_id32 e product_id93 na resposta).
Go
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Go Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Java Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Node.js Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente da API Vision Product Search, consulte as bibliotecas cliente da API Vision Product Search. Para mais informações, consulte a documentação de referência da API Python Product Search da API Vision.
Para se autenticar na API Vision Product Search, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, aceda à documentação de referência da API Vision Product Search para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas de cliente e, em seguida, visite a documentação de referência da API Vision Product Search para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da API Vision Product Search para Ruby.
Exemplo de resposta de vestuário
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
Pesquisar com uma etiqueta
O exemplo de pesquisa seguinte inclui um filtro com base na cor.
Pedido
Faça um pedido de pesquisa executando o seguinte pedido com o método get_similar_products_file()
ou get_similar_products_uri()
. O ID do conjunto de produtos, o caminho do ficheiro de imagem local e o filtro são transmitidos como argumentos. Esta imagem de entrada também está presente em "resources/input/".
Python
python product_search.py get_similar_products_file "12000002" "D:/product/final/images-20180618T073733Z-001/images/469355b570ba11e88ff2d20059124800.jpg" "color=white"
Resposta
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