Gestisci indici

Un indice di Vision Warehouse (disponibile per i verticali di immagini e video batch) è una risorsa a livello di corpus che è una rappresentazione gestita di asset e annotazioni analizzati. Un indice può essere considerato un insieme di dati di vettori di incorporamento e restrizioni semantiche che rappresentano il significato dei contenuti multimediali. Gli indici possono essere implementati in endpoint indice per la ricerca.

Quando crei un indice su un corpus, l'indice includerà tutti gli asset analizzati e tutte le annotazioni esistenti nel corpus. Per gli asset o le annotazioni che aggiungi dopo aver creato l'indice, devi analizzare di nuovo il corpus o gli asset e aggiornare l'indice per includerli.

Crea un indice del warehouse

REST

Per creare una risorsa indice, invia una richiesta POST utilizzando il metodo projects.locations.corpora.indexes.create.

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

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Agent Platform Vision. Ad esempio: us-central1, europe-west4. Consulta le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • INDEX_ID: (facoltativo) un valore fornito dall'utente per l'ID indice. In questa richiesta, il valore viene aggiunto all'URL della richiesta nel formato:
    • https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID

Metodo HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes

Corpo JSON della richiesta:

{
  "display_name": "DISPLAY_NAME",
  "description": "INDEX_DESCRIPTION",
}

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/corpora/CORPUS_ID/indexes"

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/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata"
  }
}

Aggiorna un indice del warehouse

L'API UpdateIndex consente di aggiornare i campi dei metadati dell'indice, come display_name e description, nonché i contenuti dell'indice sottostante (assets e i relativi annotations).

Il campo update_mask nella richiesta, noto anche come maschera del campo, viene utilizzato per specificare i campi da sovrascrivere nella risorsa Index con l'aggiornamento. I campi specificati in update_mask si riferiscono alla risorsa, non all'intera richiesta. Un campo della risorsa verrà sovrascritto se si trova nella maschera. Non è consentita una maschera del campo vuota. Se la maschera è "*", viene attivato un aggiornamento completo dell'indice, nonché una ricostruzione completa dei dati dell'indice.

REST

Per aggiornare una risorsa indice, invia una richiesta PATCH utilizzando il metodo projects.locations.corpora.indexes.patch.

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

  • REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a LOCATION_ID, ad esempio europe-west4-. Scopri di più sugli endpoint regionalizzati.
  • PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
  • LOCATION_ID: la regione in cui utilizzi Agent Platform Vision. Ad esempio: us-central1, europe-west4. Consulta le regioni disponibili.
  • CORPUS_ID: l'ID del corpus di destinazione.
  • INDEX_ID: l'ID dell'indice di destinazione.
  • ?update_mask=fieldToUpdate: elenco dei campi disponibili a cui vuoi applicare un update_mask. Specifica i valori corrispondenti per i nuovi campi nel corpo della richiesta. Questo nuovo valore sostituisce il valore del campo esistente. Puoi specificare più campi come valori separati da virgole. Campi disponibili:
    • Nome visualizzato: ?update_mask=display_name
    • Descrizione: ?update_mask=description
    • Aggiorna i dati dell'indice sottostante: ?update_mask=entire_corpus
    • Aggiorna tutti i campi: ?update_mask=*

Metodo HTTP e URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus

Corpo JSON della richiesta:

{
  "display_name": "DISPLAY_NAME",
  "entire_corpus": true
}

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 PATCH \
-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/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus"

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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexMetadata"
  }
}

Aggiornamenti dell'indice di streaming

Le API IndexAsset e RemoveIndexAsset consentono aggiornamenti in streaming agli indici. Queste API sono supportate solo su Vision Warehouse per i video batch.

Elenca gli indici in un warehouse

REST

Per elencare gli indici in un corpus, invia una richiesta GET utilizzando il metodo projects.locations.corpora.indexes.list.

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

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

Metodo HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "indexes": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_1",
      "display_name": "DISPLAY_NAME_1",
      "description": "DESCRIPTION_1",
      "entireCorpus": true,
      "state": "CREATED"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_2",
      "display_name": "DISPLAY_NAME_2",
      "description": "DESCRIPTION_2",
      "entireCorpus": true,
      "state": "CREATED"
    }
  ]
}

Ottenere un indice

REST

Per ottenere i dettagli di un indice, invia una richiesta GET utilizzando il metodo projects.locations.corpora.indexes.get.

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

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

Metodo HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID

Per inviare la richiesta, scegli una di queste opzioni:

curl

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/