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 sobre os 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 trabalhos de análise. No entanto, pode haver um caso em que algumas anotações precisam ser processadas de maneira diferente ou em que as necessidades de anotação são sensíveis ao tempo. As integrações com funções do Cloud Run e do Pub/Sub ajudam você a atender a essas necessidades.

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

  1. Acompanhe os dados do modelo e gere eventos com eles usando as funções do Cloud Run.
  2. Envie os eventos gerados pelas funções do Cloud Run pelo canal de eventos do Pub/Sub.

Modelos compatíveis

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

Antes de começar

Configurar funções do Cloud Run para processar a saída do modelo

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

Sua função do Cloud Run se conecta ao modelo e detecta a saída dele 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ê configura 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 fluxo de saída do modelo para a função do Cloud Run:

Console

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

    Acesse 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 evento, selecione sua função do Cloud Run ou crie uma nova.

    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 as funções do Cloud Run para processar a saída do modelo e gerar eventos, é possível configurar a notificação de eventos com o Pub/Sub. Para ler mensagens de um tópico, você também precisa Escolher e criar uma assinatura do Pub/Sub.

Console

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

    Acesse 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 evento, selecione Configurar notificação de evento.

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

  6. No campo Frequência, defina um valor inteiro para a frequência em segundos com 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