Un Vision Warehouse (corpus
) connesso in un'app di importazione dati di cui è stato eseguito il deployment contiene uno o più oggetti multimediali assets
. Puoi fornire ulteriori dettagli su questi oggetti multimediali assets
con le risorse dataSchema
e annotation
fornite dall'utente.
Le risorse dello schema di dati devono essere create prima di poter creare una risorsa annotation
con la chiave dello schema di dati. Dopo aver creato lo schema di dati (risorse dataSchema
) per indicare all'API Vertex AI Vision come interpretare le annotazioni dei contenuti multimediali, puoi creare risorse dataSchema
per i contenuti multimediali in un magazzino.annotation
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 progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta le regioni disponibili. - CORPUS_ID: l'ID del corpus di destinazione.
- DATASCHEMA_KEY: questa chiave deve corrispondere alla chiave di un'annotazione specificata dall'utente e deve 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 per l'asset multimediale).GRANULARITY_PARTITION_LEVEL
- Granularità a livello di partizione (le annotazioni devono contenere informazioni sulle partizioni temporali per la risorsa 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 delle seguenti 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 e riga di comando
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 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 progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta 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 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 delle seguenti 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" } } }
Aggiungi uno schema di dati strutturati personalizzato
La struttura personalizzata consente agli utenti di definire contenitori più complessi per contenere i valori e fornire la 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 progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta 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 delle seguenti 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 progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta le regioni disponibili. - CORPUS_ID: l'ID del corpus di destinazione.
- ASSET_ID: l'ID della risorsa 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 delle seguenti 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 inviare una richiesta di ricerca come segue:
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 progetto.
- LOCATION_ID: la regione in cui utilizzi Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Consulta 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 delle seguenti 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 magazzino (console)
I campi dello schema vengono generati dai modelli tramite le applicazioni. Puoi anche aggiungere campi personalizzati.
Dopo aver modificato i campi delle tabelle pivot, puoi utilizzarli per cercare nel tuo data warehouse.
Console
Apri la scheda Magazzini della dashboard di Vertex AI Vision.
Trova il magazzino che ti interessa e seleziona il nome. Viene visualizzata la pagina Dettagli magazzino.
Seleziona i campi da attivare per la ricerca.