Cercare i dati di Image Warehouse

Dopo aver creato un corpus di immagini ed eseguito AnalyzeCorpus per generare segnali di incorporamento sui dati del corpus, puoi procedere alla creazione di un indice e di un endpoint dell'indice. Dopo aver eseguito il deployment dell'indice in questo endpoint dell'indice, puoi eseguire la ricerca semantica con funzionalità di filtro dei criteri. Il risultato della ricerca contiene un elenco di immagini ordinate in base al punteggio di pertinenza.

Cerca con il testo di input

Per cercare gli assets nel corpus, compila SearchIndexEndpointRequest con la ricerca prevista, nei seguenti formati:

Nell'esempio seguente, considera un corpus contenente immagini di paesaggi naturali. Per recuperare tutti gli asset pertinenti a "tramonto sulla spiaggia" e contrassegnati con l'annotazione "state": "California", invia la seguente richiesta (sostituisci FIELD_NAME con state e FIELD_VALUE con California):

REST e riga di comando

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID come ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il Google Cloud numero del progetto.
  • LOCATION_ID: la regione in cui utilizzi Agent Platform Vision. Ad esempio: us-central1, europe-west4. Visualizza le regioni disponibili.
  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'indice di destinazione.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Cerca con l'immagine di input

Se hai un'immagine di un tramonto su una spiaggia, puoi utilizzarla anche come query di ricerca per recuperare immagini simili:

REST e riga di comando

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID come ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il Google Cloud numero del progetto.
  • LOCATION_ID: la regione in cui utilizzi Agent Platform Vision. Ad esempio: us-central1, europe-west4. Visualizza le regioni disponibili.
  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'indice di destinazione.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "image_query": {
    "input_image": "IMAGE_BYTES"
  },
  "criteria": [
    {
      "field": "FIELD_NAME",
      "text_array": {
          "txt_values": [
            "FIELD_VALUE"
          ]
      }
    }
  ]
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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

Cerca con un'immagine esistente

Puoi anche utilizzare un asset immagine esistente nel corpus per recuperare immagini simili. Il primo risultato di ricerca sarà lo stesso asset immagine con un punteggio di pertinenza pari a 1.0:

REST e riga di comando

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID come ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il Google Cloud numero del progetto.
  • LOCATION_ID: la regione in cui utilizzi Agent Platform Vision. Ad esempio: us-central1, europe-west4. Visualizza le regioni disponibili.
  • INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'indice di destinazione.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • ASSET_ID: l'ID dell'asset di destinazione.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "image_query": {
    "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

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

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$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

Dovresti ricevere una risposta JSON simile alla seguente:

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