Questa pagina mostra come creare un'app e combinare componenti, come flussi di input, modelli per l'analisi e warehouse per l'archiviazione, da utilizzare sulla piattaforma dell'app Vertex AI Vision.
Per creare un'app, devi considerare le origini dati, l'analisi che vuoi eseguire e il modo in cui vuoi archiviare i risultati. Un'app end-to-end può avere moduli diversi a seconda del caso d'uso. Di conseguenza, il modo in cui crei un'app dipenderà dal tuo obiettivo.
Prima di iniziare, valuta il tuo caso d'uso e il tuo obiettivo dal punto di vista dell'IA responsabile e considera l'impatto che i tuoi modelli e le tue applicazioni potrebbero avere sugli utenti finali in caso di errore. Scopri di più sui primi passi per valutare l'equità del tuo caso d'uso. Assicurati inoltre che il tuo utilizzo di Vertex AI Vision sia conforme ai Termini di servizio di Google Cloudo a una variante offline e ai termini degli URL incorporati, come le Norme di utilizzo accettabile di Google Cloud.
Quando crei la tua applicazione, tieni presente che le tecnologie di visione AI hanno il potenziale di rafforzare o introdurre pregiudizi ingiusti e di influire sui diritti umani fondamentali. Lo sviluppo della tua applicazione deve comportare una riflessione etica basata sui valori della tua azienda e una due diligence legale per il tuo caso d'uso specifico, inclusi i casi d'uso ad alto rischio. Come per tutte le tecnologie, devi considerare tutte le leggi e le normative vigenti che regolano l'utilizzo delle tecnologie di AI/ML nella regione in cui le implementi. I clienti sono responsabili della due diligence necessaria per implementare casi d'uso considerati ad alto rischio in una determinata regione.
Crea una nuova applicazione
Prima di poter aggiungere componenti come uno stream o modelli a un'app, devi creare l'app stessa. Per essere implementate, tutte le app devono contenere quanto segue:
- Un nodo di input stream (origine dati).
- Almeno un altro nodo componente, ad esempio un modello o un warehouse.
Crea una nuova applicazione personalizzata
Console
Crea un'app nella Google Cloud console.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante
Crea.Inserisci il nome di un'app e scegli la tua regione. Regioni supportate.
Fai clic su Crea.
Creare un'applicazione con un modello
Console
Crea un'app nella Google Cloud console.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic sul pulsante
Crea.Inserisci il nome di un'app e scegli la tua regione. Regioni supportate.
Fai clic su Crea.
Nella pagina del builder di applicazioni, fai clic sul nodo Modello di applicazione.
Nel riquadro delle impostazioni laterali, fai clic sul pulsante Seleziona modello.
Seleziona un modello dal menu a discesa.
Aggiungere l'input dello stream
Un'applicazione deve contenere un nodo di stream video. Non puoi eseguire il deployment dell'applicazione se non aggiungi un nodo Streams.
Se l'applicazione non viene implementata, l'aggiornamento dell'input dello stream verrà applicato automaticamente all'applicazione. Se la tua app è già stata implementata, devi annullarne l'implementazione e aggiornarla per applicare le modifiche. Per maggiori dettagli, consulta la sezione Aggiornare un'app.
Console
Aggiungi uno stream a un'app nella console Google Cloud .
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Fai clic su Visualizza app per la tua app.
Dall'elenco laterale dei componenti, scegli Flussi video dall'elenco di Connettori. Il nodo del flusso viene aggiunto al grafico dell'app e si apre un menu laterale Flussi video.
Seleziona Aggiungi flussi video.
Se scegli di
Seleziona da flussi esistenti, seleziona il flusso esistente e poi Aggiungi flussi.Se scegli di
Registrare nuovi flussi, aggiungi un nome per il nuovo flusso e seleziona Aggiungi flussi.
REST
Per aggiungere uno stream a un'app, invia una richiesta POST utilizzando il metodo projects.locations.applications.addStreamInput.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Corpo JSON della richiesta:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } }, { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Aggiungere l'input stream con le annotazioni dei nodi
Quando crei un flusso di input dell'applicazione, puoi aggiungere annotazioni al flusso utilizzando l'API Vertex AI Vision. Puoi anche aggiungere annotazioni a un nodo nella consoleGoogle Cloud .
Console
L'esempio seguente aggiunge le annotazioni disponibili
(STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
e
STREAM_ANNOTATION_TYPE_CROSSING_LINE
) a un modello di conteggio delle presenze.
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina del generatore di applicazioni, seleziona il modello con input di flusso a cui vuoi aggiungere annotazioni.
Nel riquadro delle impostazioni del modello laterale, espandi la sezione "Impostazioni avanzate". Dopo aver espanso la sezione, fai clic sul pulsante Crea linee/zone attive.
Nella visualizzazione della galleria di stream, seleziona uno stream di input per disegnare zone o linee attive.
Nella visualizzazione dell'editor, scegli Aggiungi linee multipunto o Aggiungi poligono semplice per aggiungere annotazioni. Utilizza il riquadro laterale per rinominare la zona o il nome della linea, eliminare zone/linee esistenti o invertire la direzione della linea.
REST & CMD LINE
Il codice seguente aggiunge le annotazioni dello stream.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
- NODE_NAME: il nome del nodo di destinazione nel grafico dell'app. Ad esempio,
builtin-occupancy-count
. - ANNOTATION_ID: l'ID dell'annotazione di destinazione.
- ANNOTATION_DISPLAYNAME: Il nome visualizzato specificato dall'utente dell'annotazione di destinazione.
- ANNOTATION_TYPE: uno dei valori enum disponibili. Questo tipo deve corrispondere all'oggetto
annotation_payload
,activeZone
ocrossingLine
. I valori disponibili sono:STREAM_ANNOTATION_TYPE_UNSPECIFIED
STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
STREAM_ANNOTATION_TYPE_CROSSING_LINE
normalizedVertices
: ogni vertice è specificato dai valori delle coordinate x e y. Le coordinate sono valori float normalizzati [0,1] rispetto all'immagine originale; 0.0 è X_MIN o Y_MIN, 1.0 è X_MAX o Y_MAX.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Corpo JSON della richiesta:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "nodeAnnotations": [ { "node": "NODE_NAME", "annotations": [ { "id": "ANNOTATION_ID", "displayName": "ANNOTATION_DISPLAYNAME", "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "type": ANNOTATION_TYPE, "activeZone": { "normalizedVertices": { "x": 0.07434944, "y": 0.18061674 }, "normalizedVertices": { "x": 0.64684016, "y": 0.16079295 }, "normalizedVertices": { "x": 0.6047088, "y": 0.92070484 }, "normalizedVertices": { "x": 0.1251549, "y": 0.76651984 } } } ] } ] } } ] }
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Rimuovere l'input dello stream
REST
Per rimuovere un flusso da un'app, invia una richiesta POST utilizzando il metodo projects.locations.applications.removeStreamInput.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT: il tuo Google Cloud ID progetto o numero di progetto.
- LOCATION_ID: la regione in cui utilizzi
Vertex AI Vision. Ad esempio:
us-central1
,europe-west4
. Vedi le regioni disponibili. - APPLICATION_ID: l'ID dell'applicazione di destinazione.
- STREAM_ID: l'ID dello stream di destinazione.
Metodo HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput
Corpo JSON della richiesta:
{ "targetStreamInputs": [ { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" }, { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"
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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.
Aggiungere un modello Vertex AI Vision preaddestrato
Dopo aver creato un'app, puoi aggiungere un modello e collegarlo a stream, altri modelli o un magazzino multimediale.
Esistono due tipi di modelli: modelli preaddestrati o modelli addestrati dall'utente. Analogamente, anche i modelli addestrati dall'utente possono essere di due tipi: AutoML o con addestramento personalizzato:
- I modelli pre-addestrati svolgono un obiettivo specifico, vengono addestrati su dati generalizzati e sono pronti all'uso.
- I modelli AutoML o con addestramento personalizzato addestrati dall'utente richiedono di identificare e fornire dati di esempio e quindi addestrare modelli più adatti al tuo caso d'uso unico. Addestra questi modelli utilizzando Vertex AI, un prodotto che offre due opzioni di addestramento: modelli addestrati con AutoML e modelli con addestramento personalizzato. Per ulteriori informazioni, consulta la sezione Scegliere un metodo di addestramento.
Utilizza le seguenti istruzioni per aggiungere un modello Vertex AI Vision preaddestrato al grafico dell'app.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina del generatore di applicazioni, seleziona il modello da aggiungere dall'elenco Modelli di AI. Ogni modello ha impostazioni di configurazione individuali.
Per connettere questo modello a un nodo di origine di input, seleziona il nodo di origine e seleziona
Aggiungi output.Seleziona il nodo del modello di AI appena creato dall'elenco dei Nodi disponibili.
Aggiungere un modello Vertex AI addestrato dall'utente
Dopo aver creato un'app, puoi aggiungere un modello e collegarlo a stream, altri modelli o un magazzino multimediale.
Esistono due tipi di modelli: modelli preaddestrati o modelli addestrati dall'utente. Analogamente, anche i modelli addestrati dall'utente possono essere di due tipi: AutoML o con addestramento personalizzato:
- I modelli pre-addestrati svolgono un obiettivo specifico, vengono addestrati su dati generalizzati e sono pronti all'uso.
- I modelli AutoML o con addestramento personalizzato addestrati dall'utente richiedono di identificare e fornire dati di esempio e quindi addestrare modelli più adatti al tuo caso d'uso unico. Addestra questi modelli utilizzando Vertex AI, un prodotto che offre due opzioni di addestramento: modelli addestrati con AutoML e modelli con addestramento personalizzato. Per ulteriori informazioni, consulta la sezione Scegliere un metodo di addestramento.
Aggiungere un modello di flusso di rilevamento degli oggetti AutoML di Vertex AI
Segui le istruzioni riportate di seguito per aggiungere al grafico dell'app un modello di flusso di rilevamento di oggetti AutoML di Vertex AI che addestri.
Prima di poter addestrare un modello Vertex AI AutoML, devi preparare i dati di rilevamento degli oggetti e creare un set di dati.
Addestra un modello da utilizzare in Vertex AI Vision
Dopo aver creato un set di dati con una raccolta rappresentativa di dati in Vertex AI, puoi addestrare un modello da utilizzare in Vertex AI Vision.
Console
Nella console Google Cloud , nella dashboard Vertex AI, vai alla pagina Set di dati.
Fai clic sul nome del set di dati che vuoi utilizzare per addestrare il modello per aprire la pagina dei dettagli.
Se il tipo di dati utilizza set di annotazioni, seleziona quello che vuoi utilizzare per questo modello.
Fai clic su Addestra nuovo modello.
Nella pagina Addestra nuovo modello, completa i seguenti passaggi per il modello di rilevamento degli oggetti immagine AutoML:
Nella sezione Metodo di addestramento del modello, scegli
AutoML.Nella sezione Scegli dove utilizzare il modello, seleziona
Vertex AI Vision.Fai clic su Continua.
Compila i valori per le sezioni Dettagli modello, Opzioni di addestramento e Calcolo e prezzi. Per informazioni più dettagliate, consulta Addestramento di un modello AutoML (consoleGoogle Cloud ).
Fai clic su Inizia addestramento.
L'addestramento del modello può richiedere molte ore, a seconda delle dimensioni e della complessità dei dati e del budget di addestramento, se ne hai specificato uno. Puoi chiudere questa scheda e tornarci in un secondo momento. Riceverai un'email al termine dell'addestramento del modello.
Aggiungere il modello addestrato all'app
Una volta completato l'addestramento del modello, puoi aggiungerlo all'app Vertex AI Vision.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina del generatore di applicazioni, seleziona Aggiungi modello Vertex AI dall'elenco dei componenti laterali. Se selezioni questa opzione, si apre un menu laterale.
Nel menu Aggiungi modello Vertex AI, lascia selezionata l'opzione
Importa un modello addestrato da Vertex AI, quindi scegli il modello dall'elenco dei modelli Vertex AI AutoML esistenti.Dopo aver scelto il modello da importare, seleziona Aggiungi modello.
Dopo aver fatto clic sul pulsante Aggiungi modello, verrà visualizzato un modello in attesa sul lato della pagina di creazione del grafico. Dopo alcuni secondi, il modello è pronto per l'uso.
Aggiungere un modello personalizzato Vertex AI
Puoi anche importare modelli addestrati personalizzati di Vertex AI in Vertex AI Vision per utilizzarli per l'analisi dei dati. Questi modelli con addestramento personalizzato devono avere le seguenti proprietà:
- Il modello deve essere stateless, poiché l'input del modello sono le immagini che provengono da diverse istanze dell'applicazione (stream) e potrebbero essere fuori ordine. Se hai bisogno di un'elaborazione di streaming stateful, potresti dover conservare gli stati all'interno del tuo container.
- La dimensione dell'input del modello è limitata a 1,5 MB. Di conseguenza, Vertex AI Vision deve comprimere l'immagine RGB originale in un formato con perdita di dati, ad esempio JPG.
Segui le istruzioni riportate di seguito per aggiungere al grafico dell'app un modello video personalizzato addestrato di Vertex AI esistente.
Per informazioni sulla creazione di un modello con addestramento personalizzato Vertex AI con container personalizzato, consulta Utilizzare un container personalizzato per la previsione.
Specifica un file YAML delle istanze
Quando aggiungi un modello addestrato personalizzato di Vertex AI, devi specificare un file YAML di istanze (instances.yaml
) archiviato in Cloud Storage. Questo
file specifica l'input previsto per il container del modello.
Vertex AI invia la richiesta di previsione in un formato:
{
"instances": [
<value>|<simple/nested list>|<object>,
...
]
}
Qui, instances.yaml
definisce lo schema del payload. Per saperne di più,
consulta
Generazione di previsioni online da modelli con addestramento personalizzato.
Vertex AI Vision supporta solo modelli con addestramento personalizzato con esattamente un input di previsione denominato. Questo tipo di input deve essere una stringa JPEG codificata. Lo schema dell'input di previsione deve essere specificato con il file YAML dello schema delle istanze. Questo file YAML dello schema deve essere nel formato di un oggetto schema OpenAPI.
Ad esempio, il seguente schema riceverà la richiesta con l'immagine
codificata in un campo denominato image_bytes
:
properties:
image_bytes:
type: string
Il tuo modello personalizzato riceve l'input di previsione nel seguente formato:
{
"instances": [
{
"image_bytes" : {
"b64": "BASE64_ENCODED_IMAGE_BYTES"
}
}
]
}
Prima di importare il modello in Vertex AI Vision, verifica che funzioni correttamente con questo input.
Specifica un file YAML delle previsioni
Quando aggiungi un modello addestrato personalizzato di Vertex AI, puoi specificare un file YAML delle previsioni (predictions.yaml
) archiviato in Cloud Storage. Questo
file specifica l'output del contenitore del modello.
Questo file è facoltativo, ma consigliato per comunicare a Vertex AI Vision la struttura di output del modello. Ad esempio, il seguente file
classification_1.0.0.yaml
descrive le informazioni sull'output del modello per un modello di classificazione delle immagini:
title: Classification
type: object
description: >
The predicted AnnotationSpecs.
properties:
ids:
type: array
description: >
The resource IDs of the AnnotationSpecs that had been identified.
items:
type: integer
format: int64
enum: [0] # As values of this enum all AnnotationSpec IDs the Model
# was trained on will be populated.
displayNames:
type: array
description: >
The display names of the AnnotationSpecs that had been identified,
order matches the IDs.
items:
type: string
enum: [""] # As values of this enum all AnnotationSpec display_names
# the Model was trained on will be populated.
confidences:
type: array
description: >
The Model's confidences in correctness of the predicted IDs, higher
value means higher confidence. Order matches the Ids.
items:
type: number
format: float
minimum: 0.0
maximum: 1.0
Aggiungi il modello con addestramento personalizzato
Utilizza il seguente esempio per aggiungere il modello addestrato personalizzato di Vertex AI alla tua app.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Nella pagina del generatore di applicazioni, seleziona Aggiungi modello Vertex AI dall'elenco dei componenti laterali. Se selezioni questa opzione, si apre un menu laterale.
Nel menu Aggiungi modello Vertex AI, lascia selezionata l'opzione
Importa un modello addestrato da Vertex AI, quindi scegli il modello dall'elenco dei modelli Vertex AI AutoML esistenti.Specifica un nome per il modello.
Specifica il file YAML delle istanze in Cloud Storage che definisce il formato di una singola istanza utilizzata nelle richieste di previsione e spiegazione.
(Facoltativo) Specifica il file YAML dello schema delle previsioni in Cloud Storage che definisce il formato di una singola previsione o spiegazione.
Dopo aver fornito il nome del modello, le istanze e le informazioni sulle previsioni, seleziona Aggiungi modello.
Dopo aver fatto clic sul pulsante Aggiungi modello, verrà visualizzato un modello in attesa sul lato della pagina del generatore di grafici. Dopo alcuni secondi, il modello è pronto per l'uso.
Facoltativo. Allegare i metadati dell'applicazione
Oltre ai byte dell'immagine, hai la possibilità di impostare
attach_application_metadata
per chiedere alla piattaforma dell'app Vertex AI Vision
di includere i metadati dell'applicazione da inviare al container
personalizzato.
I metadati hanno il seguente schema:
'appPlatformMetadata': {
'application': STRING;
'instanceId': STRING;
'node': STRING;
'processor': STRING;
}
Facoltativo. Aggiungi l'argomento Pub/Sub di configurazione dinamica
Per controllare dinamicamente il frame rate con cui l'operatore personalizzato Vertex invia
i frame video ai container personalizzati Vertex, puoi creare un argomento Pub/Sub. Aggiungilo
alla sezione Dynamic Configuration
delle impostazioni del nodo.
Se l'argomento Pub/Sub è configurato, il frame rate iniziale è 0. Durante l'elaborazione del video, puoi inviare messaggi Pub/Sub all'argomento Pub/Sub nel seguente formato in tempo reale per modificare il frame rate:
{
"stream_id": "input-stream-id",
"fps": 5,
}
Il campo stream_id
deve corrispondere all'ID dello stream di input dell'applicazione.
Account di servizio e autorizzazioni
Le credenziali di servizio predefinite del contenitore personalizzato sono state configurate per
ilaccount di serviziot di proprietà di Google della piattaforma di app Vertex AI Vision.
Per accedere ad altri Google Cloud
servizi dal contenitore, concedi l'autorizzazione appropriata a:
service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com
Facoltativo. Notifica degli eventi del modello con le funzioni Cloud Run e Pub/Sub
In Vertex AI Vision, i modelli ricevono dati multimediali da dispositivi come le videocamere, eseguono previsioni di AI sui dati e producono annotazioni in modo continuo. Spesso invii i dati elaborati a una destinazione dati ("sink dati") come un data warehouse multimediale o BigQuery per ulteriori analisi. Tuttavia, potresti avere un caso in cui alcune annotazioni devono essere gestite in modo diverso o le esigenze di annotazione sono urgenti. Le integrazioni con le funzioni Cloud Run e Pub/Sub ti aiutano a soddisfare queste esigenze.
Modelli supportati
I seguenti modelli offrono l'integrazione della generazione di eventi di Cloud Run Functions e delle notifiche di eventi Pub/Sub:
- Modello di analisi delle presenze
- Modelli addestrati personalizzati di Vertex AI
Configura le funzioni Cloud Run per elaborare l'output del modello
Per attivare le notifiche basate su eventi, devi prima configurare le funzioni Cloud Run per elaborare l'output del modello e generare eventi.
La funzione Cloud Run si connette al modello e ascolta il suo output
come azione di post-elaborazione. La funzione Cloud Run deve restituire
un AppPlatformCloudFunctionResponse
. Gli eventi
(appplatformeventbody
) vengono
inviati all'argomento Pub/Sub che configuri nel passaggio successivo.
Per visualizzare una funzione Cloud Run di esempio, consulta Attivare la notifica degli eventi del modello con Cloud Functions e Pub/Sub.
Utilizza le seguenti istruzioni per inviare il flusso di output del modello alla funzione Cloud Run:
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona
Visualizza app accanto al nome dell'applicazione nell'elenco.Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.
Nell'elenco Post-elaborazione della sezione Notifica evento, seleziona la funzione Cloud Run esistente o creane una nuova.
Attivare la notifica degli eventi del modello con Pub/Sub
Dopo aver configurato le funzioni Cloud Run per elaborare l'output del modello e generare eventi, puoi configurare la notifica degli eventi con Pub/Sub. Per leggere i messaggi di un argomento, devi anche Scegliere e creare una sottoscrizione Pub/Sub.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona
Visualizza app accanto al nome dell'applicazione nell'elenco.Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.
Nella sezione Notifica degli eventi, seleziona Configura la notifica degli eventi.
Nella finestra dell'opzione Configura Pub/Sub per le notifiche degli eventi che si apre, scegli l'argomento Pub/Sub esistente o creane uno nuovo.
Nel campo Frequenza, imposta un valore intero per la frequenza in secondi con cui può essere inviata una notifica per lo stesso tipo di evento.
Fai clic su Configura.
Collega l'output del modello a un nodo downstream
Dopo aver creato un nodo modello, puoi collegare il suo output a un altro nodo.
Console
Apri la scheda Applicazioni della dashboard di Vertex AI Vision.
Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.
Fai clic su un nodo del modello che restituisce dati nel builder del grafico dell'applicazione (ad esempio, il nodo del modello Conteggio occupazione).
Nel riquadro delle impostazioni laterale, fai clic sul pulsante Aggiungi output.
Aggiungi un nuovo output e scegli un nuovo nodo di output da aggiungere oppure seleziona un Nodo disponibile esistente a cui inviare l'output.
Collega l'output a una destinazione dati
Dopo aver creato lo streaimportazione datiti e aggiunto i nodi di elaborazione all'app, devi scegliere dove inviare i dati elaborati. Questa destinazione dei dati è l'endpoint del grafico dell'app che accetta i dati dello stream senza produrre dati dello stream. La destinazione che scegli dipende da come utilizzi i dati di output dell'app.

Puoi collegare i dati di output dell'app alle seguenti destinazioni dati:
Vision Warehouse: archivia i dati video originali o analizzati che puoi visualizzare ed eseguire query.
Per ulteriori informazioni sull'invio dei dati di output dell'app a un Vision Warehouse, vedi Connettere e archiviare i dati in un warehouse.
BigQuery: archivia i dati in BigQuery per utilizzare le sue funzionalità di analisi offline.
Per ulteriori informazioni sull'invio dei dati di output dell'app a BigQuery, consulta Connettere e archiviare i dati in BigQuery.
Dati del live streaming: se vuoi un controllo più granulare per agire in base all'analisi in tempo reale, puoi ricevere l'output live dalla tua app.
Per saperne di più sullo streaming diretto dei dati di output dell'app, vedi Attivare l'output del live streaming.
Aggiornare un'app
App non implementate
Apporta le modifiche all'app (ad esempio aggiungendo o rimuovendo nodi dei componenti). Vertex AI Vision memorizzerà automaticamente le modifiche.
Passaggi successivi
- Scopri come eseguire il deployment della tua app per importare e analizzare i dati in Eseguire il deployment di un'applicazione.
- Leggi le istruzioni su come iniziare l'importazione dati dal flusso di input di un'app in Creare e gestire stream.
- Scopri come elencare le app e visualizzare le istanze di un'app di cui è stato eseguito il deployment in Gestione delle applicazioni.
- Scopri come leggere i dati di input dell'app da uno stream di importazione o i dati di output del modello analizzati in Leggi i dati dello stream.