Buscar datos de Search Batch Video Warehouse

Requisito previo: crea un almacén de vídeos por lotes con un índice implementado.

Buscar datos de almacén de vídeos por lotes en la consola

Consola

  1. Abre la pestaña Almacenes del panel de control de Vertex AI Vision.

    Ve a la pestaña Almacenes.

  2. Busca el endpoint de índice que quieras buscar y haz clic en Buscar recursos.

  3. Verás una lista de vídeos (cada uno corresponde a un recurso) y una barra de búsqueda en la parte superior. Puedes hacer clic en un vídeo para verlo o empezar a buscar vídeos.

  4. Para empezar a buscar, introduce una consulta de texto o sube una imagen como consulta de búsqueda. Verás una lista de clips de vídeo en la parte derecha de la página de resultados de búsqueda. Cada uno de ellos corresponde a un clip de vídeo continuo de los recursos. Los clips de vídeo se clasifican según su relevancia con respecto a la consulta introducida.

  5. Puedes usar la sección Filters de la parte izquierda de la página de resultados de búsqueda para acotar la búsqueda. Cada criterio de filtro consta de una clave de esquema de datos y el valor de anotación que quieres buscar. Después de especificar los criterios del filtro, haz clic en Buscar para ejecutar la búsqueda.

Buscar datos de Batch Video Warehouse con la línea de comandos

Para buscar vídeos (assets) en tu corpus (corpus), rellena el searchIndexEndpoint cuerpo de la solicitud con el contenido que quieras encontrar. Este contenido se ofrece en varios formatos:

  1. text_query o image_query: consulta con la que buscar.
  2. Opcional criteria: criterios de filtro en las anotaciones proporcionadas por el usuario.

En el siguiente ejemplo, vamos a usar un corpus que contiene vídeos de paisajes naturales. Para obtener todos los recursos que sean relevantes para "puesta de sol en la playa" y que estén etiquetados con la anotación "state": "California", envía la siguiente solicitud:

REST Y LÍNEA DE COMANDOS

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, como europe-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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint

Cuerpo JSON de la solicitud:

{
  "text_query": "sunset at beach",
  "criteria": [
    {
      "field": "state",
      "text_array": {
          "txt_values": [
            "California"
          ]
      }
    }
  ]
}

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/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"

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/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "searchResultItems": [
    {
      "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1"
    },
    {
      "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
    }
  ]
}

Si tienes una imagen de una puesta de sol en una playa, también puedes usarla como consulta de búsqueda enviando la siguiente solicitud (la imagen de entrada está en formato de codificación base64):

REST Y LÍNEA DE COMANDOS

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, como europe-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.
  • INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint

Cuerpo JSON de la solicitud:

{
  "image_query": {
    "input_image": "IMAGE_BYTES"
  },
  "criteria": [
    {
      "field": "state",
      "text_array": {
          "txt_values": [
            "California"
          ]
      }
    }
  ]
}

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/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"

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/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "searchResultItems": [
    {
      "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1"
    },
    {
      "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2"
    }
  ]
}