Depois de criar um corpus de imagens e executar
AnalyzeCorpus
para gerar sinais de incorporação nos dados do corpus, pode avançar para a criação de um índice
e um ponto final do índice. Depois de implementar o índice neste ponto final do índice, pode
fazer uma pesquisa semântica com capacidades de filtro de critérios. O resultado da pesquisa
contém uma lista de imagens ordenadas por pontuação de relevância.
Pesquise com texto introduzido
Para pesquisar o assets
no seu corpus
, preencha o SearchIndexEndpointRequest
com a pesquisa pretendida, nos seguintes formatos:
text_query
: consulta de texto para pesquisar.- Opcional
criteria
ouexclusion_criteria
: Critérios de filtragem em anotações fornecidas pelo utilizador. Pode ser aplicada a textos, números, valores booleanos ou valores de data/hora.
No exemplo seguinte, considere um corpus que contenha imagens 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 (substitua FIELD_NAME por state
e FIELD_VALUE por California
):
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
, comoeurope-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", "relevance": "0.99" }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": "0.98" } ] }
Pesquise com uma imagem de entrada
Se tiver uma imagem de um pôr do sol numa praia, também pode usá-la como uma consulta de pesquisa para obter imagens semelhantes:
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
, comoeurope-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": "FIELD_NAME", "text_array": { "txt_values": [ "FIELD_VALUE" ] } } ] }
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", "relevance": 0.99 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.98 } ] }
Pesquise com uma imagem existente
Também pode usar um recurso de imagem existente no corpus para obter imagens semelhantes. O primeiro resultado da pesquisa será o mesmo recurso de imagem com uma classificação de relevância de 1,0:
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
, comoeurope-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.
- CORPUS_ID: o ID do seu 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 do pedido:
{ "image_query": { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" } }
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", "relevance": 1.0 }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2", "relevance": 0.99 } ] }