Ativar a notificação de eventos do modelo com o Cloud Functions e o Pub/Sub

Na plataforma de agentes do Gemini Enterprise Vision, os modelos recebem dados de mídia de dispositivos como câmeras, executam previsões de IA nos dados e produzem anotações continuamente. Com frequência, você envia esses dados processados para um destino de dados ("coletor de dados"), como um data warehouse de mídia ou o BigQuery, para outros jobs analíticos. No entanto, pode haver um caso em que algumas anotações precisam ser processadas de maneira diferente ou as necessidades de anotação são sensíveis ao tempo. As integrações com o Cloud Run functions e o Pub/Sub ajudam você a atender a essas necessidades.

Para ativar as notificações de eventos do modelo, faça o seguinte:

  1. Ouça os dados do modelo e gere eventos usando o Cloud Run functions.
  2. Envie os eventos gerados pelo Cloud Run functions pelo canal de eventos do Pub/Sub.

Modelos compatíveis

Os modelos a seguir oferecem geração de eventos do Cloud Run functions e integrações de notificação de eventos do Pub/Sub:

Antes de começar

Configurar o Cloud Run functions para processar a saída do modelo

Para acionar notificações baseadas em eventos, primeiro configure o Cloud Run functions para processar a saída do modelo e gerar eventos.

A função do Cloud Run se conecta ao modelo e ouve a saída como ação de pós-processamento. A função do Cloud Run precisa retornar um AppPlatformCloudFunctionResponse. Os eventos (appplatformeventbody) são enviados ao tópico do Pub/Sub que você configurar na próxima etapa.

Exemplo de função do Cloud Run (modelo de análise de ocupação)

Exemplo de função do 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);
}

Use as instruções a seguir para enviar o stream de saída do modelo para a função do Cloud Run:

Console

  1. Abra a guia Aplicativos do painel da plataforma de agentes do Gemini Enterprise Vision.

    Acessar a guia "Aplicativos"

  2. Selecione Ver app ao lado do nome do aplicativo na lista.

  3. Clique no modelo compatível para abrir o painel lateral de detalhes do modelo.

  4. Na lista pós-processamento da seção Notificação de eventos , selecione a função do Cloud Run ou crie uma.

    Selecionar a imagem da função do Cloud para pós-processamento no console do Cloud

Ativar a notificação de eventos do modelo com o Pub/Sub

Depois de configurar o Cloud Run functions para processar a saída do modelo e gerar eventos, você pode configurar a notificação de eventos com o Pub/Sub. Para ler mensagens de um tópico, também é necessário escolher e criar uma assinatura do Pub/Sub.

Console

  1. Abra a guia Aplicativos do painel da plataforma de agentes do Gemini Enterprise Vision.

    Acessar a guia "Aplicativos"

  2. Selecione Ver app ao lado do nome do aplicativo na lista.

  3. Clique no modelo compatível para abrir o painel lateral de detalhes do modelo.

  4. Na seção Notificação de eventos, selecione Configurar notificação de eventos.

  5. Na janela de opção Configurar o Pub/Sub para notificações de eventos que é aberta, escolha o tópico do Pub/Sub ou crie um.

  6. No campo Frequência, defina um valor inteiro para a frequência em segundos em que uma notificação do mesmo tipo de evento pode ser enviada.

    Configurar a imagem de notificação de evento no console do Cloud

  7. Clique em Configurar.

A seguir