פיתוח אפליקציה

בדף הזה נסביר איך ליצור אפליקציה ולשלב רכיבים – כמו זרמי קלט, מודלים לניתוח ומחסני נתונים לאחסון – לשימוש בפלטפורמת האפליקציות של Gemini Enterprise Agent Platform Vision.

כדי לבנות אפליקציה, צריך לקחת בחשבון את מקורות הנתונים, את הניתוח שרוצים לבצע ואת האופן שבו רוצים לאחסן את התוצאות. אפליקציה מקצה לקצה יכולה לכלול טפסים שונים בהתאם לתרחיש השימוש. לכן, אופן בניית האפליקציה תלוי ביעד שלכם.

לפני שמתחילים, חשוב להעריך את תרחיש השימוש והיעד מנקודת מבט של אתיקה של בינה מלאכותית, ולחשוב על ההשפעה של המודלים והאפליקציות על משתמשי הקצה במקרה של בעיות. מידע נוסף על השלבים הראשונים בתהליך הערכת התרחיש לדוגמה לצורך הוגנות בנוסף, חשוב לוודא שהשימוש שלכם ב-Gemini Enterprise Agent Platform Vision תואם Google Cloudלתנאים ולהגבלות של או לגרסה אופליין שלהם, ולתנאים של כתובות ה-URL שמשולבים בהם, כמו מדיניות השימוש המקובל של Google Cloud.

במהלך יצירת האפליקציה, חשוב לזכור שטכנולוגיות ראייה מבוססות-AI עלולות לחזק או ליצור הטיה לא הוגנת ולהשפיע על זכויות אדם בסיסיות. במהלך פיתוח האפליקציה, חשוב לבצע שיקולים אתיים על סמך הערכים של החברה, ובדיקת נאותות משפטית לגבי תרחיש השימוש הספציפי שלכם, כולל תרחישי שימוש בסיכון גבוה. כמו בכל הטכנולוגיות, אתם צריכים להביא בחשבון את כל החוקים והתקנות הרלוונטיים שחלים על השימוש שלכם בטכנולוגיות AI/ML באזור שבו אתם מטמיעים את הטכנולוגיה. הלקוחות אחראים לבדיקת הנאותות הנדרשת להטמעה של תרחישי שימוש שנחשבים לסיכון גבוה באזור מסוים.

יצירת אפליקציה חדשה

כדי להוסיף רכיבים כמו מקור נתונים או מודלים לאפליקציה, צריך קודם ליצור את האפליקציה עצמה. כדי שאפשר יהיה לפרוס אפליקציות, הן צריכות לכלול את הרכיבים הבאים:

  • צומת קלט של מקור נתונים (מקור נתונים).
  • לפחות צומת רכיב אחד נוסף, כמו מודל או מחסן.

יצירת אפליקציה חדשה בהתאמה אישית

המסוף

יוצרים אפליקציה במסוף Google Cloud .

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

  2. לוחצים על הלחצן יצירה.

  3. מזינים את שם האפליקציה ובוחרים את האזור. אזורים נתמכים

  4. לוחצים על יצירה.

יצירת אפליקציה באמצעות תבנית

המסוף

יוצרים אפליקציה במסוף Google Cloud .

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

  2. לוחצים על הלחצן יצירה.

  3. מזינים את שם האפליקציה ובוחרים את האזור. אזורים נתמכים

  4. לוחצים על יצירה.

  5. בדף של כלי בניית האפליקציות, לוחצים על הצומת Application template (תבנית אפליקציה).

  6. בחלונית ההגדרות הצדדית, לוחצים על הלחצן בחירת מודל.

  7. בוחרים מודל מהתפריט הנפתח.

הוספת קלט של מקור נתונים

אפליקציה חייבת להכיל צומת של וידאו בסטרימינג. לא ניתן לפרוס את האפליקציה אם לא מוסיפים צומת Streams.

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

המסוף

