Pesquise dados do Video Warehouse em lote

Pré-requisito: crie um Batch Video Warehouse com um índice implementado.

Pesquise dados do Armazém de vídeos em lote na consola

Consola

  1. Abra o separador Armazéns do painel de controlo do Vertex AI Vision.

    Aceda ao separador Armazéns

  2. Encontre o ponto final de índice que quer pesquisar e clique em Pesquisar recursos.

  3. É apresentada uma lista de vídeos (cada um correspondente a um recurso), bem como uma barra de pesquisa na parte superior. Pode clicar num vídeo para o ver ou começar a pesquisar vídeos.

  4. Para começar a pesquisar, introduza uma consulta de texto ou carregue uma imagem como consulta de pesquisa. É apresentada uma lista de clipes de vídeo no lado direito da página de resultados da pesquisa. Cada clipe corresponde a um clipe de vídeo contínuo nos recursos. Os clipes de vídeo são classificados por relevância para a consulta introduzida.

  5. Pode usar a secção Filters no lado esquerdo da página de resultados da pesquisa para refinar a sua pesquisa. Cada critério de filtro consiste numa chave do esquema de dados e no valor da anotação que quer pesquisar. Depois de especificar os critérios de filtro, clique em Pesquisar para executar a pesquisa.

Pesquise dados do Video Warehouse em lote através da linha de comandos

Para pesquisar os vídeos (assets) no seu corpus (corpus), preencha o searchIndexEndpoint corpo do pedido com o conteúdo que quer encontrar. Este conteúdo está disponível em alguns formatos diferentes:

  1. text_query ou image_query: consulta para pesquisar.
  2. Opcional criteria: critérios de filtro em anotações fornecidas pelo utilizador.

No exemplo seguinte, considere um conjunto de dados que contenha vídeos de paisagens naturais. Para obter todos os recursos relevantes para "sunset at beach" e etiquetados com a anotação "state": "California", envie o seguinte pedido:

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do seu ponto final do índice de destino.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

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 "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

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" }

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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
    }
  ]
}

Se tiver uma imagem de um pôr do sol numa praia, também pode usá-la como uma consulta de pesquisa enviando o seguinte pedido (a imagem de entrada está no formato de codificação base64):

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do seu ponto final do índice de destino.

Método HTTP e URL:

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

Corpo JSON do pedido:

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

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 "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

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" }

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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
    }
  ]
}