אפשר ליצור תצוגת תכונות במופע קיים של חנות אונליין. כשיוצרים תצוגת תכונות, אפשר לשייך לה תכונות בדרכים הבאות:
הוספת קבוצות של פיצ'רים ופיצ'רים ממאגר הפיצ'רים: משייכים לקבוצות קיימות של פיצ'רים ולפיצ'רים ממאגר הפיצ'רים. קבוצת תכונות מציינת את המיקום של מקור הנתונים ב-BigQuery. תכונה בקבוצת התכונות מצביעה על עמודת תכונות ספציפית במקור הנתונים הזה. אפשר לשייך תצוגת תכונות לכמה קבוצות תכונות.
הוספת מאפיינים ממקור BigQuery: שיוך ישיר של מקור נתונים ב-BigQuery, כמו טבלה ב-BigQuery או תצוגה, וציון של לפחות עמודה אחת של מזהה ישות.
אחרי שיוצרים תצוגת תכונות, Vertex AI Feature Store מסנכרן את ערכי התכונות האחרונים ממקור הנתונים ב-BigQuery. אם מגדירים את פרמטר השאילתה run_sync_immediately=true, מערכת Vertex AI Feature Store מסנכרנת את ערכי התכונות כשיוצרים את תצוגת התכונות. אחרת, Vertex AI Feature Store מסנכרן את ערכי התכונות בהתאם ללוח הזמנים של הסנכרון שצוין לתצוגת התכונות.
לפני שמתחילים
מאמתים את Gemini Enterprise Agent Platform, אלא אם כבר עשיתם זאת.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צריך ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
סנכרון נתוני תכונות בתצוגת תכונות
ב-Vertex AI Feature Store אפשר לרענן או לסנכרן את ערכי התכונות ממקור הנתונים ב-BigQuery לתצוגת התכונות. אפשר לציין את סוג סנכרון הנתונים לתצוגת תכונות באמצעות הפרמטר FeatureView.sync_config.
Vertex AI Feature Store תומך בסוגי סנכרון הנתונים הבאים:
סנכרון נתונים מתוזמן: אתם יכולים לציין את לוח הזמנים או את התדירות של סנכרון הנתונים. אתם יכולים לבחור בסנכרון נתונים מתוזמן כזה לתצוגת תכונות, בלי קשר לסוג ההצגה באינטרנט שצוין למופע של החנות הווירטואלית.
אם תצוגת התכונות מוגדרת לשימוש בסנכרון נתונים מתוזמן, אתם יכולים לדלג על ההמתנה עד לפעולת הסנכרון המתוזמנת הבאה ולהתחיל את סנכרון הנתונים באופן ידני. מידע נוסף על הפעלה ידנית של סנכרון נתונים זמין במאמר סנכרון נתוני תכונות עם חנות אונליין.
במהלך ההצגה אונליין, אם רוצים להציג רק את ערכי התכונות האחרונים, כולל ערכי null, צריך להשתמש בהגדרה הבאה:
כדי לרשום את מקור הנתונים של התכונה, יוצרים קבוצת תכונות עם הפרמטר
denseשהערך שלו מוגדר ל-true.בוחרים באפשרות Bigtable online serving כשיוצרים את המופע של החנות הווירטואלית.
כשיוצרים תצוגות של תכונות, בוחרים באפשרות של סנכרון נתונים מתוזמן.
סנכרון נתונים רציף: נתוני התכונות מתעדכנים בכל פעם שנתוני התכונות במקור הנתונים של BigQuery מתעדכנים. אפשר לבחור בסוג הזה של סנכרון נתונים לתצוגת תכונות בצפייה בלבד רק אם מתקיימים כל התנאים הבאים:
המופע של החנות הווירטואלית מוגדר להצגה אונליין ב-Bigtable.
תצוגת התכונות משויכת לקבוצות של תכונות ולמשאבי תכונות.
מקור הנתונים ב-BigQuery ממוקם באחד מהאזורים הבאים:
euusus-central1
לסנכרון נתונים רציף יש את המגבלות הבאות:
אי אפשר לעדכן תצוגת תכונות אם בוחרים בה סנכרון נתונים רציף.
רק רשומות חדשות של תכונות מסונכרנות ממקור הנתונים של BigQuery. בסנכרון נתונים רציף לא מסתנכרנים רשומות של תכונות שעדכנתם או מחקתם ב-BigQuery.
קבוצת התכונות במקור של Feature Registry חייבת להיות טבלה ב-BigQuery.
אופטימיזציה של העלויות במהלך סנכרון נתונים מתוזמן
יכול להיות שיהיו עלויות שקשורות לשימוש במשאבי BigQuery במהלך פעולת סנכרון נתונים. כדי לבצע אופטימיזציה של העלויות האלה ולשפר את הביצועים במהלך סנכרון נתונים, כדאי לפעול לפי ההנחיות הבאות:
אל תגדירו את לוח הזמנים של הסנכרון כך שהסנכרון יפעל בתדירות גבוהה יותר מהתדירות שבה הנתונים צפויים להשתנות במקור BigQuery.
מבצעים אופטימיזציה של הגודל של מקור נתוני התכונות ב-BigQuery. כשיוצרים את תצוגת התכונות, כוללים בה רק את הנתונים שדרושים להצגה אונליין.
מומלץ להימנע מהרצת צבירות מורכבות ב-BigQuery. מריצים
SELECT *שאילתה בטבלה או בתצוגה כדי להעריך את נפח הנתונים ואת משך העיבוד.כשמגדירים את אפשרויות ההתאמה לעומס (scaling) של החנות אונליין, צריך להגדיר את
max_node_countלערך גבוה מספיק כדי לכסות עומסים גבוהים במהלך סנכרון נתונים.אפשר לתזמן את הסנכרון לתצוגות שונות של תכונות בזמנים שונים באותה חנות אונליין.
אם הטבלה ב-BigQuery מכילה נתונים היסטוריים נרחבים, כדאי לחלק את הטבלה למחיצות באמצעות חותמות זמן ולציין טווח תאריכים לאחזור נתוני התכונות. כך מצמצמים את שליפת הנתונים של תכונות לא עדכניות במהלך הסנכרון.
השימוש ב-Bigtable גדל במהלך סנכרון הנתונים. כדי להשיג את הביצועים הכי טובים, כדאי לתזמן משימות סנכרון של תצוגות תכונות שנוצרו בחנויות אונליין להצגה אונליין ב-Bigtable, לשעות שבהן העומס נמוך.
הגדרת חשבון השירות לתצוגת תכונות
כל תצוגת תכונות משתמשת בחשבון שירות כדי לגשת לנתוני המקור ב-BigQuery במהלך הסנכרון. מאגר התכונות של Vertex AI מקצה לחשבון השירות הזה את תפקיד ניהול הזהויות והרשאות הגישה (IAM) BigQuery Data Viewer.
כברירת מחדל, תצוגת תכונות משתמשת בחשבון השירות שהוגדר לפרויקט. במסגרת ההגדרה הזו, כל משתמש שיש לו הרשאה ליצור תצוגת תכונות בפרויקט יכול לגשת לנתוני התכונות ב-BigQuery.
לחלופין, אפשר להגדיר את תצוגת התכונות כך שתשתמש בחשבון שירות משלה. לאחר מכן, Vertex AI Feature Store מגדיר חשבון שירות ייעודי לתצוגת התכונות. ההגדרה הזו מאפשרת להגביל את הגישה לנתוני התכונות ב-BigQuery או להעניק גישה למשתמשים נוספים.
אפשר לציין את ההגדרה של חשבון השירות באמצעות הפרמטר FeatureView.service_agent_type. שימו לב: Vertex AI Feature Store יוצר כתובת אימייל ייחודית של חשבון שירות לכל תצוגת תכונות שמוגדרת עם חשבון שירות ייעודי.
אם תצוגת התכונות מוגדרת עם חשבון שירות ייעודי, אפשר לראות את כתובת האימייל של חשבון השירות באחת מהדרכים הבאות:
אחזור רשימה של כל תצוגות התכונות במופע של החנות אונליין באמצעות השיטה featureViews.list.
אפשר לאחזר את הפרטים של תצוגת התכונה באמצעות השיטה featureViews.get.
הגדרת אחזור וקטורים לתצוגת תכונות
כדי להגדיר אחזור של וקטורים בתצוגת תכונות בחנות אונליין שנוצרה למילוי בקשה באופן מיידי אונליין, משתמשים בפרמטר FeatureView.index_config.
מידע על הכנה או עדכון של מקור הנתונים ב-BigQuery כדי לתמוך בהטמעות על ידי הוספת העמודה embedding זמין במאמר הנחיות להכנת מקור נתונים.
שימו לב: אפשר להגדיר אחזור וקטורים ולנהל הטמעות רק אם תצוגת התכונות נוצרה על ידי ציון URI של מקור BigQuery, ולא מקבוצות תכונות וממאפיינים ממאגר התכונות.
מידע נוסף על חיפוש של שכנים קרובים משוערים באמצעות הטמעות ב-Vertex AI Feature Store זמין במאמר חיפוש באמצעות הטמעות.
יצירת תצוגת תכונות מקבוצות של תכונות
אפשר ליצור תצוגת מאפיינים על סמך נתוני מאפיינים שנרשמו באמצעות קבוצות מאפיינים ומאפיינים. כדי לשייך כמה מקורות נתונים של BigQuery לאותה תצוגת מאפיינים, אפשר לציין כמה קבוצות של מאפיינים.
אם יוצרים תצוגת תכונות על ידי ציון של קבוצות תכונות ותכונות:
במקור הנתונים צריך להיות עמודה
feature_timestampוהוא יכול להכיל נתונים היסטוריים.Vertex AI Feature Store מציג רק את הערכים העדכניים ביותר של התכונות על סמך חותמת הזמן של התכונה.
אי אפשר להגדיר ניהול של הטמעה בתצוגת התכונות.
יצירת תצוגת תכונות עם הגדרת חשבון השירות שמוגדר כברירת מחדל
בדוגמה הבאה מוצג איך ליצור תצוגת תכונות על ידי שיוך של כמה קבוצות תכונות בלי לציין הגדרות של חשבון שירות.
REST
כדי ליצור משאב FeatureView, שולחים בקשת POST באמצעות ה-method featureViews.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של מופע התצוגה החדש של התכונות שרוצים ליצור.
- FEATUREGROUP_NAME_A ו-FEATUREGROUP_NAME_B: השמות של קבוצות התכונות שמהן רוצים להוסיף תכונות לתצוגת התכונות.
- FEATURE_ID_A1 ו-FEATURE_ID_A2: מזהי התכונות מקבוצת התכונות FEATUREGROUP_NAME_A שרוצים להוסיף לתצוגת התכונות.
- FEATURE_ID_B1 ו-FEATURE_ID_B2: מזהי התכונות מקבוצת התכונות FEATUREGROUP_NAME_B שרוצים להוסיף לתצוגת התכונות.
- SYNC_CONFIG: מזינים אחת מהגדרות הסנכרון הבאות לתצוגת התכונות:
- כדי להשתמש בסנכרון נתונים מתוזמן, צריך לספק את לוח הזמנים של הסנכרון בפורמט הבא:
"cron": "cron_schedule_expression"
מחליפים את cron_schedule_expression בביטוי cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron. - כדי להשתמש בסנכרון נתונים רציף, מזינים את הפרטים הבאים:
"continuous": trueאפשר להשתמש בסנכרון נתונים רציף רק אם מופעלת הגדרה של Bigtable online serving במופע של החנות הווירטואלית שמכיל את תצוגת התכונות.
- כדי להשתמש בסנכרון נתונים מתוזמן, צריך לספק את לוח הזמנים של הסנכרון בפורמט הבא:
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"feature_registry_source": {
"feature_groups": [
{
"feature_group_id": "FEATUREGROUP_NAME_A",
"feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
},
{
"feature_group_id": "FEATUREGROUP_NAME_B",
"feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
}
]
},
"sync_config": {
SYNC_CONFIG
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}
יצירת תצוגת תכונות שמשתמשת בחשבון שירות ייעודי
אפשר להשתמש בדוגמה הבאה כדי ליצור תצוגת תכונות מקבוצות תכונות על ידי הגדרת חשבון שירות ייעודי.
REST
כדי ליצור משאב FeatureView, שולחים בקשת POST באמצעות ה-method featureViews.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של מופע התצוגה החדש של התכונות שרוצים ליצור.
- FEATUREGROUP_NAME_A ו-FEATUREGROUP_NAME_B: השמות של קבוצות התכונות שמהן רוצים להוסיף תכונות לתצוגת התכונות.
- FEATURE_ID_A1 ו-FEATURE_ID_A2: מזהי התכונות מקבוצת התכונות FEATUREGROUP_NAME_A שרוצים להוסיף לתצוגת התכונות.
- FEATURE_ID_B1 ו-FEATURE_ID_B2: מזהי התכונות מקבוצת התכונות FEATUREGROUP_NAME_B שרוצים להוסיף לתצוגת התכונות.
- SYNC_CONFIG: מזינים אחת מהגדרות הסנכרון הבאות לתצוגת התכונות:
- כדי להשתמש בסנכרון נתונים מתוזמן, צריך לספק את לוח הזמנים של הסנכרון בפורמט הבא:
"cron": "cron_schedule_expression"
מחליפים את cron_schedule_expression בביטוי cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron. - כדי להשתמש בסנכרון נתונים רציף, מזינים את הפרטים הבאים:
"continuous": trueאפשר להשתמש בסנכרון נתונים רציף רק אם מופע החנות הווירטואלית שמכיל את תצוגת התכונות מוגדר להצגה אונליין ב-Bigtable.
- כדי להשתמש בסנכרון נתונים מתוזמן, צריך לספק את לוח הזמנים של הסנכרון בפורמט הבא:
- SERVICE_AGENT_TYPE: הגדרת חשבון שירות לתצוגת התכונות. כדי להשתמש בחשבון שירות ייעודי לתצוגת התכונות, מזינים
SERVICE_AGENT_TYPE_FEATURE_VIEW.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"feature_registry_source": {
"feature_groups": [
{
"feature_group_id": "FEATUREGROUP_NAME_A",
"feature_ids": [ "FEATURE_ID_A1", "FEATURE_ID_A2" ]
},
{
"feature_group_id": "FEATUREGROUP_NAME_B",
"feature_ids": [ "FEATURE_ID_B1", "FEATURE_ID_B2" ]
}
]
},
"sync_config": {
SYNC_CONFIG
},
"service_agent_type": "SERVICE_AGENT_TYPE",
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}
יצירת תצוגת פיצ'רים ממקור BigQuery
אם אתם רוצים להציג תכונות אונליין בלי לרשום את מקור הנתונים של BigQuery באמצעות קבוצות תכונות ותכונות, אתם יכולים ליצור תצוגת תכונות על ידי ציון ה-URI של מקור הנתונים של BigQuery.
אם יוצרים תצוגת מאפיינים על ידי ציון מקור הנתונים:
אי אפשר לכלול עמודה של
feature_timestampבטבלה ב-BigQuery או בתצוגה.אי אפשר לכלול במקור הנתונים ערכים היסטוריים של מאפיינים. בכל שורה צריך להיות מזהה ייחודי של ישות.
יצירת תצוגת תכונות שמשתמשת בחשבון השירות שמוגדר כברירת מחדל ולא תומכת בהטמעות
אפשר להשתמש בדוגמאות הבאות כדי ליצור תצוגת תכונות שלא תומכת בהטמעות, על ידי שיוך ישיר של מקור נתונים ב-BigQuery ובלי לציין הגדרה של חשבון שירות.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
-
project: מזהה הפרויקט. -
location: האזור שבו רוצים ליצור את תצוגת התכונות, למשלus-central1. -
existing_feature_online_store_id: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות. -
feature_view_id: השם של מופע התצוגה החדש של התכונות שרוצים ליצור. -
bq_table_uri: ה-URI של טבלת המקור או התצוגה ב-BigQuery. -
entity_id_columns: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name". - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...].
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
REST
כדי ליצור משאב FeatureView, שולחים בקשת POST באמצעות ה-method featureViews.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של תצוגת התכונות החדשה שרוצים ליצור.
- PROJECT_NAME: שם הפרויקט.
- DATASET_NAME: השם של מערך הנתונים ב-BigQuery.
- TABLE_NAME: השם של הטבלה ממערך הנתונים ב-BigQuery.
- ENTITY_ID_COLUMNS: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name" - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
- CRON: ביטוי של לוח זמנים ב-Cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"big_query_source": {
"uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
"entity_id_columns": "ENTITY_ID_COLUMNS"
},
"sync_config": {
"cron": "CRON"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}
יצירת תצוגת תכונות שמשתמשת בחשבון השירות שמוגדר כברירת מחדל ותומכת בהטמעות
אפשר להשתמש בדוגמאות הבאות כדי ליצור תצוגת תכונות עם תמיכה בהטמעה על ידי שיוך ישיר של מקור נתונים ב-BigQuery ועם הגדרת חשבון השירות שמוגדר כברירת מחדל.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
-
project: מזהה הפרויקט. -
location: האזור שבו רוצים ליצור את תצוגת התכונות, למשלus-central1. -
existing_feature_online_store_id: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות. -
feature_view_id: השם של מופע התצוגה החדש של התכונות שרוצים ליצור. -
bq_table_uri: ה-URI של טבלת המקור או התצוגה ב-BigQuery. -
entity_id_columns: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name". - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...].
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
-
embedding_column: השם של העמודה שמכילה את נתוני המקור ליצירת האינדקס לחיפוש וקטורי. ההגדרה הזו נדרשת רק אם רוצים לנהל הטמעות באמצעות תצוגת התכונות. -
embedding_dimensions: אופציונלי. הגודל של הטמעה בעמודת ההטמעה, שמבוטא כמספר המאפיינים.
REST
כדי ליצור משאב FeatureView, שולחים בקשת POST באמצעות ה-method featureViews.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של תצוגת התכונות החדשה שרוצים ליצור.
- PROJECT_NAME: שם הפרויקט.
- DATASET_NAME: השם של מערך הנתונים ב-BigQuery.
- TABLE_NAME: השם של הטבלה ממערך הנתונים ב-BigQuery.
- ENTITY_ID_COLUMNS: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name" - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
- CRON: ביטוי של לוח זמנים ב-Cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron.
- EMBEDDING_COLUMN: השם של העמודה שמכילה את נתוני המקור ליצירת האינדקס לחיפוש וקטורי. ההגדרה הזו נדרשת רק אם רוצים לנהל הטמעות באמצעות תצוגת התכונות.
- FILTER_COLUMN_1 ו-FILTER_COLUMN_2: אופציונלי: השמות של העמודות שמשמשות לסינון תוצאות החיפוש הווקטורי.
- CROWDING_COLUMN: אופציונלי: שם העמודה שמכילה את מאפייני הצפיפות.
- EMBEDDING_DIMENSION: אופציונלי: הגודל, שמוצג כמספר המאפיינים, של הטמעה בעמודת ההטמעה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"big_query_source": {
"uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
"entity_id_columns": "ENTITY_ID_COLUMNS"
},
"sync_config": {
"cron": "CRON"
},
"index_config": {
"embedding_column": "EMBEDDING_COLUMN",
"filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
"crowding_column": "CROWDING_COLUMN",
"embedding_dimension": EMBEDDING_DIMENSION
"tree_ah_config": {}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}
יצירת תצוגת תכונות עם חשבון שירות ייעודי וללא הטמעה של ניהול
אפשר להשתמש בדוגמה הבאה כדי ליצור תצוגת תכונות בלי תמיכה בהטמעה, על ידי שיוך ישיר של מקור נתונים ב-BigQuery וציון הגדרה של חשבון שירות.
REST
כדי ליצור משאב FeatureView עם תמיכה בהטמעות, שולחים בקשת POST באמצעות ה-method featureViews.create ומציינים את הפרמטר FeatureView.index_config. שימו לב שאפשר להשתמש בניהול ההטמעה רק אם החנות הווירטואלית מוגדרת להצגה אופטימלית באינטרנט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של תצוגת התכונות החדשה שרוצים ליצור.
- PROJECT_NAME: שם הפרויקט.
- DATASET_NAME: השם של מערך הנתונים ב-BigQuery.
- TABLE_NAME: השם של הטבלה ממערך הנתונים ב-BigQuery.
- ENTITY_ID_COLUMNS: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name" - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
- CRON: ביטוי של לוח זמנים ב-Cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron.
- SERVICE_AGENT_TYPE: הגדרת חשבון שירות לתצוגת התכונות. כדי להשתמש בחשבון שירות ייעודי לתצוגת התכונות, מזינים
SERVICE_AGENT_TYPE_FEATURE_VIEW.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"big_query_source": {
"uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
"entity_id_columns": "ENTITY_ID_COLUMNS"
},
"sync_config": {
"cron": "CRON"
},
"service_agent_type": "SERVICE_AGENT_TYPE",
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}
יצירת תצוגת תכונות עם ניהול הטמעה וחשבון שירות ייעודי
אפשר להשתמש בדוגמה הבאה כדי ליצור תצוגת תכונות עם תמיכה בהטמעה על ידי שיוך ישיר של מקור נתונים ב-BigQuery וציון הגדרה של חשבון שירות.
REST
כדי ליצור משאב FeatureView עם תמיכה בהטמעות, שולחים בקשת POST באמצעות ה-method featureViews.create ומציינים את הפרמטר FeatureView.index_config. שימו לב שאפשר להשתמש בניהול ההטמעה רק אם החנות הווירטואלית מוגדרת להצגה אופטימלית באינטרנט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו רוצים ליצור את תצוגת התכונות, למשל
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATUREONLINESTORE_NAME: השם של מופע החנות אונליין שבו רוצים ליצור את תצוגת התכונות.
- FEATUREVIEW_NAME: השם של תצוגת התכונות החדשה שרוצים ליצור.
- PROJECT_NAME: שם הפרויקט.
- DATASET_NAME: השם של מערך הנתונים ב-BigQuery.
- TABLE_NAME: השם של הטבלה ממערך הנתונים ב-BigQuery.
- ENTITY_ID_COLUMNS: השמות של העמודות שמכילות את מזהי הישויות. אפשר לציין עמודה אחת או כמה עמודות.
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
"entity_id_column_name" - כדי לציין כמה עמודות של מזהי ישויות, מציינים את שמות העמודות בפורמט הבא:
["entity_id_column_1_name", "entity_id_column_2_name", ...]
- כדי לציין רק עמודה אחת של מזהה ישות, מציינים את שם העמודה בפורמט הבא:
- CRON: ביטוי של לוח זמנים ב-Cron שמייצג את התדירות של סנכרון הנתונים לתצוגת התכונות. מידע נוסף זמין במאמר בנושא cron.
- SERVICE_AGENT_TYPE: הגדרת חשבון שירות לתצוגת התכונות. כדי להשתמש בחשבון שירות ייעודי לתצוגת התכונות, מזינים
SERVICE_AGENT_TYPE_FEATURE_VIEW. - EMBEDDING_COLUMN: השם של העמודה שמכילה את נתוני המקור ליצירת האינדקס לחיפוש וקטורי. ההגדרה הזו נדרשת רק אם רוצים לנהל הטמעות באמצעות תצוגת התכונות.
- FILTER_COLUMN_1 ו-FILTER_COLUMN_2: אופציונלי: השמות של העמודות שמשמשות לסינון תוצאות החיפוש הווקטורי.
- CROWDING_COLUMN: אופציונלי: שם העמודה שמכילה את מאפייני הצפיפות.
- EMBEDDING_DIMENSION: אופציונלי: הגודל, שמוצג כמספר המאפיינים, של הטמעה בעמודת ההטמעה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME
גוף בקשת JSON:
{
"big_query_source": {
"uri": "bq://PROJECT_NAME.DATASET_NAME.TABLE_NAME",
"entity_id_columns": "ENTITY_ID_COLUMNS"
},
"sync_config": {
"cron": "CRON"
},
"service_agent_type": "SERVICE_AGENT_TYPE",
"index_config": {
"embedding_column": "EMBEDDING_COLUMN",
"filter_columns": ["FILTER_COLUMN_1", "FILTER_COLUMN_2"],
"crowding_column": "CROWDING_COLUMN",
"embedding_dimension": EMBEDDING_DIMENSION
"tree_ah_config": {}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME"
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://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews?feature_view_id=FEATUREVIEW_NAME" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureOnlineStores/FEATUREONLINESTORE_NAME/featureViews/FEATUREVIEW_NAME/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateFeatureViewOperationMetadata",
"genericMetadata": {
"createTime": "2023-09-15T02:11:29.458820Z",
"updateTime": "2023-09-15T02:11:29.458820Z"
}
}
}