הפעלת התראות לגבי אירועים של מודלים באמצעות Cloud Functions ו-Pub/Sub

ב-Vertex AI Vision, מודלים מקבלים נתוני מדיה ממכשירים כמו מצלמות, מריצים חיזויים מבוססי-AI על הנתונים ומפיקים הערות באופן רציף. לרוב, שולחים את הנתונים המעובדים האלה ליעד נתונים (data sink), כמו מחסן מדיה או BigQuery, כדי לבצע ניתוחים נוספים. עם זאת, יכול להיות שיהיו מקרים שבהם צריך לטפל בחלק מההערות בצורה שונה, או שההערות רלוונטיות רק לפרק זמן מסוים. שילובים עם פונקציות Cloud Run ו-Pub/Sub עוזרים לכם לתת מענה לצרכים האלה.

כדי להפעיל התראות על אירועים במודל, צריך לבצע את הפעולות הבאות:

  1. האזנה לנתוני המודל ויצירת אירועים מהם באמצעות פונקציות Cloud Run.
  2. שליחת האירועים שנוצרו על ידי פונקציות Cloud Run דרך ערוץ האירועים של Pub/Sub.

מודלים נתמכים

המודלים הבאים מציעים שילובים של יצירת אירועים של פונקציות Cloud Run והתראות לגבי אירועים ב-Pub/Sub:

לפני שמתחילים

  • יוצרים אפליקציה עם צומת של זרם וצומת של מודל נתמך לפחות.
  • זה שינוי אופציונלי. מתקינים את Vertex AI Vision SDK ומעבירים נתונים לאפליקציה. אם לא עושים את זה לפני שמגדירים את ההתראה לגבי אירוע, צריך לעשות את זה אחרי.
  • זה שינוי אופציונלי. יוצרים פונקציית Cloud Run לשימוש. אם לא יוצרים את פונקציית Cloud Run לפני שמגדירים את פונקציות Cloud Run לעיבוד הפלט של המודל, צריך ליצור אותה במהלך התהליך.
  • זה שינוי אופציונלי. יוצרים נושא Pub/Sub לשימוש. אם לא יוצרים נושא Pub/Sub לפני שמפעילים התראות על אירועים במודל באמצעות Pub/Sub, צריך ליצור אותו במהלך התהליך.
  • זה שינוי אופציונלי. בחירה ויצירה של מינוי Pub/Sub. אם לא יצרתם מינוי ל-Pub/Sub לפני שהפעלתם את ההתראות על אירועים של מודלים באמצעות Pub/Sub, תצטרכו ליצור אותו אחר כך כדי לקרוא הודעות מנושא.

הגדרת פונקציות Cloud Run לעיבוד פלט של מודל

כדי להפעיל התראות מבוססות-אירועים, קודם צריך להגדיר פונקציות Cloud Run לעיבוד של פלט המודל וליצירת אירועים.

פונקציית 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. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Vertex AI Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. בוחרים באפשרות הצגת האפליקציה לצד שם האפליקציה מהרשימה.

  3. לוחצים על המודל הנתמך כדי לפתוח את חלונית הצד עם פרטי המודל.

  4. ברשימה post-processing שבקטע התראה לגבי אירוע, בוחרים פונקציית Cloud Run קיימת או יוצרים פונקציה חדשה.

    בחירת תמונה של פונקציה של Cloud Functions לעיבוד שלאחר מכן במסוף Cloud

הפעלת התראות לגבי אירועים של מודלים באמצעות Pub/Sub

אחרי שמגדירים פונקציות Cloud Run לעיבוד פלט של מודל וליצירת אירועים, אפשר להגדיר התראות על אירועים באמצעות Pub/Sub. כדי לקרוא הודעות מנושא, צריך גם לבחור וליצור מינוי ל-Pub/Sub.

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Vertex AI Vision.

    עוברים לכרטיסייה 'אפליקציות'.

  2. בוחרים באפשרות הצגת האפליקציה לצד שם האפליקציה מהרשימה.

  3. לוחצים על המודל הנתמך כדי לפתוח את חלונית הצד עם פרטי המודל.

  4. בקטע התראה לגבי האירוע, בוחרים באפשרות הגדרת התראה לגבי האירוע.

  5. בחלון האפשרות Set up Pub/Sub for event notifications שנפתח, בוחרים נושא Pub/Sub קיים או יוצרים נושא חדש.

  6. בשדה תדירות מגדירים ערך שלם לתדירות בשניות שבה אפשר לשלוח התראה לאותו סוג אירוע.

    הגדרת תמונה של התראה לגבי אירוע ב-Cloud Console

  7. לוחצים על הגדרה.

המאמרים הבאים