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 esempioeurope-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 esempioeurope-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 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 sostituzioni seguenti:
- 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
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 esempioeurope-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/