Un índice de Vision Warehouse (disponible para verticales de imágenes y vídeos por lotes) es un recurso a nivel de corpus que es una representación gestionada de recursos y anotaciones analizados. Un índice se puede considerar como un conjunto de datos de vectores de inserción y restricciones semánticas que representa el significado del contenido multimedia. Los índices se pueden desplegar en endpoints de índice para realizar búsquedas.
Cuando creas un índice en un corpus
, este incluye todos los recursos analizados y todas las anotaciones del corpus.
Si añade recursos o anotaciones después de crear el índice, deberá analizar de nuevo el corpus o esos recursos y actualizar el índice para incluirlos.
Crear un índice de almacén
REST
Para crear un recurso de índice, envía una solicitud POST mediante el método projects.locations.corpora.indexes.create
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: (opcional) valor proporcionado por el usuario para el ID de índice. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Cuerpo JSON de la solicitud:
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
Actualizar un índice de almacén
La API UpdateIndex permite actualizar los campos de metadatos del índice, como display_name
y description
, así como el contenido del índice subyacente (assets
y sus annotations
).
El campo update_mask
de la solicitud, también conocido como máscara de campo, se usa para especificar los campos que se van a sobrescribir en el recurso Index mediante la actualización. Los campos especificados en update_mask
son relativos al recurso, no a la solicitud completa. Se sobrescribirá un campo del recurso si está en la máscara. No se permite una máscara de campo vacía. Si la máscara es "*", se activará una actualización completa del índice y también una reconstrucción completa de los datos del índice.
REST
Para actualizar un recurso de índice, envía una solicitud PATCH mediante el método projects.locations.corpora.indexes.patch
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
?update_mask=fieldToUpdate
: lista de los campos disponibles a los que quieras aplicar unupdate_mask
. Especifique los valores correspondientes de los campos nuevos en el cuerpo de la solicitud. Este nuevo valor sustituye al valor del campo. Puedes especificar varios campos como valores separados por comas. Campos disponibles:- Nombre visible:
?update_mask=display_name
- Descripción:
?update_mask=description
- Actualizar los datos del índice subyacente:
?update_mask=entire_corpus
- Actualizar todos los campos:
?update_mask=*
- Nombre visible:
Método HTTP y URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus
Cuerpo JSON de la solicitud:
{ "display_name": "DISPLAY_NAME", "entire_corpus": true }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexMetadata" } }
Actualizaciones del índice de streaming
Las APIs IndexAsset
y RemoveIndexAsset
permiten transmitir actualizaciones a los índices. Estas APIs solo se admiten en Vision Warehouse para vídeos por lotes.
Mostrar los índices de un almacén
REST
Para enumerar los índices de un corpus, envía una solicitud GET mediante el método projects.locations.corpora.indexes.list.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "indexes": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_1", "display_name": "DISPLAY_NAME_1", "description": "DESCRIPTION_1", "entireCorpus": true, "state": "CREATED" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_2", "display_name": "DISPLAY_NAME_2", "description": "DESCRIPTION_2", "entireCorpus": true, "state": "CREATED" } ] }
Obtener un índice
REST
Para obtener detalles sobre un índice, envía una solicitud GET con el método projects.locations.corpora.indexes.get.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", "entireCorpus": true, "state": "CREATED" }
Ver los recursos de un índice
REST
Para obtener información sobre los recursos presentes en un índice, envía una solicitud GET mediante el método projects.locations.corpora.indexes.viewAssets.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
- PAGE_SIZE: (Opcional) Número de resultados que se devolverán.
- PAGE_TOKEN: (Opcional) El
nextPageToken
que ha proporcionado la respuesta de la llamada anterior. Se puede usar para obtener la siguiente página de resultados.
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Ver recursos indexados con un filtro
Puede proporcionar una lista de IDs de recursos separados por comas mediante el campo filter
del método projects.locations.corpora.indexes.viewAssets para filtrar todos los recursos de un índice y mostrar solo los recursos proporcionados.
REST
Para enumerar y filtrar los recursos de un índice, envía una solicitud GET mediante el método projects.locations.corpora.indexes.viewAssets.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
- PAGE_SIZE: (Opcional) Número de resultados que se devolverán.
- PAGE_TOKEN: (Opcional) El
nextPageToken
que ha proporcionado la respuesta de la llamada anterior. Se puede usar para obtener la siguiente página de resultados. - ASSET_ID_FILTER: (Opcional) Lista de IDs de recursos separados por comas que quieres filtrar en la lista devuelta. Por ejemplo:
?filter=ASSET_ID_1"
?filter=ASSET_ID_1,ASSET_ID_2"
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Eliminar un índice
Solo se puede eliminar un índice si no se ha implementado en un indexEndpoint
.
Sigue la guía para retirar un índice antes de eliminar un índice retirado.
REST
Para eliminar un recurso de índice, envía una solicitud DELETE mediante el método projects.locations.corpora.indexes.delete.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales regionalizados. - PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
Método HTTP y URL:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", }