Habilita la notificación de eventos del modelo con Cloud Functions y Pub/Sub

En Gemini Enterprise Agent Platform Vision, los modelos reciben datos multimedia de dispositivos como cámaras, ejecutan predicciones de IA sobre los datos y producen anotaciones de forma continua. Con frecuencia, envías esos datos procesados a un destino de datos ("receptor de datos"), como un almacén de contenido multimedia o BigQuery, para realizar más trabajos de análisis. Sin embargo, es posible que haya casos en los que algunas anotaciones deban manejarse de manera diferente o que las necesidades de anotación sean sensibles al tiempo. Las integraciones con Cloud Run Functions y Pub/Sub te ayudan a satisfacer estas necesidades.

Para poder habilitar las notificaciones de eventos del modelo, debes hacer lo siguiente:

  1. Escucha los datos del modelo y genera eventos a partir de ellos con Cloud Run Functions.
  2. Envía los eventos generados por Cloud Run Functions a través del canal de eventos de Pub/Sub.

Modelos compatibles

Los siguientes modelos ofrecen integraciones de generación de eventos de Cloud Run Functions y notificaciones de eventos de Pub/Sub:

Antes de comenzar

Configura Cloud Run Functions para procesar el resultado del modelo

Para activar las notificaciones basadas en eventos, primero debes configurar Cloud Run Functions para procesar el resultado del modelo y generar eventos.

Tu función de Cloud Run se conecta al modelo y escucha su resultado como su acción de procesamiento posterior. La función de Cloud Run debe mostrar un AppPlatformCloudFunctionResponse. Los eventos (appplatformeventbody) se envían al tema de Pub/Sub que configures en el siguiente paso.

Función de Cloud Run de muestra (modelo de análisis de ocupación)

Función de Cloud Run de muestra

/**
* 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);
}

Usa las siguientes instrucciones para enviar el resultado del modelo a tu función de Cloud Run:

Console

  1. Abre la pestaña Aplicaciones del panel de Gemini Enterprise Agent Platform Vision.

    Ir a la pestaña Aplicaciones

  2. Selecciona Ver app junto al nombre de tu aplicación en la lista.

  3. Haz clic en el modelo compatible para abrir el panel lateral de detalles del modelo.

  4. En la lista post-processing de la sección notificación de evento , selecciona tu función de Cloud Run existente o crea una nueva.

    Selecciona la imagen de Cloud Function de procesamiento posterior en Cloud Console

Habilita la notificación de eventos del modelo con Pub/Sub

Después de configurar Cloud Run Functions para procesar el resultado del modelo y generar eventos, puedes configurar la notificación de eventos con Pub/Sub. Para leer mensajes de un tema, también debes elegir y crear una suscripción a Pub/Sub.

Console

  1. Abre la pestaña Aplicaciones del panel de Gemini Enterprise Agent Platform Vision.

    Ir a la pestaña Aplicaciones

  2. Selecciona Ver app junto al nombre de tu aplicación en la lista.

  3. Haz clic en el modelo compatible para abrir el panel lateral de detalles del modelo.

  4. En la sección Notificación de evento, selecciona Configurar notificación de evento.

  5. En la ventana de opciones Set up Pub/Sub for event notifications que se abre, elige tu tema de Pub/Sub existente o crea uno nuevo.

  6. En el campo Frequency, establece un valor entero para la frecuencia en segundos en la que se puede enviar una notificación para el mismo tipo de evento.

    Configura la imagen de notificación de eventos en Cloud Console

  7. Haz clic en Configurar.

¿Qué sigue?