Un Image Warehouse è un luogo in cui puoi archiviare e gestire le immagini, nonché le annotazioni sulle immagini.
Crea un Image Warehouse
Innanzitutto, devi creare un corpus.
REST & CMD LINE
Crea una risorsa corpus nel progetto specificato con l'opzione di
specificare il nome visualizzato e la descrizione di Corpus.
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. - DISPLAY_NAME: il nome visualizzato del magazzino.
- WAREHOUSE_DESCRIPTION: la descrizione del magazzino (
corpus).
Metodo HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
Corpo JSON della richiesta:
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_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"
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" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
Crea schema di dati
Se vuoi importare le annotazioni, devi creare uno schema dei dati corrispondente prima di chiamare l'API Import.
REST & CMD LINE
Questo esempio mostra come creare uno schema dei dati in un corpus esistente.
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.
- DATASCHEMA_KEY: questa chiave deve corrispondere alla chiave 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_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
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 dell'annotazione. I valori disponibili sono:
NO_SEARCHEXACT_SEARCHSMART_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"
}
}
}
Importare asset in un corpus di immagini
Importa asset (e facoltativamente annotazioni) in un corpus esistente nel progetto specificato.
Il file Cloud Storage per la richiesta ImportAsset deve essere in formato JSONL. Nel file, ogni riga corrisponde a un asset e verrà convertita in proto InputImageAsset. Ad esempio,
{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}
REST & CMD LINE
Questo esempio mostra come importare asset (e facoltativamente annotazioni) in una risorsa corpus nel progetto specificato.
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:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
Corpo JSON della richiesta:
{
"parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
"assets_gcs_uri": GCS_URI
}
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:import"
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:import" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Analizzare gli asset nel corpus
Per prepararsi alla ricerca immagini, è necessario eseguire AnalyzeCorpus per generare gli indicatori di incorporamento dalle immagini.
REST & CMD LINE
Questo esempio mostra come eseguire AnalyzeCorpus su una risorsa corpus.
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:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
Corpo JSON della richiesta:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}
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:analyze"
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:analyze" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Crea un indice
REST & CMD LINE
Questo esempio mostra come creare un indice su una risorsa corpus.
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"
}
}
Crea un endpoint indice
REST & CMD LINE
Questo esempio mostra come creare un endpoint indice.
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. - INDEX_ENDPOINT_ID: (facoltativo) un valore fornito dall'utente per l'ID endpoint dell'indice. In questa richiesta, il
valore viene aggiunto all'URL della richiesta nel formato:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
Metodo HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
Corpo JSON della richiesta:
{
"display_name": "DISPLAY_NAME",
"description": "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/indexEndpoints"
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/indexEndpoints" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
}
}
Esegui il deployment dell'indice nell'endpoint dell'indice
REST & CMD LINE
Questo esempio mostra come eseguire il deployment di un indice in una risorsa endpoint dell'indice.
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. - INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'indice di destinazione.
- CORPUS_ID: l'ID del corpus di destinazione.
- INDEX_ID: l'ID dell'indice di destinazione.
Metodo HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Corpo JSON della richiesta:
{
"deployedIndex": {
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
"deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}