Activer les notifications d'événements de modèle avec Cloud Functions et Pub/Sub

Dans Gemini Enterprise Agent Platform Vision, les modèles reçoivent des données multimédias provenant d'appareils tels que des caméras, exécutent des prédictions d'IA sur les données et produisent des annotations en continu. Vous envoyez souvent ces données traitées vers un récepteur de données (« récepteur de données ») tel qu'un entrepôt multimédia ou BigQuery pour d'autres tâches d'analyse de données. Toutefois, il peut arriver que certaines annotations doivent être traitées différemment ou que les besoins en annotations soient urgents. Les intégrations avec les fonctions Cloud Run et Pub/Sub vous aident à répondre à ces besoins.

Pour pouvoir activer les notifications d'événements de modèle, vous devez effectuer les opérations suivantes :

  1. Écoutez les données du modèle et générez des événements à partir de celles-ci à l'aide de Cloud Run Functions.
  2. Envoyez les événements générés par les fonctions Cloud Run via le canal d'événements Pub/Sub.

Modèles compatibles

Les modèles suivants proposent des intégrations pour la génération d'événements Cloud Run Functions et les notifications d'événements Pub/Sub :

Avant de commencer

Configurer Cloud Run Functions pour traiter la sortie du modèle

Pour déclencher des notifications basées sur des événements, vous devez d'abord configurer des fonctions Cloud Run pour traiter les résultats du modèle et générer des événements.

Votre fonction Cloud Run se connecte au modèle et écoute sa sortie en tant qu'action de post-traitement. La fonction Cloud Run doit renvoyer un AppPlatformCloudFunctionResponse. Les événements (appplatformeventbody) sont envoyés au sujet Pub/Sub que vous configurerez à l'étape suivante.

Exemple de fonction Cloud Run (modèle d'analyse de l'occupation)

Exemple de fonction 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);
}

Suivez les instructions ci-dessous pour envoyer le flux de sortie du modèle à votre fonction Cloud Run :

Console

  1. Ouvrez l'onglet Applications du tableau de bord Vision de Gemini Enterprise Agent Platform.

    Accéder à l'onglet "Applications"

  2. Sélectionnez Afficher l'application à côté du nom de votre application dans la liste.

  3. Cliquez sur le modèle compatible pour ouvrir le panneau latéral d'informations sur le modèle.

  4. Dans la liste post-processing de la section Event notification (Notification d'événement), sélectionnez votre fonction Cloud Run existante ou créez-en une.

    Sélectionner l'image de la fonction Cloud de post-traitement dans la console Cloud

Activer les notifications d'événements de modèle avec Pub/Sub

Une fois que vous avez configuré les fonctions Cloud Run pour traiter les résultats du modèle et générer des événements, vous pouvez configurer les notifications d'événements avec Pub/Sub. Pour lire les messages d'un sujet, vous devez également choisir et créer un abonnement Pub/Sub.

Console

  1. Ouvrez l'onglet Applications du tableau de bord Vision de Gemini Enterprise Agent Platform.

    Accéder à l'onglet "Applications"

  2. Sélectionnez Afficher l'application à côté du nom de votre application dans la liste.

  3. Cliquez sur le modèle compatible pour ouvrir le panneau latéral d'informations sur le modèle.

  4. Dans la section Notification d'événement, sélectionnez Configurer une notification d'événement.

  5. Dans la fenêtre d'option Configurer Pub/Sub pour les notifications d'événements qui s'ouvre, choisissez votre sujet Pub/Sub existant ou créez-en un.

  6. Dans le champ Fréquence, définissez une valeur entière pour la fréquence (en secondes) à laquelle une notification pour le même type d'événement peut être envoyée.

    Configurer l'image de notification d'événement dans la console Cloud

  7. Cliquez sur Configurer.

Étapes suivantes