Depois de criar um corpus de imagens e executar
AnalyzeCorpus
para gerar indicadores de incorporação nos dados do corpus, você pode criar um índice
e um endpoint de índice. Depois de implantar o índice nesse endpoint, é possível realizar a pesquisa semântica com recursos de filtro de critérios. O resultado da pesquisa
contém uma lista de imagens classificadas por pontuação de relevância.
Pesquisar com texto de entrada
Para pesquisar o assets
no corpus
, preencha o SearchIndexEndpointRequest
com a pesquisa pretendida nos seguintes formatos:
text_query
: consulta de texto para pesquisar.criteria
ouexclusion_criteria
opcionais: filtre os critérios nas anotações fornecidas pelo usuário. Ele pode ser aplicado a textos, números, booleanos ou valores de data/hora.
No exemplo a seguir, considere um corpus que contém imagens de paisagens naturais. Para recuperar todos os recursos relevantes para "sunset at beach" e marcados com a anotação "state": "California"
, envie a seguinte solicitação (substitua FIELD_NAME por state
e FIELD_VALUE por California
):
REST e LINHA DE CMD
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1
,europe-west4
. Consulte as regiões disponíveis. - INDEX_ENDPOINT_ID: o ID do endpoint de í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 da solicitação:
{ "text_query": "sunset at beach", "criteria": [ { "field": "state", "text_array": { "txt_values": [ "California" ] } } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": "0.99" }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": "0.98" } ] }
Pesquisar com a imagem de entrada
Se você tiver uma imagem de um pôr do sol na praia, também poderá usá-la como uma consulta de pesquisa para recuperar imagens semelhantes:
REST e LINHA DE CMD
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1
,europe-west4
. Consulte as regiões disponíveis. - INDEX_ENDPOINT_ID: o ID do endpoint de í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 da solicitação:
{ "image_query": { "input_image": "IMAGE_BYTES" }, "criteria": [ { "field": "FIELD_NAME", "text_array": { "txt_values": [ "FIELD_VALUE" ] } } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": 0.99 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.98 } ] }
Pesquisar com uma imagem
Também é possível usar um recurso de imagem existente no corpus para recuperar imagens semelhantes. O primeiro resultado da pesquisa será o mesmo recurso de imagem com uma pontuação de relevância de 1,0:
REST e LINHA DE CMD
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao
LOCATION_ID
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o Google Cloud número do projeto.
- LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo:
us-central1
,europe-west4
. Consulte as regiões disponíveis. - INDEX_ENDPOINT_ID: o ID do endpoint de índice de destino.
- CORPUS_ID: o ID do corpus de destino.
- ASSET_ID: o ID do recurso 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 da solicitação:
{ "image_query": { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1", "relevance": 1.0 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.99 } ] }