Cloud Functions 및 Pub/Sub로 모델 이벤트 알림 사용 설정

Gemini Enterprise 에이전트 플랫폼 Vision에서 모델은 카메라와 같은 기기에서 미디어 데이터를 수신하고, 데이터에 대해 AI 예측을 실행하며, 주석을 지속적으로 생성합니다. 일반적으로 추가 분석 작업을 위해 처리된 데이터를 미디어 웨어하우스 또는 BigQuery와 같은 데이터 대상('데이터 싱크')으로 전송합니다. 그러나 일부 주석을 다르게 처리해야 하거나 주석 요구사항이 시간에 민감한 경우가 있을 수 있습니다. Cloud Run Functions 및 Pub/Sub와의 통합을 통해 이러한 요구사항을 해결할 수 있습니다.

모델 이벤트 알림을 사용 설정하려면 다음을 수행해야 합니다.

  1. Cloud Run Functions를 사용하여 모델 데이터를 수신 대기하고 모델 데이터에서 이벤트를 생성합니다.
  2. Pub/Sub 이벤트 채널을 통해 Cloud Run Functions에서 생성된 이벤트를 전송합니다.

지원되는 모델

다음 모델은 Cloud Run Functions 이벤트 생성 및 Pub/Sub 이벤트 알림 통합을 제공합니다.

시작하기 전에

  • 최소한 스트림 노드와 지원되는 모델 노드가 있는 앱을 만듭니다.
  • 선택사항입니다. Gemini Enterprise 에이전트 플랫폼 Vision SDK를 설치하고 데이터를 수집하여 앱으로 가져옵니다. 활동 알림을 설정하기 전에 이 작업을 수행하지 않으면 나중에 수행해야 합니다.
  • 선택사항입니다. 사용할 Cloud Run 함수를 만듭니다. 모델 출력을 처리하도록 Cloud Run Functions를 구성하기 전에 Cloud Run 함수를 만들지 않으면 해당 프로세스 중에 만들어야 합니다.
  • 선택사항입니다. 사용할 Pub/Sub 주제를 만듭니다. Pub/Sub로 모델 이벤트 알림을 사용 설정하기 전에 Pub/Sub 주제를 만들지 않으면 해당 프로세스 중에 만들어야 합니다.
  • 선택사항입니다. Pub/Sub 구독을 선택하고 만듭니다. Pub/Sub로 모델 활동 알림을 사용 설정하기 전에 Pub/Sub 구독을 만들지 않으면 나중에 만들어 주제에서 메시지를 읽어야 합니다.

모델 출력을 처리하도록 Cloud Run Functions 구성

이벤트 기반 알림을 트리거하려면 먼저 모델 출력을 처리하고 이벤트를 생성하도록 Cloud Run Functions를 설정해야 합니다.

Cloud Run 함수는 모델에 연결하고 후처리 작업으로 출력을 수신 대기합니다. Cloud Run 함수는 AppPlatformCloudFunctionResponse를 반환해야 합니다. 이벤트 (appplatformeventbody)는 다음 단계에서 구성하는 Pub/Sub 주제로 전송됩니다.

샘플 Cloud Run 함수 (점유 분석 모델)

샘플 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);
}

다음 안내에 따라 모델 출력 스트림을 Cloud Run 함수로 전송합니다.

콘솔

  1. Gemini Enterprise 에이전트 플랫폼 Vision 대시보드의 애플리케이션 탭을 엽니다.

    애플리케이션 탭으로 이동

  2. 목록에서 애플리케이션 이름 옆에 있는 앱 보기를 선택합니다.

  3. 지원되는 모델을 클릭하여 모델 세부정보 측면 패널을 엽니다.

  4. 활동 알림 섹션의 후처리 목록에서 기존 Cloud Run 함수를 선택하거나 새 함수를 만듭니다.

    Cloud 콘솔에서 후처리 Cloud 함수 이미지 선택

Pub/Sub로 모델 활동 알림 사용 설정

모델 출력을 처리하고 이벤트를 생성하도록 Cloud Run Functions를 설정한 후 Pub/Sub로 이벤트 알림을 설정할 수 있습니다. 주제에서 메시지를 읽으려면 Pub/Sub 구독을 선택하고 만들어야 합니다.

콘솔

  1. Gemini Enterprise 에이전트 플랫폼 Vision 대시보드의 애플리케이션 탭을 엽니다.

    애플리케이션 탭으로 이동

  2. 목록에서 애플리케이션 이름 옆에 있는 앱 보기를 선택합니다.

  3. 지원되는 모델을 클릭하여 모델 세부정보 측면 패널을 엽니다.

  4. 활동 알림 섹션에서 이벤트 알림 설정 을 선택합니다.

  5. 열리는 이벤트 알림을 위한 Pub/Sub 설정 옵션 창에서 기존 Pub/Sub 주제를 선택하거나 새 주제를 만듭니다.

  6. 빈도 필드에서 동일한 유형의 이벤트에 대한 알림을 전송할 수 있는 빈도 값을 초 단위의 정수 값으로 설정합니다.

    Cloud 콘솔에서 활동 알림 이미지 설정

  7. 설정 을 클릭합니다.

다음 단계