Attivare la notifica degli eventi del modello con Cloud Functions e Pub/Sub

In Gemini Enterprise Agent Platform 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 questi dati elaborati a una destinazione di dati ("sink di dati") come un media warehouse o BigQuery per ulteriori job di analisi. Tuttavia, potresti avere un caso in cui alcune annotazioni devono essere gestite in modo diverso o le esigenze di annotazione sono sensibili al tempo. Le integrazioni con Cloud Run Functions e Pub/Sub ti aiutano a soddisfare queste esigenze.

Per poter attivare le notifiche degli eventi del modello, devi:

  1. Ascoltare i dati del modello e generare eventi da questi utilizzando Cloud Run Functions.
  2. Inviare gli eventi generati da Cloud Run Functions tramite il canale di eventi Pub/Sub.

Modelli supportati

I seguenti modelli offrono integrazioni per la generazione di eventi di Cloud Run Functions e le notifiche di eventi Pub/Sub:

Prima di iniziare

Configurare Cloud Run Functions per elaborare l'output del modello

Per attivare le notifiche basate su eventi, devi prima configurare Cloud Run Functions per elaborare l'output del modello e generare eventi.

La funzione Cloud Run si connette al modello e ne ascolta l'output come azione di post-elaborazione. La funzione Cloud Run deve restituire un AppPlatformCloudFunctionResponse. Gli eventi (appplatformeventbody) vengono inviati all'argomento Pub/Sub configurato nel passaggio successivo.

Esempio di funzione Cloud Run (modello di analisi dell'occupazione)

Esempio di funzione Cloud Run

/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.hello_http = (req, res) => {
// Logging statement can be read with cmd `gcloud functions logs read {$functionName}`.
// For more about logging, please see https://cloud.google.com/functions/docs/monitoring

// The processor output will be stored in req.body.
const messageString = constructMessage(req.body);

// Send your message to operator output with res HTTP response context.
res.status(200).send(messageString);
};

function constructMessage(data) {
// Typically, your processor output should contains appPlatformMetadata & it's designed output.
// Here we will use the occupancy analytics model as an example.
const appPlatformMetadata = data.appPlatformMetadata;
const annotations = data.annotations;
const events = [];
for(const annotation of annotations) {
   events.push({
      "event_message": "Event message goes here",
      "payload" : {
         "attr_key_goes_here" : "val_goes_here"
      },
      "event_id" : "event_id_goes_here"
   });
}

// Typically, your cloud function should return a string represent a JSON which has two fields:
// "annotations" must follow the specification of the target model.
// "events" should be of type "AppPlatformEventBody".
const messageJson = {
   "annotations": annotations,
   "events": events,
};
return JSON.stringify(messageJson);
}

Utilizza le seguenti istruzioni per inviare il flusso di output del modello alla funzione Cloud Run:

Console

  1. Apri la scheda Applicazioni della dashboard di Gemini Enterprise Agent Platform Vision.

    Vai alla scheda Applicazioni

  2. Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.

  3. Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.

  4. Nell'elenco post-elaborazione della sezione Notifica di un evento , seleziona la funzione Cloud Run esistente o creane una nuova.

    Seleziona l'immagine della funzione Cloud Function di post-elaborazione nella console Cloud

Attivare la notifica di un evento del modello con Pub/Sub

Dopo aver configurato Cloud Run Functions per elaborare l'output del modello e generare eventi, puoi configurare la notifica degli eventi con Pub/Sub. Per leggere i messaggi da un argomento, devi anche scegliere e creare una sottoscrizione Pub/Sub.

Console

  1. Apri la scheda Applicazioni della dashboard di Gemini Enterprise Agent Platform Vision.

    Vai alla scheda Applicazioni

  2. Seleziona Visualizza app accanto al nome dell'applicazione nell'elenco.

  3. Fai clic sul modello supportato per aprire il riquadro laterale dei dettagli del modello.

  4. Nella sezione Notifica eventi, seleziona Configura notifica eventi.

  5. Nella finestra delle opzioni Configura Pub/Sub per le notifiche degli eventi che si apre, scegli l'argomento Pub/Sub esistente o creane uno nuovo.

  6. Nel campo Frequenza, imposta un valore intero per la frequenza in secondi con cui è possibile inviare una notifica per lo stesso tipo di evento.

    Configurare l'immagine di notifica di un evento in console Cloud

  7. Fai clic su Configura.

Passaggi successivi