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 set 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 seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi 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 Indice con l'aggiornamento. I campi specificati in update_mask
sono relativi 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 seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi 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 unupdate_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=*
- Nome visualizzato:
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 seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi 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 seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi 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/INDEX_ID"
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/INDEX_ID" | 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", "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", "entireCorpus": true, "state": "CREATED" }
Visualizzare gli asset in un indice
REST
Per ottenere i dettagli degli asset presenti in un indice, invia una richiesta GET utilizzando il metodo projects.locations.corpora.indexes.viewAssets.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - CORPUS_ID: l'ID del corpus di destinazione.
- INDEX_ID: L'ID dell'indice di destinazione.
- PAGE_SIZE: (facoltativo) Il numero di risultati da restituire.
- PAGE_TOKEN: (facoltativo) Il
nextPageToken
fornito dalla risposta alla chiamata precedente. Può essere utilizzato per ottenere la pagina successiva dei risultati.
Metodo HTTP e URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN
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/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN"
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/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Visualizzare gli asset indicizzati con un filtro
Puoi fornire un elenco di ID asset separati da virgole utilizzando il campo filter
nel metodo
projects.locations.corpora.indexes.viewAssets per filtrare tutti gli asset in un indice e mostrare solo quelli forniti.
REST
Per elencare e filtrare gli asset presenti in un indice, invia una richiesta GET utilizzando il metodo projects.locations.corpora.indexes.viewAssets.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - CORPUS_ID: l'ID del corpus di destinazione.
- INDEX_ID: L'ID dell'indice di destinazione.
- PAGE_SIZE: (facoltativo) Il numero di risultati da restituire.
- PAGE_TOKEN: (facoltativo) Il
nextPageToken
fornito dalla risposta alla chiamata precedente. Può essere utilizzato per ottenere la pagina successiva dei risultati. - ASSET_ID_FILTER: (facoltativo) un elenco separato da virgole di ID asset che vuoi filtrare nell'elenco restituito. Ad esempio:
?filter=ASSET_ID_1"
?filter=ASSET_ID_1,ASSET_ID_2"
Metodo HTTP e URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER
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/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER"
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/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Eliminare un indice
Un indice può essere eliminato solo se non è stato eseguito il deployment in un indexEndpoint
.
Segui la guida per annullare il deployment dell'indice prima di eliminare un indice di cui è stato eseguito il deployment.
REST
Per eliminare una risorsa indice, invia una richiesta DELETE utilizzando il metodo projects.locations.corpora.indexes.delete.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- REGIONALIZED_ENDPOINT: l'endpoint potrebbe includere un prefisso corrispondente a
LOCATION_ID
, ad esempioeurope-west4-
. Scopri di più sugli endpoint regionalizzati. - PROJECT_NUMBER: il tuo Google Cloud numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - CORPUS_ID: l'ID del corpus di destinazione.
- INDEX_ID: L'ID dell'indice di destinazione.
Metodo HTTP e URL:
DELETE 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 DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | 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", }