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.criteriaouexclusion_criteriaopcionais: 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
}
]
}