מילוי בקשה באופן מיידי מאפשר להציג ערכי מאפיינים עבור קבוצות קטנות של ישויות עם זמן אחזור נמוך. בכל בקשה אפשר להציג ערכי תכונות רק מסוג ישות אחד. Vertex AI Feature Store (Legacy) מחזיר רק את הערך האחרון שאינו null של כל מאפיין.
בדרך כלל, משתמשים בהצגה אונליין כדי להציג ערכי תכונות למודלים שנפרסו לצורך הסקת מסקנות אונליין. לדוגמה, נניח שיש לכם חברה להשכרת אופניים ואתם רוצים לחזות כמה זמן משתמש מסוים ישכור אופניים. אתם יכולים לכלול קלט בזמן אמת מהמשתמש ונתונים ממאגר פיצ'רים כדי לבצע היקש אונליין. כך תוכלו לקבוע את הקצאת המשאבים בזמן אמת.
ערכי Null
בתוצאות של מילוי בקשה באופן מיידי, אם הערך האחרון של תכונה הוא null, Vertex AI Feature Store (מאמר שמתייחס לגרסה קודמת) מחזיר את הערך האחרון שאינו null. אם אין ערך קודם, Vertex AI Feature Store (Legacy) מחזיר null.
לפני שמתחילים
מוודאים שלמאגר הפיצ'רים שאליו מתבצעות הקריאות יש חנות וירטואלית (מספר הצמתים צריך להיות גדול מ-0). אחרת, בקשות למילוי בקשה באופן מיידי מחזירות שגיאה. מידע נוסף זמין במאמר בנושא ניהול מאגרי תכונות.
הצגת ערכים מישות אחת
הפונקציה מחזירה ערכי תכונות מישות אחת עבור סוג ישות מסוים.
REST
כדי לקבל ערכי תכונות מישות, שולחים בקשת POST באמצעות השיטה featurestores.entityTypes.readFeatureValues.
בדוגמה הבאה מוצגים הערכים האחרונים של שתי תכונות שונות של ישות מסוימת. שימו לב: בשדה ids אפשר לציין ["*"] במקום מזהי התכונות כדי לבחור את כל התכונות של הישות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו נוצר מאגר הפיצ'רים. לדוגמה,
us-central1. - PROJECT_ID: מזהה הפרויקט.
- FEATURESTORE_ID: מזהה של מאגר התכונות.
- ENTITY_TYPE_ID: מזהה סוג הישות.
- ENTITY_ID: המזהה של הישות שרוצים לקבל את ערכי התכונות שלה.
- FEATURE_ID: המזהה של התכונה שרוצים לקבל את הערכים שלה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues
גוף בקשת JSON:
{
"entityId": "ENTITY_ID",
"featureSelector": {
"idMatcher": {
"ids": ["FEATURE_ID_1", "FEATURE_ID_2"]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:readFeatureValues" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"header": {
"entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID",
"featureDescriptors": [
{
"id": "FEATURE_ID_1"
},
{
"id": "FEATURE_ID_2"
}
]
},
"entityView": {
"entityId": "ENTITY_ID",
"data": [
{
"value": {
"VALUE_TYPE_1": "FEATURE_VALUE_1",
"metadata": {
"generateTime": "2019-10-28T15:38:10Z"
}
}
},
{
"value": {
"VALUE_TYPE_2": "FEATURE_VALUE_2",
"metadata": {
"generateTime": "2019-10-28T15:38:10Z"
}
}
}
]
}
}
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Java API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במאמר Vertex AI quickstart using client libraries. מידע נוסף מופיע במאמרי העזרה של Vertex AI Node.js API.
כדי לבצע אימות ב-Vertex AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הצגת ערכים מכמה ישויות
הפונקציה מחזירה ערכים של תכונות מישות אחת או יותר עבור סוג ישות מסוים.
כדי לשפר את הביצועים, מומלץ להשתמש בשיטת streamingReadFeatureValues במקום לשלוח בקשות מקבילות לשיטת readFeatureValues.
REST
כדי לקבל ערכי תכונות מכמה ישויות, שולחים בקשת POST באמצעות השיטה featurestores.entityTypes.streamingReadFeatureValues.
בדוגמה הבאה מוצגים הערכים האחרונים של שני מאפיינים שונים של שתי ישויות שונות. שימו לב: בשדה ids אפשר לציין ["*"] במקום מזהי התכונות כדי לבחור את כל התכונות של הישות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION_ID: האזור שבו נוצר מאגר הפיצ'רים. לדוגמה,
us-central1. - PROJECT_ID: .
- FEATURESTORE_ID: מזהה של מאגר התכונות.
- ENTITY_TYPE_ID: מזהה סוג הישות.
- ENTITY_ID: המזהה של הישות שרוצים לקבל את ערכי התכונות שלה.
- FEATURE_ID: המזהה של התכונה שרוצים לקבל את הערכים שלה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues
גוף בקשת JSON:
{
"entityIds": ["ENTITY_ID_1", "ENTITY_ID_2"],
"featureSelector": {
"idMatcher": {
"ids": ["FEATURE_ID_1", "FEATURE_ID_2"]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues"
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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:streamingReadFeatureValues" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
[{
"header": {
"entityType": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID",
"featureDescriptors": [
{
"id": "FEATURE_ID_1"
},
{
"id": "FEATURE_ID_2"
}
]
}
},
{
"entityView": {
"entityId": "ENTITY_ID_1",
"data": [
{
"value": {
"VALUE_TYPE_1": "FEATURE_VALUE_A",
"metadata": {
"generateTime": "2019-10-28T15:38:10Z"
}
}
},
{
"value": {
"VALUE_TYPE_2": "FEATURE_VALUE_B",
"metadata": {
"generateTime": "2019-10-28T15:38:10Z"
}
}
}
]
}
},
{
"entityView": {
"entityId": "ENTITY_ID_2",
"data": [
{
"value": {
"VALUE_TYPE_1": "FEATURE_VALUE_C",
"metadata": {
"generateTime": "2019-10-28T21:21:37Z"
}
}
},
{
"value": {
"VALUE_TYPE_2": "FEATURE_VALUE_D",
"metadata": {
"generateTime": "2019-10-28T21:21:37Z"
}
}
}
]
}
}]
שפות נוספות
אפשר להתקין את ספריות הלקוח הבאות של Vertex AI ולהשתמש בהן כדי לקרוא ל-Vertex AI API. ספריות לקוח ב-Cloud מספקות חוויית פיתוח אופטימלית באמצעות שימוש במוסכמות ובסגנונות הטבעיים של כל שפה נתמכת.
המאמרים הבאים
- איך מבצעים העלאה של ערכי מאפיינים בקבוצות
- איך ללמוד איך לשלוף נתונים ב-batch דרך שליפת נתונים ב-batch.
- צפייה במכסות של Vertex AI Feature Store (גרסה קודמת) למילוי בקשה באופן מיידי.
- פתרון בעיות נפוצות ב-Vertex AI Feature Store (גרסה קודמת).