El modelo de reconocimiento de productos te ayuda a reconocer y comprender qué productos se encuentran en la imagen proporcionada o en el estante.
Este modelo puede servir como el principal componente de IA para analizar e interpretar los datos de las imágenes de productos en las tiendas minoristas. Por ejemplo, puedes usar este modelo en imágenes de estantes que capturan cámaras locales o dispositivos móviles.
Casos de uso del Reconocedor de etiquetas y el Reconocedor de productos
El modelo de reconocimiento de productos y los modelos de reconocimiento de etiquetas pueden servir como los principales componentes básicos de la IA para analizar e interpretar los datos de imágenes sobre los productos y las etiquetas que se encuentran en las tiendas minoristas, como las imágenes de escaneo de estantes que capturan las cámaras instaladas o los dispositivos o plataformas móviles.
Los modelos de reconocimiento de productos y de etiquetas incorporan varias capacidades de modelado y datos de la IA de Google para ayudar a los minoristas o socios técnicos a resolver problemas clave para comprender el estante de venta minorista, incluidos los siguientes:
- Detectar, reconocer y, por lo tanto, comprender qué productos hay en la imagen o en el estante
- Detectar, reconocer y analizar las etiquetas (por ejemplo, el precio o cualquier otra etiqueta de texto) según el esquema de extracción de entidades de par clave-valor definido por el usuario
En particular, se incluyen varios modelos diferenciadores de la IA de Google en la solución de verificación de la biblioteca para respaldar la resolución de problemas de estos casos de uso, como los siguientes:
- Modelos de detección de productos (Google los entrenó previamente, pero puedes personalizarlos).
- Modelo de incorporación visual de miniaturas de productos, que convierte una imagen de miniatura de producto en una representación numérica del espacio de atributos.
- Modelo de OCR de Google, que extrae todo el texto visible en la imagen
- El modelo de extracción de entidades de Google (que puedes personalizar), que convierte los textos sin procesar en entidades con nombre de par clave-valor definido por el usuario
Además de estos modelos de IA de Google, la solución de verificación de bibliotecas también aprovecha la gran base de datos de información de productos de Google. Los datos de productos de esta base de datos incluyen la identidad del GTIN o UPC, la marca, el título y las descripciones en varios idiomas, el logotipo y las imágenes del producto con varias variaciones de empaque. La base de datos de productos con el modelo de incorporación visual de miniaturas de productos mencionado anteriormente permite que el modelo de reconocedor de productos pueda reconocer muchos productos de inmediato.
Por ejemplo, dada una imagen de la biblioteca capturada como se muestra a continuación, el objetivo de la solución de verificación de bibliotecas es el siguiente:
- Detecta y localiza todas las cajas de artículos del producto (visibles, no muy ocluidas) en la imagen y reconoce la identidad del producto de cada caja de artículo del producto individual a nivel del GTIN o UPC.
- Detecta y localiza todos los cuadros de etiquetas (visibles) en la imagen, reconoce todas las cadenas de texto en la etiqueta y, luego, intenta analizar el texto en el esquema de extracción de entidades de pares clave-valor definido por el usuario, como la descripción del artículo del producto y el valor del precio.
Las dos funciones principales de IA que habilitan estas soluciones son el modelo de Product Recognizer y el modelo de Tag Recognizer, sobre los que proporcionaremos más detalles en las siguientes secciones. Para cada una de estas dos APIs que proporcionan principalmente los servicios de inferencia de imágenes, hay uno o más componentes en cada una que puedes personalizar. Primero, describiremos la ruta de inferencia del uso de la API y, luego, proporcionaremos una breve descripción de cómo puedes personalizar los componentes involucrados, ya sea a través de la configuración del usuario o a través del entrenamiento de modelos que realices.
Funcionalidad del identificador de productos
Este modelo reconoce la identidad de los productos individuales a nivel del código comercial global de artículo (GTIN) o del código universal de producto (UPC). En el Reconocedor de productos, se incluyen varios modelos de IA de Google que diferencian para potenciar la resolución de problemas de estos casos de uso, como los siguientes:
- El modelo de incorporación visual de productos, que convierte una imagen de producto en una representación numérica del espacio de atributos.
- La tecnología de OCR de Google, que extrae todo el texto visible en la imagen.
- La base de datos de productos de Google, que se usa en combinación con el modelo de incorporación visual de miniaturas de productos, permite que el modelo de reconocedor de productos reconozca muchos productos de inmediato.
Ejemplo de objeto JSON de salida
{ "imageUri": "gs://test_bucket/test_image.jpg", "productRecognitionAnnotations": [ { "detectedText": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage", "recognitionResults": [ { "confidence": 0.9420832, "productMetadata": { "brand": "Bolthouse Farms", "gtins": [ "00071464260804" ], "locale": "en-US", "title": "Bolthouse Farms Perfectly Protein Tea & Soy Beverage, Vanilla Chai Tea - 52 fl oz" }, } ] } ] }
Conceptos de la API
Se ofrecen seis recursos de API para ayudar a crear el catálogo de productos, la administración de conjuntos de datos de productos, la compilación de índices y la implementación del servicio de reconocimiento de productos. Se describen de la siguiente manera:
Catálogo: Es un recurso raíz que representa el contenedor de todos los productos que ofrece el minorista.
Producto: Representa un producto que ofrece un comercio. Product
es un recurso secundario de Catalog
.
ProductImage: Es la imagen que representa una vista de un producto. ProductImage
es un recurso secundario de Product
.
ProductSet: Es un contenedor de mayor nivel de detalle para organizar y agrupar productos en el mismo Catalog
. Un ProductSet
puede contener uno o muchos Product
, pero no es "propietario" de los Product
que contiene, sino que mantiene un "vínculo" con ellos.
ProductRecognitionIndex: Contiene una lista de incorporaciones de imágenes que se usan para los algoritmos de reconocimiento de productos. ProductRecognitionIndex
se puede crear desde todo el Catalog
o desde un ProductSet
(un subconjunto de los Product
de Catalog
).
Extremo: Es una posición que contiene todas las configuraciones necesarias para realizar la inferencia de reconocimiento de productos o de etiquetas. Para el reconocimiento de productos, es necesario especificar el modelo de detección de productos y, luego, implementar un ProductRecognitionIndex
. Para el reconocimiento de etiquetas, es necesario especificar los modelos de detección de etiquetas y de análisis de entidades de etiquetas.
Configuración del entorno
En esta sección, se describe cómo interactuar con la API RESTful de Store Vision AI.
API_ENDPOINT=visionai.googleapis.com
PROJECT_ID=your project ID
Todos los métodos create
requieren especificar de forma explícita el nombre o el ID del recurso que se creará. Puedes usar un identificador de cadena significativo, por ejemplo, "product-ABC", o un identificador generado de forma aleatoria, por ejemplo, un UUID.
Para otorgarle a un rol de persona el acceso de editor para usar la API de Store Vision, ejecuta el siguiente comando de vinculación de IAM:
gcloud projects add-iam-policy-binding PROJECT_ID --member='user:USER_ACCOUNT' --role='roles/visionai.editor'
Para otorgarle a una cuenta de servicio el acceso de editor, usa el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:SERVICE_ACCOUNT' --role='roles/visionai.editor'
Obtén más información sobre la vinculación de IAM.
Recorrido del usuario del Reconocedor de productos
- Crea un catálogo.
- Importa productos y, de manera opcional,
ProductImages
enCatalog
. - Consulta y modifica
Product
yProductImages
. De manera opcional, crea unProductSet
para organizar la lista de productos con mayor nivel de detalle. - Crea un
Index
, ya sea desde todo elCatalog
o desde unProductSet
. - Crea un
Endpoint
con la configuración de reconocimiento de productos deseada y, luego, implementa unIndex
en él. - Realiza
BatchAnalyze
con la funciónProductRecognition
. En el backend, el sistema identificará los productos de cada imagen de entrada y recuperará los K productos similares principales del índice especificado con indicadores visuales y de texto de OCR.
Administración de recursos de API (Catálogo y conjunto de índices)
Catálogo
Crear catálogo
- CATALOG_ID=El ID de tu catálogo.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs?retail_catalog_id=CATALOG_ID
Resultado de ejemplo
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": false
}
Operación de extracción hasta que se complete
- OPERATION_ID=Tu operación de salida, por ejemplo, operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/operations/OPERATION_ID
Resultado de ejemplo
{
"name": "projects/cloud-store-vision-test/locations/us-central1/operations/operation-1655157982362-5e15b7f95fa6f-d30364c6-dc3a3714",
"done": true
}
ImportProduct
Existen dos formatos de importación admitidos:
- TXT: Cada línea es el GTIN de un producto que se importará.
- JSONL: Cada línea es un formato JSON de RetailProductIoFormat, por ejemplo,
{"retailProduct":{"name":"00040094314034","gtins":["00040094314034"]},"retailProductImages":[{"name":"1","gcsUri":"gs://shelfchecking-integration-test-data/products-data/00040094314034/1.jpg"}]}
{"retailProduct": {"name":"00123", "thirdPartyIds": {"id": "test-id", "owner": "test-owner"}}}
Consulta la referencia de la API para obtener más detalles sobre RetailProductIoFormat. Actualmente, admitimos la importación de un máximo de 10,000 productos por operación de ImportProduct.
Ten en cuenta también que el atributo “name” dentro de “retailProductImages” solo debe ser único en el alcance del recurso “retailProduct” superior, lo que significa que puede haber 2 “retailProductImages” con el mismo “name” siempre que pertenezcan a recursos “retailProduct” diferentes.
- IMPORT_FILE_URI=El URI de Cloud Storage de tu archivo de importación, por ejemplo, gs://mybucket/my_import_file.jsonl
- IMPORT_FORMAT=El formato de tu archivo de importación, ya sea FORMAT_JSONL o FORMAT_TXT
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID:importRetailProducts \
-d '{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"format": "IMPORT_FORMAT"
}'
List Catalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs
GetCatalog
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
DeleteCatalog
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID
Producto
CreateProduct con GTIN
Admitimos los formatos GTIN-8, GTIN-13, GTIN-14 y UPC(también conocido como GTIN-12). Obtén más información sobre el formato GTIN aquí.
- PRODUCT_ID=Tu ID de producto
- GTIN=gtin de tu producto, por ejemplo, 50735854797459, 00040094314034
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '{"gtins": "GTIN"}'
CreateProduct con ID de terceros
- PRODUCT_ID=Tu ID de producto
- THIRD_PARTY_ID=ID de terceros
- OWNER=La entidad propietaria del identificador de terceros
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts?retail_product_id=PRODUCT_ID \
-d '
{
"third_party_ids": {
"id": "THIRD_PARTY_ID",
"owner": "OWNER",
}
}'
ListProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts
GetProducts
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
DeleteProduct
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID
ProductImage
CreateProductImage
- PRODUCT_IMAGE_ID=El ID de la imagen de tu producto
- IMAGE_GCS_URI=El URI de Cloud Storage de tu imagen, por ejemplo, gs://mybucket/my_img.jpg
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages?retail_product_image_id=PRODUCT_IMAGE_ID \
-d '{
"source_type": "SOURCE_TYPE_HAND_HELD_CAMERA",
"gcs_uri": "IMAGE_GCS_URI"
}'
ListProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages
GetProductImages
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
DeleteProductImage
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProducts/PRODUCT_ID/retailProductImages/PRODUCT_IMAGE_ID
ProductSet
CreateProductSet
- PRODUCT_SET_ID=El ID de tu conjunto de productos
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{}' https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets?retail_product_set_id=PRODUCT_SET_ID
ListProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets
GetProductSet
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
AddProductsToProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:add \
-d '{"product_ids": "PRODUCT_ID"}'
RemoveProductsFromProductSet
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID:remove \
-d '{"product_ids": "PRODUCT_ID"}'
DeleteProductSet
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductSets/PRODUCT_SET_ID
ProductRecognitionIndex
Crea ProductRecognitionIndex
Existen dos maneras de crear un ProductRecognitionIndex, ya sea desde un catálogo, que usará todo lo que contiene, o desde un ProductSet, que solo usará los productos y las imágenes de productos asociados.
- INDEX_ID=Tu ID de índice
- COVERAGE_CSV_OUTPUT_DIRECTORY=<Ubicación de Cloud Storage del directorio en el que se escribirá el archivo de cobertura del índice
# Create from Catalog
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID
# Create from Catalog and output index coverage CSV file to a Cloud Storage directory.
# This API method is especially useful when you want to understand the
# actual number of images used to construct the index per imported GTIN, and
# the image can be sourced from the Google Product database, your own importing,
# and other means (such as with the Google Data Labeling service.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes?retail_product_recognition_index_id=INDEX_ID&coverage_output.output_uri_prefix=COVERAGE_CSV_OUTPUT_DIRECTORY"
# Create from ProductSet, by adding the following to the previous Curl command
-d '{"retail_product_set": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductSets/PRODUCT_SET_ID"}'
Cómo obtener ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
List ProductRecognitionIndex
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes
Borra ProductRecognitionIndex
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailCatalogs/CATALOG_ID/retailProductRecognitionIndexes/INDEX_ID
Extremo
Crear extremos
- ENDPOINT_ID=El ID de tu extremo
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints?retail_endpoint_id=ENDPOINT_ID -d '{
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}'
DeployProductRecognitionIndex
Un extremo solo se puede implementar con un ProductRecognitionIndex, pero un ProductRecognitionIndex se puede implementar en varios extremos.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:deployRetailProductRecognitionIndex \
-d '{
"retail_product_recognition_index": "projects/PROJECT_ID/locations/us-central1/retailCatalogs/'CATALOG_ID'/retailProductRecognitionIndexes/INDEX_ID"
}'
GetEndpoint
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
ListEndpoints
curl -sS -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints
UndeployProductRecognitionIndex
La anulación de la implementación solo quitará el ProductRecognitionIndex implementado del extremo de llamada actual y no afectará a otros extremos si este ProductRecognitionIndex también se implementa en otros.
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:undeployRetailProductRecognitionIndex
DeleteEndpoint
curl -sS -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID
Inferencia de análisis por lotes (reconocimiento de productos)
Ejemplo de archivo de entrada en gs://my-bucket/input-file.csv
:
gs://my-bucket/my-image1.jpg
gs://my-bucket/my-image2.jpg
gs://my-bucket/my-image3.jpg
- INPUT_FILE_URI=URI de Cloud Storage de tu archivo de entrada> Cada línea del archivo de entrada es solo un URI de Cloud Storage de la imagen que se procesará, por ejemplo, gs://mi-bucket/mi-imagen.jpg
- OUTPUT_URI_PREFIX=Prefijo de URI de Cloud Storage para el archivo de resultados de salida, por ejemplo, gs://mi-bucket/mi-dir-de-salida
curl -sS -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://visionai.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/us-central1/retailEndpoints/ENDPOINT_ID:batchAnalyze -d '{
"gcsSource": {
"uris": ["INPUT_FILE_URI"]
},
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
}
],
"outputGcsDestination": {
"outputUriPrefix": "OUTPUT_URI_PREFIX"
}
}'
"features": [
{
"type": "TYPE_PRODUCT_RECOGNITION",
"productRecognitionConfig": {
"recognitionConfidenceThreshold": 0.4
}
}
],
También hay más campos que puedes establecer y configurar en productRecognitionConfig
, que es un objeto RetailProductRecognitionConfig
.
Consulta la descripción del recurso en la referencia de la API para obtener más detalles.
Referencia de la API
Recurso: projects.locations.retailCatalogs
Representación JSON
{
"name": string,
"displayName": string,
"createTime": string,
"updateTime": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso de RetailCatalog. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible de RetailCatalog. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. Marca de tiempo de la creación de este RetailCatalog. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
resourceState |
enum |
Solo salida. Estado de RetailCatalog. |
etiquetas |
map (key: string, value: string) |
Las etiquetas con metadatos definidos por el usuario para organizar tu RetailCatalog. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
Método: projects.locations.retailCatalogs.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailCatalog
.
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de RetailCatalog
.
Método: projects.locations.retailCatalogs.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailCatalog . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de RetailCatalog
.
Método: projects.locations.retailCatalogs.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/us-central1}/retailCatalogs
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se realiza correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura: Representación JSON
{
"retailCatalogs": [
{
object (RetailCatalog)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.delete
Solicitud HTTP
BORRA https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailCatalog . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Método: projects.locations.retailCatalogs.importRetailProducts
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/us-central1/retailCatalogs/*}:importRetailProducts
Parámetros de ruta de acceso
nombre | string | Obligatorio. Nombre del recurso RetailCatalog . |
Cuerpo de la solicitud
Representación JSON
{
"gcsSource": { object(GcsSource) },
"format": enum(Format)
}
Campos
gcsSource | objeto | Obligatorio. La ubicación de Cloud Storage para el contenido de entrada.
Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se importará en un lote. Extensiones de archivo compatibles: 1.
Un archivo JSONL Cada línea es un formato JSON de RetailProductIoFormat. 2. Un archivo TXT. Cada línea es el GTIN de un producto que se importará. |
formato | enum | Obligatorio. El formato de archivo de importación. |
Formatea los valores de ENUM
FORMAT_UNSPECIFIED | No se debe usar. |
---|---|
FORMAT_TXT | Formato TXT. |
FORMAT_JSONL | Formato JSONL. |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Recurso: projects.locations.retailProducts
Representación JSON
{
"name": string,
"gtins": [string],
"normalizedGtins": [string],
"thirdPartyIds": [ { object(ThirdPartyId) }],
"locale": string,
"brand": string,
"title": string,
"productUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso de RetailProductImage. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible de RetailProductImage. |
sourceType |
enum |
Opcional. Tipo de fuente |
gcsUri |
Cadena |
Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe establecer, excepto cuando Google proporciona la imagen, por ejemplo, cuando el tipo de fuente es SOURCE_TYPE_GOOGLE. |
resourceState |
enum |
Solo salida. Estado de RetailProductImage. |
etiquetas |
map (key: string, value: string) |
Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de creación. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
Presentación de JSON de RetailThirdPartyId
{
"id": string,
"owner": string
}
Campos
id | string | Es el ID de terceros que usa el minorista o el fabricante (por ejemplo, SKU o MPN). |
propietario | string | Es la entidad que “posee” el identificador de terceros, por ejemplo, el fabricante o el minorista que vende este producto. |
Método: projects.locations.retailCatalogs.retailProducts.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailProduct
.
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de RetailProduct
.
Método: projects.locations.retailCatalogs.retailProducts.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailProduct . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de RetailProduct
.
Método: projects.locations.retailCatalogs.retailProducts.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProducts
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se realiza correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura: Representación JSON
{
"retailProducts": [
{
object (RetailProducts)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProducts.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailProduct . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.
Recurso: projects.locations.retailProductImages
Representación JSON
{
"name": string,
"displayName": string,
"sourceType": enum(SourceType),
"gcsUri": string,
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso de RetailProductImage. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible de RetailProductImage. |
sourceType |
enumeración |
Opcional. Tipo de fuente |
gcsUri |
Cadena |
Opcional. Ubicación de Cloud Storage de RetailProductImage. Se debe establecer, excepto cuando Google proporciona la imagen, por ejemplo, cuando el tipo de fuente es SOURCE_TYPE_GOOGLE. |
resourceState |
enumeración |
Solo salida. Estado de RetailProductImage. |
etiquetas |
map (key: string, value: string) |
Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductImage. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de creación. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
Valores de ENUM de SourceType
SOURCE_TYPE_UNSPECIFIED | Fuente de datos desconocida. No se debe usar. |
---|---|
SOURCE_TYPE_FIXED_CAMERA | La imagen se captura desde una cámara fija. |
SOURCE_TYPE_HAND_HELD_CAMERA | La imagen se captura con una cámara de mano. |
SOURCE_TYPE_CRAWLED | La imagen se rastrea desde la Web. |
SOURCE_TYPE_SYSTEM_GENERATED | La imagen se recorta de una imagen original con etiquetado manual. |
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailProductImage
.
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de RetailProductImage
.
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailProductImage . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de RetailProductImage
.
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*/retailProducts/*}/retailProductImages
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductImages": [
{
object (RetailProductImages)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProducts.retailProductImages.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProducts/*/retailProductImages/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailProductImage . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.
Recurso: projects.locations.retailCatalogs.retailProductSets
Representación JSON
{
"name": string,
"displayName": string,
"retailProductIds": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso de RetailProductSet. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible del RetailProductSet. |
retailProductIds [] |
Cadena |
Solo salida. IDs de recursos de los productos que pertenecen a este RetailProductSet. Los productos de un RetailProductSet deben estar en el mismo catálogo. |
resourceState |
enum |
Solo salida. Estado del RetailProductSet. |
etiquetas |
map (key: string, value: string) |
Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductSet. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de creación. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
Método: projects.locations.retailCatalogs.retailProductSets.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailProductSet.
Cuerpo de la respuesta
Si el proceso se realiza correctamente, el cuerpo de la respuesta contiene una instancia recién creada de RetailProductSet.
Método: projects.locations.retailCatalogs.retailProductSets.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador de RetailProductSet. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de RetailProductSet.
Método: projects.locations.retailCatalogs.retailProductSets.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductSets
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductSets": [
{
object (RetailProductSets)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProductSets.delete
Solicitud HTTP
BORRA https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador de RetailProductSet. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.
Método: projects.locations.retailCatalogs.retailProductSets.add
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:remove
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el nombre del recurso de RetailProductSet. |
Cuerpo de la solicitud
Representación JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
Cadena |
ID de recurso de los RetailProducts que se agregarán. Todos deben pertenecer al mismo RetailCatalog que el RetailProductSet de destino especificado. Se pueden especificar hasta 200 IDs de RetailProducts en una solicitud. No se puede usar junto con productFilter. |
---|---|---|
productFilter |
Cadena |
Es un filtro estándar que se aplicará a todos los RetailProducts en el RetailCatalog superior, seleccionará los elementos que satisfagan las condiciones del filtro y los agregará al RetailProductSet. No se puede usar junto con product_ids. Filtros compatibles: https://google.aip.dev/160 |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Método: projects.locations.retailCatalogs.retailProductSets.remove
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductSets/*}:add
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el nombre del recurso de RetailProductSet. |
Cuerpo de la solicitud
Representación JSON
{
"productIds": [string],
"productFilter": string
}
Campos
productIds[ ] |
Cadena |
IDs de recursos de los RetailProducts que se quitarán. Si los RetailProducts especificados no pertenecen a este RetailProductSet, se ignorarán. Se pueden especificar hasta 200 IDs de RetailProducts en una solicitud. No se puede usar junto con products_filter. |
---|---|---|
productFilter |
Cadena |
Es un filtro estándar que se aplicará a todos los RetailProducts del RetailProductSet especificado, seleccionará los elementos que satisfagan las condiciones del filtro y los quitará del RetailProductSet. No se puede usar junto con product_ids. Filtros compatibles:https://google.aip.dev/160 |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Recurso: projects.locations.retailCatalogs.retailProductRecognitionIndexes
Representación JSON
{
"name": string,
"displayName": string,
"description": string,
"retailProductSet": [string],
"resourceState": enum(RetailResourceState),
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso RetailProductRecognitionIndex. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible de RetailProductRecognitionIndex. |
descripción |
Cadena |
Opcional. Es la descripción de RetailProductRecognitionIndex. |
retailProductSet[] |
Cadena |
Opcional. Es el nombre del recurso de RetailProductSet que se usará para crear este recurso. Si se establece, RetailProductRecognitionIndex solo contendrá productos en el RetailProductSet determinado. Si no se establece, se usarán todos los productos del catálogo superior. |
resourceState |
enumeración |
Solo salida. Es el estado de RetailProductRecognitionIndex. |
etiquetas |
map (key: string, value: string) |
Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de creación. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailProductRecognitionIndex
.
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de RetailProductRecognitionIndex
.
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailProductRecognitionIndex . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta contiene una instancia de RetailProductRecognitionIndex
.
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*/retailCatalogs/*}/retailProductRecognitionIndexes
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailProductRecognitionIndexes": [
{
object (RetailProductRecognitionIndex)
}
],
"nextPageToken": string
}
Método: projects.locations.retailCatalogs.retailProductRecognitionIndexes.delete
Solicitud HTTP
DELETE https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador de ProductRecognitionIndex. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Recurso: projects.locations.retailEndpoints
Representación JSON
{
"name": string,
"displayName": string,
"description": string,
"deployedProductRecognitionIndex": string,
"resourceState": enum(RetailResourceState),
"productRecognitionConfig": { object(RetailProductRecognitionConfig) },
"tagRecognitionConfig": { object(RetailTagRecognitionConfig) },
"labels": {
string: string,
...
}
"createTime": string,
"updateTime": string
}
Campos
name |
Cadena |
Solo salida. Es el nombre del recurso RetailEndpoint. |
---|---|---|
displayName |
Cadena |
Opcional. Es el nombre visible de RetailEndpoint. |
descripción |
Cadena |
Opcional. Es la descripción de RetailEndpoint. |
deployedProductRecognitionIndex |
Cadena |
Solo salida. Es el nombre del recurso de ProductRecognitionIndex implementado en este RetailEndpoint. |
productRecognitionConfig |
Objeto |
Opcional. Configuración para el reconocimiento de productos. |
tagRecognitionConfig |
Objeto |
Opcional. Configuración para el reconocimiento de etiquetas. |
resourceState |
enumeración |
Solo salida. Es el estado de RetailProductRecognitionIndex. |
etiquetas |
map (key: string, value: string) |
Son las etiquetas con metadatos definidos por el usuario para organizar tu RetailProductRecognitionIndex. Las claves y los valores de las etiquetas no pueden tener más de 64 caracteres (puntos de código Unicode) y solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Se permite el uso de caracteres internacionales. Consulta https://goo.gl/xmQnxf para obtener más información sobre las etiquetas y ejemplos de estas. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
createTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de creación. |
updateTime |
cadena (formato de marca de tiempo) |
Solo salida. La marca de tiempo de actualización. |
RetailProductRecognitionConfig
Representación JSON
{
"productDetectionModel": string,
"detectionConfidenceThreshold": float,
"recognitionConfidenceThreshold": float,
"additionalConfig": { object }
}
Campos
|
productDetectionModel | string | Obligatorio. Es el modelo que se usa para detectar productos en las imágenes de entrada. Valores admitidos: "integrado/estable" (el valor predeterminado) o el nombre del recurso del modelo de Vertex AI. |
---|---|---|
detectionConfidenceThreshold | float | Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se establece, se usará un valor predeterminado del sistema. |
recognitionConfidenceThreshold | float | Opcional. Umbral de confianza para filtrar los resultados del reconocimiento. Si no se establece, se usará un valor predeterminado del sistema. |
additionalConfig | objeto (formato Struct) | Opcional. Parámetros de configuración adicionales para el reconocimiento de productos. |
RetailTagRecognitionConfig
Representación JSON
{
"tagDetectionModel": string,
"tagParsingModel": string,
"detectionConfidenceThreshold": float,
"parsingConfidenceThreshold": float,
"additionalConfig": { object }
}
Campos
tagDetectionModel | string | Obligatorio. Es el modelo que se usa para detectar etiquetas en las imágenes de entrada. Valores admitidos: Recurso de modelo de Vertex AI. |
---|---|---|
tagParsingModel | string | Obligatorio. Es un modelo para analizar el texto en las etiquetas detectadas. Valores admitidos: Recurso de modelo de Vertex AI. |
detectionConfidenceThreshold | float | Opcional. Umbral de confianza para filtrar los resultados de detección. Si no se establece, se usará un valor predeterminado del sistema. |
parsingConfidenceThreshold | float | Opcional. Umbral de confianza para filtrar los resultados del análisis de texto. Si no se establece, se usará un valor predeterminado del sistema. |
additionalConfig | objeto (formato Struct) | Opcional. Parámetros de configuración adicionales para el reconocimiento de etiquetas. |
Método: projects.locations.retailEndpoints.create
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene una instancia de RetailEndpoint
.
Cuerpo de la respuesta
Si el proceso se realiza de forma correcta, el cuerpo de la respuesta contiene una instancia recién creada de RetailEndpoint
.
Método: projects.locations.retailEndpoints.get
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*}
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailEndpoint . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de RetailEndpoint
.
Método: projects.locations.retailEndpoints.list
Solicitud HTTP
GET https://visionai.googleapis.com/v1alpha1/{parent=projects/*/locations/*}/retailEndpoints
Parámetros de ruta de acceso
elemento superior | string | Obligatorio. Es el identificador superior. |
Parámetros de consulta
filter | string | Opcional. Es una expresión para filtrar los resultados de la solicitud. |
---|---|---|
pageToken | string | Opcional. Un token que identifica una página de resultados que debe mostrar el servidor. |
pageSize | integer | Opcional. Indica el tamaño de la página solicitada. Es posible que el servidor muestre menos elementos de los solicitados. Si no se especifica, el servidor elegirá una configuración predeterminada adecuada. |
orderBy | string | Opcional. Es una lista de campos separados por comas que se deben ordenar en orden ascendente. Usa "desc" después de un nombre de campo para ordenar de forma descendente. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si el proceso es satisfactorio, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON
{
"retailEndpoints": [
{
object (RetailEndpoint)
}
],
"nextPageToken": string
}
Método: projects.locations.retailEndpoints.delete
Solicitud HTTP
BORRA https://visionai.googleapis.com/v1alpha1/{name=projects/*/locations/*/retailEndpoints/*
Parámetros de ruta de acceso
nombre | string | Obligatorio. Es el identificador RetailEndpoint . |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.
Método: projects.locations.retailEndpoints.deployRetailProductRecognitionIndex
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:deployRetailProductRecognitionIndex
Parámetros de ruta de acceso
retailEndpoint | string | Obligatorio. Es el nombre del recurso RetailEndpoint en el que se implementa RetailProductRecognitionIndex . |
Cuerpo de la solicitud
Representación JSON
{
"retailProductRecognitionIndex": string,
}
Campos
retailProductRecognitionIndex | string | Obligatorio. Es el nombre del recurso de RetailProductRecognitionIndex que se implementará. |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Método: projects.locations.retailEndpoints.undeployRetailProductRecognitionIndex
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:undeployRetailProductRecognitionIndex
Parámetros de ruta de acceso
retailEndpoint | string | Obligatorio. Es el nombre del recurso RetailEndpoint en el que se realizará la anulación de la implementación. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Método: projects.locations.retailEndpoints.batchAnalyze
Solicitud HTTP
POST https://visionai.googleapis.com/v1alpha1/{retailEndpoint=projects/*/locations/*/retailEndpoints/*}:batchAnalyze
Parámetros de ruta de acceso
retailEndpoint | string | Obligatorio. Es el nombre del recurso de RetailEndpoint para entregar la solicitud de inferencia. |
Cuerpo de la solicitud
Representación JSON
{
"gcsSource": string,
"features": { object(Feature) },
// Union field output can be only one of the following:
"outputGcsDestination": string,
"corpus": string,
// End of list of possible types for union field output.
"bigqueryTable": string
}
Campos
gcsSource | string | Obligatorio. La ubicación de Cloud Storage para el contenido de entrada. Se pueden proporcionar varias ubicaciones de entrada. El contenido de todas las ubicaciones de entrada se procesará en un lote. Contenido admitido: Un archivo TXT, en el que cada línea es la ruta de acceso completa a una imagen. Se puede admitir un máximo de 50,000 imágenes en una solicitud. |
---|---|---|
outputGcsDestination | string | Opcional. La ubicación de Cloud Storage del directorio en el que se escribirá el resultado. |
corpus | string | Opcional. Es el nombre del recurso del corpus del almacén de imágenes. Aún no se admite. |
bigqueryTable | string | Opcional. Es el nombre del recurso de la tabla de BigQuery para las exportaciones de anotaciones. En el formato "projects/*/datasets/*/tables/*". Si se establece, las anotaciones generadas a partir de la inferencia de AA también se exportarán a la tabla de BigQuery determinada. Aún no se admite. |
features[] | Objeto | Obligatorio. Es el tipo de inferencia de AA que se realizará. |
Función
Representación JSON
{
"type": enum(Type),
"productRecognitionConfig": object(RetailProductRecognitionConfig),
"tagRecognitionConfig": object(RetailTagRecognitionConfig)
}
Campos
tipo | enum | Obligatorio. El tipo de componente. |
---|---|---|
productRecognitionConfig | objeto | Opcional. Anulaciones por solicitud para la función de reconocimiento de productos Solo es efectivo si el tipo se establece en TYPE_PRODUCT_RECOGNITION. |
tagRecognitionConfig | objeto | Opcional. Anulaciones por solicitud para la función de reconocimiento de etiquetas Solo es eficaz si el tipo se establece en TYPE_TAG_RECOGNITION. |
Cuerpo de la respuesta
Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de Operation
.
Tipos
GcsSource
Representación JSON
{
"uris": [string]
}
Campos
uris[] | string | Obligatorio. Referencias a rutas de acceso de Cloud Storage |
Tipo
Valores de ENUM
TYPE_UNSPECIFIED | Es el valor predeterminado. No se debe usar. |
---|---|
TYPE_PRODUCT_RECOGNITION | Reconocimiento de productos. Se debe usar en un RetailEndpoint con RetailProductRecognitionIndex implementado. |
TYPE_TAG_RECOGNITION | Detección y análisis de etiquetas. Se debe usar en un RetailEndpoint con RetailTagRecognitionConfig. |
RetailProductIoFormat
Representación JSON
{
"retailProduct": { object(RetailProduct) },
"retailProductImages": [ { object(RetailProductImage) }]
}
Campos
retailProduct | objeto | Obligatorio. RetailProduct que se importará |
---|---|---|
retailProductImages[ ] | objeto | Opcional. Son los RetailProductImage del RetailProduct determinado que se importará. |
RetailResourceState
Valores de ENUM
RETAIL_RESOURCE_STATE_UNSPECIFIED | Es el valor predeterminado. No se debe usar. |
---|---|
RETAIL_RESOURCE_STATE_CREATING | Creación de estado. |
RETAIL_RESOURCE_STATE_CREATED | Se creó el estado. |
RETAIL_RESOURCE_STATE_UPDATING | Actualización de estado. |
RETAIL_RESOURCE_STATE_DELETED | Estado borrado. |
RETAIL_RESOURCE_STATE_ERROR | Error de estado. |