Un Vision Warehouse connesso (corpus
) in un'app di importazione dei dati di cui è stato eseguito il deployment
contiene uno o più oggetti multimediali assets
. Puoi fornire maggiori dettagli su
questo oggetto multimediale assets
con dataSchema
e risorse
annotation
fornite dagli utenti.
Le risorse dello schema dei dati devono essere create prima di poter creare una risorsa annotation
con quella chiave dello schema dei dati. Dopo aver creato uno schema dei dati (risorse dataSchema
) per indicare all'API Vertex AI Vision come interpretare le annotazioni dei contenuti multimediali, puoi creare risorse annotation
per i contenuti multimediali in un warehouse.
Crea schema di dati (API)
REST
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.
- DATASCHEMA_KEY: questa chiave deve corrispondere a quella di un'annotazione specificata dall'utente ed essere univoca all'interno di un
corpus
. Ad esempio:data-key
. - ANNOTATION_DATA_TYPE: il tipo di dati dell'annotazione. I valori disponibili sono:
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
Per saperne di più, consulta la documentazione di riferimento dell'API.
- ANNOTATION_GRANULARITY: la granularità delle annotazioni in questo
dataSchema
. I valori disponibili sono:GRANULARITY_UNSPECIFIED
- Granularità non specificata.GRANULARITY_ASSET_LEVEL
- Granularità a livello di asset (le annotazioni non devono contenere informazioni sulla partizione temporale dell'asset multimediale).GRANULARITY_PARTITION_LEVEL
- Granularità a livello di partizione (le annotazioni devono contenere informazioni sulla partizione temporale per l'asset multimediale).
- SEARCH_STRATEGY: uno dei valori enum disponibili. I tipi di strategie di ricerca
da applicare alla chiave di annotazione. I valori disponibili sono:
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
Metodo HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corpo JSON della richiesta:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "data-key", "schemaDetails": { "type": "BOOLEAN", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "search_strategy_type": "EXACT_SEARCH" } } }
Aggiorna schema dei dati (API)
REST & CMD LINE
Il seguente codice aggiorna un dataSchema
utilizzando il
metodo projects.locations.corpora.dataSchemas.patch
.
Questo esempio utilizza
?updateMask=schemaDetails.type,schemaDetails.granularity
nell'URL
della richiesta e include i nuovi valori schemaDetails.type
e schemaDetails.granularity
nel corpo della richiesta per aggiornare lo schema dei dati.
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.
- DATASCHEMA_ID: L'ID dello schema dei dati di destinazione.
?updateMask=fieldToUpdate
: uno dei campi disponibili a cui puoi applicare unupdateMask
. Specifica il nuovo valore del campo corrispondente nel corpo della richiesta. Questo nuovo valore sostituisce il valore del campo esistente. Campi disponibili:- Chiave:
?updateMask=key
- Tipo di schema:
?updateMask=schemaDetails.type
- Granularità dello schema:
?updateMask=schemaDetails.granularity
- Tipo di strategia di ricerca dello schema:
?updateMask=schemaDetails.searchStrategy.searchStrategyType
- Aggiorna tutti i campi:
?updateMask=*
- Chiave:
Metodo HTTP e URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity
Corpo JSON della richiesta:
{ "key": "original-data-key", "schemaDetails": { "type":"INTEGER", "granularity":"GRANULARITY_PARTITION_LEVEL" "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "original-data-key", "schemaDetails": { "type": "INTEGER", "granularity": "GRANULARITY_PARTITION_LEVEL", "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Aggiungere uno schema di dati strutturati personalizzato
La struttura personalizzata consente agli utenti di definire contenitori più complessi per contenere i valori e fornire funzionalità di ricerca. Per utilizzare questa funzionalità, lo schema dei dati deve essere definito, ad esempio:
REST
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:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corpo JSON della richiesta:
{ "key": "person", "schema_details" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "person", "schemaDetails" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
Dopodiché, possiamo inserire le annotazioni.
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.
- 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/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Corpo JSON della richiesta:
{ "user_specified_annotation" : { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
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/assets/ASSET_ID/annotations"
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/assets/ASSET_ID/annotations" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Una volta indicizzata l'annotazione, è possibile emettere una richiesta di ricerca nel seguente modo:
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:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets
Corpo JSON della richiesta:
{ "page_size": 10, "criteria": { "field": "person.name", "text_array": { "txt_values": "John" }, }, }
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:searchAssets"
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:searchAssets" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
Modificare i dettagli dello schema del warehouse (console)
I campi dello schema vengono generati dai modelli tramite le applicazioni. Puoi anche aggiungere campi personalizzati.
Dopo aver modificato i campi con funzionalità di ricerca, puoi utilizzarli per cercare nel tuo magazzino.
Console
Apri la scheda Magazzini della dashboard di Vertex AI Vision.
Trova il magazzino che ti interessa e seleziona il suo nome. Viene visualizzata la pagina Dettagli magazzino.
Seleziona i campi che vuoi abilitare per la ricerca.