מוסיפים מקור לנתוני האפליקציה במסוף Google Cloud .

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

  2. לוחצים על הצגת האפליקציה ליד האפליקציה הרצויה.
  3. ברשימת הרכיבים שבצד, בוחרים באפשרות Video streams (זרמי וידאו) מתוך רשימת Connectors (מחברים). צומת הסטרימינג נוסף לתרשים האפליקציה, ונפתח תפריט צדדי של זרמי וידאו.
  4. לוחצים על הוספת מקורות נתונים של סרטונים.
  5. אם בוחרים באפשרות בחירה מתוך מקורות נתונים קיימים, בוחרים את מקור הנתונים הקיים ולוחצים על הוספת מקורות נתונים.

    אם בוחרים באפשרות Register new streams (רישום מקורות נתונים חדשים), מוסיפים שם למקור הנתונים החדש ולוחצים על Add streams (הוספת מקורות נתונים).

REST

כדי להוסיף מקור נתונים לאפליקציה, שולחים בקשת POST באמצעות השיטה projects.locations.applications.addStreamInput.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

ה-method של ה-HTTP וכתובת ה-URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

גוף בקשת JSON:

{
  "applicationStreamInputs": [
     {
       "streamWithAnnotation": {
         "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
       }
     },
     {
       "streamWithAnnotation": {
         "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
       }
     }
   ]
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

הוספת קלט של מקור נתונים עם הערות לצמתים

כשיוצרים זרם קלט של אפליקציה, אפשר להוסיף הערות לזרם באמצעות Gemini Enterprise Agent Platform Vision API. אפשר גם להוסיף הערות לצומת בGoogle Cloud מסוף.

המסוף

בדוגמה הבאה מוסיפים הערות זמינות (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE ו-STREAM_ANNOTATION_TYPE_CROSSING_LINE) למודל של ספירת תפוסה.

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

  3. בדף של כלי בניית האפליקציות, בוחרים את המודל עם קלט הסטרימינג שרוצים להוסיף לו הערות.

  4. בחלונית הצדדית של הגדרות המודל, מרחיבים את הקטע 'הגדרות מתקדמות'. אחרי שמרחיבים את הקטע, לוחצים על הלחצן יצירת אזורים או קווים פעילים.

  5. בתצוגת הגלריה של השידור, בוחרים שידור קלט כדי לצייר אזורים או קווים פעילים.

  6. בתצוגת העריכה, בוחרים באפשרות הוספת קווים עם כמה נקודות או באפשרות הוספת פוליגון פשוט כדי להוסיף הערות. אפשר להשתמש בחלונית הצדדית כדי לשנות את השם של האזור או של הקו, למחוק אזורים או קווים קיימים או להחליף את כיוון הקו.

‏REST ושורת הפקודה

בדוגמה הבאה מוצג קוד להוספת הערות לסטרימינג.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT: מזהה הפרויקט או מספר הפרויקט ב- Google Cloud.
  • ‫LOCATION_ID: האזור שבו אתם משתמשים ב-Agent Platform Vision. לדוגמה: us-central1, ‏ europe-west4. אזורים זמינים
  • ‫APPLICATION_ID: המזהה של אפליקציית היעד.
  • ‫STREAM_ID: המזהה של מקור הנתונים של היעד.
  • ‫NODE_NAME: השם של צומת היעד בגרף האפליקציה. לדוגמה, builtin-occupancy-count.
  • ‫ANNOTATION_ID: המזהה של ההערה שרוצים להוסיף.
  • ‫ANNOTATION_DISPLAYNAME: השם המוצג שצוין על ידי המשתמש של ההערה שאתם רוצים להוסיף.
  • ‫ANNOTATION_TYPE: אחד מהערכים הזמינים של הטיפוס בן המנייה (enum). הסוג הזה חייב להיות זהה לאובייקט annotation_payload, כלומר activeZone או crossingLine. הערכים האפשריים הם:
    • STREAM_ANNOTATION_TYPE_UNSPECIFIED
    • STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
    • STREAM_ANNOTATION_TYPE_CROSSING_LINE
  • ‫normalizedVertices: כל קודקוד מצוין על ידי ערכי קואורדינטות x ו-y. הקואורדינטות הן ערכי float מנורמלים [0,1] ביחס לתמונה המקורית. 0.0 הוא X_MIN או Y_MIN, ‏ 1.0 הוא X_MAX או Y_MAX.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

גוף בקשת JSON:

{
  "applicationStreamInputs": [
    {
      "streamWithAnnotation": {
        "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID",
        "nodeAnnotations": [
          {
            "node": "NODE_NAME",
            "annotations": [
              {
                "id": "ANNOTATION_ID",
                "displayName": "ANNOTATION_DISPLAYNAME",
                "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID",
                "type": ANNOTATION_TYPE,
                "activeZone": {
                  "normalizedVertices": {
                    "x": 0.07434944,
                    "y": 0.18061674
                  },
                  "normalizedVertices": {
                    "x": 0.64684016,
                    "y": 0.16079295
                  },
                  "normalizedVertices": {
                    "x": 0.6047088,
                    "y": 0.92070484
                  },
                  "normalizedVertices": {
                    "x": 0.1251549,
                    "y": 0.76651984
                  }
                }
              }
            ]
          }
        ]
      }
    }
  ]
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

הסרת קלט של מקור נתונים

REST

כדי להסיר זרם מאפליקציה, שולחים בקשת POST באמצעות השיטה projects.locations.applications.removeStreamInput.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

ה-method של ה-HTTP וכתובת ה-URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput

גוף בקשת JSON:

{
  "targetStreamInputs": [
     {
       "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
     },
     {
       "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
     }
   ]
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content

אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

הוספת מודל Vision שעבר אימון מראש של Gemini Enterprise Agent Platform

אחרי שיוצרים אפליקציה, אפשר להוסיף מודל ולקשר אותו לסטרימינג, למודלים אחרים או למחסן מדיה.

יש שני סוגים של מודלים – מודלים שעברו אימון מראש או מודלים שאומנו על ידי המשתמש. באופן דומה, מודלים שאומנו על ידי משתמשים יכולים להיות משני סוגים – AutoML או מודלים עם אימון בהתאמה אישית:

  • מודלים שעברו אימון מראש מבצעים מטרה ספציפית, עוברים אימון על נתונים מוכללים ומוכנים לשימוש.
  • מודלים שעברו אימון מותאם אישית או מודלים של AutoML שאומנו על ידי משתמשים מחייבים אתכם לזהות ולספק נתוני דוגמה, ואז לאמן מודלים שמתאימים יותר לתרחיש השימוש הייחודי שלכם. אתם מאמנים את המודלים האלה באמצעות Vertex AI, מוצר שמציע שתי אפשרויות לאימון: מודלים שאומנו באמצעות AutoML ומודלים שאומנו בהתאמה אישית. מידע נוסף זמין במאמר בחירת שיטת אימון.

כך מוסיפים מודל ראייה שאומן מראש ב-Gemini Enterprise Agent Platform לגרף האפליקציה:

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

  3. בדף של כלי בניית האפליקציות, בוחרים את המודל שרוצים להוסיף מתוך הרשימה מודלים של AI. לכל מודל יש הגדרות קונפיגורציה משלו.

  4. כדי לחבר את המודל הזה לצומת של מקור קלט, בוחרים את צומת המקור ואז בוחרים באפשרות הוספת פלט.

  5. בוחרים את הצומת של מודל ה-AI החדש שנוצר מתוך הרשימה צמתים זמינים.

הוספת מודל של Vertex AI שאומן על ידי משתמש

אחרי שיוצרים אפליקציה, אפשר להוסיף מודל ולקשר אותו לסטרימינג, למודלים אחרים או למחסן מדיה.

יש שני סוגים של מודלים – מודלים שעברו אימון מראש או מודלים שאומנו על ידי המשתמש. באופן דומה, מודלים שאומנו על ידי משתמשים יכולים להיות משני סוגים – AutoML או מודלים עם אימון בהתאמה אישית:

  • מודלים שעברו אימון מראש מבצעים מטרה ספציפית, עוברים אימון על נתונים מוכללים ומוכנים לשימוש.
  • מודלים שעברו אימון מותאם אישית או מודלים של AutoML שאומנו על ידי משתמשים מחייבים אתכם לזהות ולספק נתוני דוגמה, ואז לאמן מודלים שמתאימים יותר לתרחיש השימוש הייחודי שלכם. אתם מאמנים את המודלים האלה באמצעות Vertex AI, מוצר שמציע שתי אפשרויות לאימון: מודלים שאומנו באמצעות AutoML ומודלים שאומנו בהתאמה אישית. מידע נוסף זמין במאמר בחירת שיטת אימון.

‫

הוספת מודל סטרימינג לזיהוי אובייקטים של Vertex AI AutoML

כדי להוסיף לגרף האפליקציה מודל סטרימינג של זיהוי אובייקטים ב-Vertex AI AutoML שאימנתם, פועלים לפי ההוראות הבאות.

לפני שתוכלו לאמן מודל AutoML ב-Vertex AI, תצטרכו להכין את הנתונים לזיהוי אובייקטים וליצור מערך נתונים.

אימון מודל לשימוש ב-Gemini Enterprise Agent Platform Vision

אחרי שיוצרים מערך נתונים עם אוסף מייצג של נתונים ב-Vertex AI, אפשר לאמן מודל לשימוש ב-Gemini Enterprise Agent Platform Vision.

המסוף

  1. במסוף Google Cloud , בלוח הבקרה של Vertex AI, עוברים לדף Datasets.

    כניסה לדף Datasets

  2. לוחצים על השם של מערך הנתונים שבו רוצים להשתמש כדי לאמן את המודל, כדי לפתוח את דף הפרטים שלו.

  3. אם סוג הנתונים שלכם משתמש בקבוצות של הערות, בוחרים את קבוצת ההערות שרוצים להשתמש בה במודל הזה.

  4. לוחצים על Train new model (אימון מודל חדש).

  5. בדף Train new model, פועלים לפי השלבים הבאים כדי לאמן את מודל זיהוי האובייקטים בתמונות של AutoML:

    1. בקטע שיטת אימון המודל, בוחרים באפשרות AutoML.

    2. בקטע Choose where to use the model (בחירת המקום לשימוש במודל), בוחרים באפשרות Gemini Enterprise Agent Platform Vision.

    3. לוחצים על Continue.

    4. ממלאים את הערכים בסעיפים פרטי המודל, אפשרויות ההדרכה וחישוב ומחירים. מידע מפורט יותר זמין במאמר בנושא אימון מודל AutoML (מסוףGoogle Cloud ).

    5. לוחצים על התחלת ההדרכה.

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

הוספת המודל המאומן לאפליקציה

אחרי שהמודל מסיים את האימון, אפשר להוסיף אותו לאפליקציית Gemini Enterprise Agent Platform Vision.

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

  3. בדף של הכלי ליצירת אפליקציות, בוחרים באפשרות Add Vertex AI Model (הוספת מודל Vertex AI) מתוך רשימת רכיבי הצד. בחירה באפשרות הזו פותחת תפריט צדדי.

  4. בתפריט 'הוספת מודל Vertex AI', משאירים את האפשרות ייבוא מודל מאומן מ-Vertex AI מסומנת, ואז בוחרים את המודל מתוך רשימת המודלים הקיימים של Vertex AI AutoML.

  5. אחרי שבוחרים את המודל לייבוא, לוחצים על הוספת מודל.

    אחרי שלוחצים על הלחצן הוספת מודל, מודל בהמתנה יופיע בצד של הדף של כלי ליצירת תרשימים. אחרי כמה שניות, המודל מוכן לשימוש.

הוספת מודל בהתאמה אישית של Vertex AI

אפשר גם לייבא מודלים שאומנו בהתאמה אישית ב-Vertex AI אל Gemini Enterprise Agent Platform Vision כדי להשתמש בהם לניתוח נתונים. למודלים האלה שעברו אימון בהתאמה אישית צריכים להיות המאפיינים הבאים:

  • המודל צריך להיות חסר מצב (stateless), כי הקלט של המודל הוא התמונות שמגיעות ממופעים שונים של האפליקציה (סטרימינג) והן עשויות להיות לא מסודרות. אם אתם צריכים עיבוד סטרימינג עם שמירת מצב, יכול להיות שתצטרכו לשמור את המצבים בתוך הקונטיינר שלכם.
  • גודל הקלט למודל מוגבל ל-1.5MB. לכן, Gemini Enterprise Agent Platform Vision צריך לדחוס את תמונת ה-RGB המקורית לפורמט עם אובדן נתונים, כמו JPG.

כדי להוסיף לגרף האפליקציה מודל וידאו קיים שאומן בהתאמה אישית ב-Vertex AI, פועלים לפי ההוראות הבאות.

מידע על יצירת מודל בהתאמה אישית ב-Vertex AI עם קונטיינר מותאם אישית זמין במאמר שימוש בקונטיינר מותאם אישית לחיזוי.

ציון קובץ YAML של מופעים

כשמוסיפים מודל מותאם אישית של Vertex AI, צריך לציין קובץ YAML של מופעים (instances.yaml) שמאוחסן ב-Cloud Storage. בקובץ הזה מצוין הקלט הצפוי למאגר המודלים.

‫Vertex AI שולח את בקשת החיזוי בפורמט:

{
  "instances": [
    <value>|<simple/nested list>|<object>,
    ...
  ]
}

כאן, instances.yaml מגדיר את הסכימה של מטען הייעודי (payload). מידע נוסף זמין במאמר בנושא קבלת חיזויים אונליין ממודלים מאומנים בהתאמה אישית.

‫Gemini Enterprise Agent Platform Vision תומך רק במודלים שעברו אימון בהתאמה אישית עם בדיוק קלט חיזוי שנקרא אחד. סוג הקלט הזה חייב להיות מחרוזת JPEG מקודדת. צריך לציין את הסכימה של קלט החיזוי באמצעות קובץ ה-YAML של סכימת המקרים. קובץ ה-YAML של הסכימה צריך להיות בפורמט של אובייקט סכימה של OpenAPI.

לדוגמה, הסכימה הבאה תקבל את הבקשה עם התמונה שמקודדת בשדה שנקרא image_bytes:

properties:
  image_bytes:
    type: string

הקלט של החיזוי במודל המותאם אישית שלכם הוא בפורמט הבא:

{
  "instances": [
    {
      "image_bytes" : {
        "b64": "BASE64_ENCODED_IMAGE_BYTES"
      }
    }
  ]
}

לפני שמייבאים את המודל ל-Gemini Enterprise Agent Platform Vision, צריך לוודא שהמודל פועל בצורה תקינה עם הקלט הזה.

ציון קובץ YAML של תחזיות

כשמוסיפים מודל שעבר אימון בהתאמה אישית ב-Vertex AI, אפשר לציין קובץ YAML של תחזיות (predictions.yaml) שמאוחסן ב-Cloud Storage. הקובץ הזה מציין את הפלט ממאגר המודלים.

הקובץ הזה הוא אופציונלי, אבל מומלץ להשתמש בו כדי להגדיר ל-Gemini Enterprise Agent Platform Vision את מבנה הפלט של המודל. לדוגמה, בקובץ classification_1.0.0.yaml הבא מתואר מידע על פלט של מודל לסיווג תמונות:

title: Classification
type: object
description: >
  The predicted AnnotationSpecs.
properties:
  ids:
    type: array
    description: >
      The resource IDs of the AnnotationSpecs that had been identified.
    items:
      type: integer
      format: int64
      enum: [0]  # As values of this enum all AnnotationSpec IDs the Model
      # was trained on will be populated.
  displayNames:
    type: array
    description: >
      The display names of the AnnotationSpecs that had been identified,
      order matches the IDs.
    items:
      type: string
      enum: [""]  # As values of this enum all AnnotationSpec display_names
      # the Model was trained on will be populated.
  confidences:
    type: array
    description: >
      The Model's confidences in correctness of the predicted IDs, higher
      value means higher confidence. Order matches the Ids.
    items:
      type: number
      format: float
      minimum: 0.0
      maximum: 1.0

הוספת מודל עם אימון בהתאמה אישית

אפשר להשתמש בדוגמה הבאה כדי להוסיף את המודל שאומן בהתאמה אישית ב-Vertex AI לאפליקציה.

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

  3. בדף של הכלי ליצירת אפליקציות, בוחרים באפשרות Add Vertex AI Model (הוספת מודל Vertex AI) מתוך רשימת רכיבי הצד. בחירה באפשרות הזו פותחת תפריט צדדי.

  4. בתפריט הוספת מודל Vertex AI, משאירים את האפשרות ייבוא מודל מאומן מ-Vertex AI מסומנת, ואז בוחרים את המודל מתוך רשימת מודלים קיימים של Vertex AI AutoML.

  5. נותנים שם למודל.

  6. מציינים את קובץ ה-YAML של המופעים ב-Cloud Storage שמגדיר את הפורמט של מופע יחיד שמשמש בבקשות לחיזוי ולהסבר.

  7. אופציונלי: מציינים את קובץ ה-YAML של סכימת התחזיות ב-Cloud Storage, שמגדיר את הפורמט של תחזית או הסבר יחידים.

  8. אחרי שמזינים את שם המודל, המופעים והתחזיות, לוחצים על הוספת מודל.

  9. אחרי שלוחצים על הלחצן הוספת מודל, מודל בהמתנה יופיע בצד של הדף של כלי ליצירת תרשימים. אחרי כמה שניות, המודל מוכן לשימוש.

זה שינוי אופציונלי. צירוף מטא-נתונים של האפליקציה

בנוסף לבייטים של התמונה, אפשר להגדיר את attach_application_metadata כדי לבקש מפלטפורמת Vision של Agent Platform לכלול את המטא-נתונים של האפליקציה שיישלחו אל הקונטיינר המותאם אישית.

המטא-נתונים הם לפי הסכימה הבאה:

'appPlatformMetadata': {
     'application': STRING;
     'instanceId': STRING;
     'node': STRING;
     'processor': STRING;
   }

זה שינוי אופציונלי. הוספת נושא Pub/Sub להגדרה דינמית

כדי לשלוט באופן דינמי בקצב הפריימים שבו Vertex Custom Operator שולח פריימים של סרטונים לקונטיינרים מותאמים אישית של Vertex, אפשר ליצור נושא Pub/Sub. מוסיפים אותו לקטע Dynamic Configuration בהגדרות הצומת.

הקטע Dynamic Configuration (הגדרה דינמית) בהגדרות הצומת להגדרת נושא Pub/Sub. אם נושא Pub/Sub מוגדר, קצב הפריימים הראשוני הוא 0. במהלך עיבוד הסרטון, אפשר לשלוח הודעות Pub/Sub לנושא Pub/Sub בפורמט הבא בזמן אמת כדי לשנות את קצב הפריימים:

{
  "stream_id": "input-stream-id",
  "fps": 5,
}

הערך בשדה stream_id צריך להיות זהה למזהה של מקור הנתונים של האפליקציה.

חשבון שירות והרשאות

פרטי הכניסה של חשבון השירות שמוגדר כברירת מחדל במאגר התגים המותאם אישית הוגדרו לחשבון השירות בבעלות Google של פלטפורמת האפליקציות Agent Platform Vision. כדי לגשת לשירותים אחרים של Google Cloud Google Cloud מהקונטיינר, צריך לתת הרשאה מתאימה ל: service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com

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

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

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

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

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

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

פונקציית Cloud Run מתחברת למודל ומאזינה לפלט שלו כפעולת עיבוד שלאחר מכן. פונקציית Cloud Run צריכה להחזיר AppPlatformCloudFunctionResponse. האירועים (appplatformeventbody) נשלחים לנושא Pub/Sub שהגדרתם בשלב הבא.

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

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

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

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

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

    בחירת תמונה של Cloud Function לעיבוד שלאחר מכן ב-Cloud Console

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

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

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

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

  4. בקטע התראה לגבי אירוע, בוחרים באפשרות Set up event notification.

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

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

    הגדרת תמונה של התראה לגבי אירוע במסוף Cloud

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

חיבור פלט של מודל לצומת במורד הזרם

אחרי שיוצרים צומת של מודל, אפשר לקשר את הפלט שלו לצומת אחר.

המסוף

  1. פותחים את הכרטיסייה Applications (אפליקציות) בלוח הבקרה של Gemini Enterprise Agent Platform Vision.

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

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

  3. לוחצים על צומת של מודל שמפיק נתונים בכלי ליצירת גרף של אפליקציות (לדוגמה, צומת המודל Occupancy Count).

  4. בחלונית ההגדרות הצדדית, לוחצים על הלחצן הוספת פלט.

  5. לוחצים על הוספת פלט חדש ובוחרים צומת פלט חדש להוספה, או בוחרים צומת זמין קיים כדי לשלוח אליו את הפלט.

קישור הפלט ליעד נתונים

אחרי שיוצרים את מקור הנתונים להעברה ומוסיפים את צמתי העיבוד לאפליקציה, צריך לבחור לאן לשלוח את הנתונים המעובדים. יעד הנתונים הזה הוא נקודת יעד של גרף האפליקציה שמקבל נתונים בסטרימינג בלי ליצור נתונים בסטרימינג. יעד הייצוא תלוי באופן השימוש בנתוני הפלט של האפליקציה.

תמונה של צמתי מחברים
במסוף Google Cloud , יעדי הנתונים זמינים בקטע Connectors בדף של תרשים האפליקציה.

אתם יכולים לקשר את נתוני הפלט של האפליקציה ליעדי הנתונים הבאים:

  1. Vision Warehouse: אחסון של נתוני וידאו מקוריים או מנותחים שאפשר להציג ולשאול לגביהם שאילתות.

    מידע נוסף על שליחת נתוני פלט של אפליקציה אל מחסן Vision זמין במאמר חיבור נתונים למחסן ואחסון שלהם.

  2. ‫BigQuery: אחסון נתונים ב-BigQuery כדי להשתמש ביכולות הניתוח שלו במצב אופליין.

    מידע נוסף על שליחת נתוני פלט של אפליקציות ל-BigQuery זמין במאמר בנושא חיבור נתונים ואחסונם ב-BigQuery.

  3. נתונים של שידור חי: אם רוצים שליטה מדויקת יותר כדי לפעול על סמך ניתוח נתונים בזמן אמת, אפשר לקבל את הפלט של השידור החי מהאפליקציה.

    מידע נוסף על סטרימינג ישיר של נתוני פלט מאפליקציית סטרימינג זמין במאמר בנושא הפעלת פלט של שידור חי.

עדכון אפליקציה

אפליקציות שלא נפרסו

מבצעים שינויים באפליקציה (למשל מוסיפים או מסירים צמתי רכיבים). השינויים יישמרו אוטומטית ב-Gemini Enterprise Agent Platform Vision.

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