Mengaktifkan notifikasi peristiwa model dengan Cloud Functions dan Pub/Sub

Di Gemini Enterprise Agent Platform Vision, model menerima data media dari perangkat seperti kamera, menjalankan prediksi AI pada data, dan menghasilkan anotasi secara berkelanjutan. Sering kali Anda mengirim data yang diproses tersebut ke tujuan data ("sink data") seperti media warehouse atau BigQuery untuk tugas analisis lebih lanjut. Namun, Anda mungkin memiliki kasus di mana beberapa anotasi harus ditangani secara berbeda, atau kebutuhan anotasi bersifat mendesak. Integrasi dengan fungsi Cloud Run dan Pub/Sub membantu Anda memenuhi kebutuhan ini.

Untuk dapat mengaktifkan notifikasi peristiwa model, Anda harus melakukan hal berikut:

  1. Pantau data model dan buat peristiwa dari data tersebut menggunakan Cloud Run Functions.
  2. Kirim peristiwa yang dihasilkan fungsi Cloud Run melalui saluran peristiwa Pub/Sub.

Model yang didukung

Model berikut menawarkan integrasi pembuatan peristiwa Cloud Run Functions dan notifikasi peristiwa Pub/Sub:

Sebelum memulai

  • Buat aplikasi dengan minimal satu node stream dan satu node model yang didukung.
  • Opsional. Instal Gemini Enterprise Agent Platform Vision SDK dan masukkan data ke dalam aplikasi Anda. Jika Anda tidak melakukannya sebelum menyiapkan notifikasi peristiwa, Anda harus melakukannya setelahnya.
  • Opsional. Buat fungsi Cloud Run untuk digunakan. Jika Anda tidak membuat fungsi Cloud Run sebelum mengonfigurasi fungsi Cloud Run untuk memproses output model, Anda harus membuatnya selama proses tersebut.
  • Opsional. Buat topik Pub/Sub untuk digunakan. Jika Anda tidak membuat topik Pub/Sub sebelum mengaktifkan notifikasi peristiwa model dengan Pub/Sub, Anda harus membuatnya selama proses tersebut.
  • Opsional. Pilih dan buat langganan Pub/Sub. Jika Anda tidak membuat langganan Pub/Sub sebelum mengaktifkan notifikasi peristiwa model dengan Pub/Sub, Anda harus membuatnya setelah membaca pesan dari topik.

Mengonfigurasi fungsi Cloud Run untuk memproses output model

Untuk memicu notifikasi berbasis peristiwa, Anda harus menyiapkan fungsi Cloud Run terlebih dahulu untuk memproses output model dan menghasilkan peristiwa.

Fungsi Cloud Run Anda terhubung ke model dan memproses outputnya sebagai tindakan pasca-pemrosesan. Fungsi Cloud Run yang harus Anda tampilkan adalah AppPlatformCloudFunctionResponse. Peristiwa (appplatformeventbody) dikirim ke topik Pub/Sub yang Anda konfigurasi di langkah berikutnya.

Contoh fungsi Cloud Run (model analisis hunian)

Contoh fungsi 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);
}

Gunakan petunjuk berikut untuk mengirimkan aliran output model ke fungsi Cloud Run Anda:

Konsol

  1. Buka tab Aplikasi di dasbor Vision Gemini Enterprise Agent Platform.

    Buka tab Aplikasi

  2. Pilih Lihat aplikasi di samping nama aplikasi Anda dari daftar.

  3. Klik model yang didukung untuk membuka panel samping detail model.

  4. Di daftar post-processing pada bagian Event notification, pilih fungsi Cloud Run yang ada, atau buat yang baru.

    Memilih gambar Cloud Function pasca-pemrosesan di Konsol Cloud

Mengaktifkan notifikasi peristiwa model dengan Pub/Sub

Setelah menyiapkan fungsi Cloud Run untuk memproses output model dan membuat peristiwa, Anda dapat menyiapkan notifikasi peristiwa dengan Pub/Sub. Untuk membaca pesan dari topik, Anda juga perlu Memilih dan membuat langganan Pub/Sub.

Konsol

  1. Buka tab Aplikasi di dasbor Vision Gemini Enterprise Agent Platform.

    Buka tab Aplikasi

  2. Pilih Lihat aplikasi di samping nama aplikasi Anda dari daftar.

  3. Klik model yang didukung untuk membuka panel samping detail model.

  4. Di bagian Notifikasi acara, pilih Siapkan notifikasi acara.

  5. Di jendela opsi Siapkan Pub/Sub untuk notifikasi peristiwa yang terbuka, pilih topik Pub/Sub yang ada, atau buat topik baru.

  6. Di kolom Frekuensi, tetapkan nilai bilangan bulat untuk nilai frekuensi dalam detik notifikasi untuk jenis peristiwa yang sama dapat dikirim.

    Menyiapkan gambar notifikasi peristiwa di Cloud Console

  7. Klik Siapkan.

Langkah berikutnya