Mengaktifkan notifikasi peristiwa model dengan Cloud Functions dan Pub/Sub

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

Agar dapat mengaktifkan notifikasi peristiwa model, Anda perlu melakukan langkah-langkah berikut:

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

Model yang didukung

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

Sebelum memulai

  • Buat aplikasi dengan minimal node aliran data dan node model yang didukung.
  • Opsional. Instal Vertex AI Vision SDK dan serap data ke dalam aplikasi Anda. Jika Anda tidak melakukannya sebelum menyiapkan notifikasi peristiwa, Anda harus melakukannya setelahnya.
  • Opsional. Buat fungsi Cloud Run yang akan digunakan. Jika 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 yang akan digunakan. Jika 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 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 membuat peristiwa.

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

Contoh fungsi Cloud Run (model analisis jumlah tamu)

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 mengirim streaming output model ke fungsi Cloud Run Anda:

Konsol

  1. Buka tab Applications di dasbor Vertex AI Vision.

    Buka tab Applications

  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 pascapemrosesan pada bagian Notifikasi peristiwa, pilih fungsi Cloud Run yang ada, atau buat yang baru.

    Memilih gambar Cloud Functions pascapemrosesan di Cloud Console

Mengaktifkan notifikasi peristiwa model dengan Pub/Sub

Setelah menyiapkan fungsi Cloud Run untuk memproses output model dan menghasilkan 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 Applications di dasbor Vertex AI Vision.

    Buka tab Applications

  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 Frequency, tetapkan nilai bilangan bulat untuk nilai frekuensi dalam detik saat notifikasi untuk jenis peristiwa yang sama dapat dikirim.

    Menyiapkan gambar notifikasi peristiwa di Cloud Console

  7. Klik Siapkan.

Langkah berikutnya