הווידג'ט ההקשרי הוא מוצר של מפות Google בשלב שלפני השקת הגרסה הרשמית (Pre-GA). זהו מאגר חזותי שמשמש לתמיכה בתוכן אחר של מפות Google או להוספה שלו. ווידג'ט ההקשר במפות Google מאפשר לכם לשלב את התכונה 'הארקה' עם מפות Google באפליקציות שלכם, כדי ליצור חוויית צ'אט מבוססת-LLM. הווידג'ט ההקשרי מוצג באמצעות טוקן ההקשר,
googleMapsWidgetContextToken
, שמוחזר בתגובה של Vertex AI API ואפשר להשתמש בו כדי להציג תוכן חזותי.
לווידג'ט ההקשרי יש פונקציות שונות בהתאם לתרחיש:
- הוא מציג תוכן סובייקטיבי שנוצר על ידי משתמשים (UGC) בתרחיש שבו נעשה שימוש בהנחיות של מפות Google ליצירת תשובות.
- היא עוזרת להעשיר את התוצאות באמצעות נתונים והדמיות של מפות, כש-Vertex AI יוצר רק תשובה טקסטואלית.
איך הווידג'ט ההקשרי פועל
בווידג'ט ההקשרי מוצגת תשובה מ-Grounding עם מפות Google ב-Vertex AI, בצורה של googleMapsWidgetContextToken
. משתמשים באסימון הזה כדי לעבד את הווידג'ט ההקשרי ולהציג את התגובה.
מידע נוסף
רצף האירועים הוא כזה:
- שליחת קריאה ל-Vertex AI API עם שאילתה שמתבססת על נתונים ממפות Google.
- Vertex AI מחזיר
googleMapsWidgetContextToken
. - הצגת הווידג'ט ההקשרי באמצעות האסימון.
- בווידג'ט ההקשרי מוצגת התשובה מ-Vertex AI.
בדוגמה הבאה אפשר לראות איך נראה אסימון הקשר כשמוחזר מ-Vertex AI API.
"googleMapsWidgetContextToken": "widgetcontent/AcBXPQdpWQWbap9H-OH8sEKmOXxmEKAYvff0tvthhneMQC3VrqWCjpnPBl4-Id98FGiA_S_t8aeAeJj0T6JkWFX56Bil8oBSR0W8JH3C_RSYLbTjxKdpxc9yNn6JcZTtolIRZon9xi6WpNGuSyjcIxWu2S0hwpasNOpUlWrG1RxVCB4WD1fsz_pwR236mG36lMxevXTQ_JnfdYNuQwQ4Lc3vn...<snip>... Ts5VJE_b3IC5eE_6wez0nh61r7foTUZpP7BXMwxR-7Wyfcj6x1v6mIWsFGr1o0p_HSAMNqWPg-aFVnkPLhAkOR6MaNZOfezTva-gxHlu7z_haFvYxcUE1qfNVQ",
איך מעבדים את הווידג'ט ההקשרי של מפות Google
כדי לעבד ולהשתמש בווידג'ט ההקשרי של מפות Google, צריך להשתמש בגרסת האלפא של Maps JavaScript API בדף שבו מוצג הווידג'ט. מידע נוסף זמין במאמר בנושא טעינת Maps JavaScript API.
בנוסף, צריך להשתמש במפתח ה-API שהופעל כדי לטעון את ממשק API של JavaScript במפות Google.
מוודאים שהספרייה places
נטענה.
בקטע הבא מוסבר איך להציג את הווידג'ט ההקשרי של מפות Google. יוצרים ווידג'ט הקשרי באמצעות HTML בהתאמה אישית או באמצעות JavaScript.
שימוש ברכיבי HTML מותאמים אישית
בקטע הבא מוסבר איך לעבד את הווידג'ט ההקשרי של מפות Google באמצעות רכיבי HTML מותאמים אישית. כדי ליצור ווידג'ט הקשרי, מוסיפים את הרכיב gmp-place-contextual
לדף.
-
מוסיפים את הרכיב
gmp-place-contextual
לדף:<gmp-place-contextual id="widget"></gmp-place-contextual>
-
בכל תשובה שמבוססת על נתונים ממפות Google, יש רכיב
googleMapsWidgetContextToken
תואם שאפשר להשתמש בו כדי להציג את הווידג'ט ההקשרי. הפונקציה הבאה מראה איך לעדכן את אסימון ההקשר:let widget = document.querySelector('#widget'); // a div that contains the widget widget.contextToken = contextToken;
-
אופציונלי: מציינים את פריסת הרשימה. הערכים התקינים כוללים את האפשרויות הבאות:
- פריסה קומפקטית:
<gmp-place-contextual-list-config layout="compact">
- פריסה אנכית:
<gmp-place-contextual-list-config layout="vertical">
בדוגמה הבאה מוצג איך לשנות את פריסת הרשימה לגרסה קומפקטית:
<gmp-place-contextual id="widget"> <gmp-place-contextual-list-config layout="compact"> </gmp-place-contextual-list-config> </gmp-place-contextual>
- פריסה קומפקטית:
שימוש ב-JavaScript
בקטע הבא מוסבר איך להציג את הווידג'ט ההקשרי של מפות Google על ידי יצירה פרוגרמטית של PlaceContextualElement
והוספה שלו ל-DOM.
יוצרים ווידג'ט הקשרי.
let widget = document.querySelector('#widget'); // a div that contains the widget async function createWidget(contextToken) { await google.maps.importLibrary('places'); const placeContextualElement = new google.maps.places.PlaceContextualElement({ contextToken }); // contextToken can be empty at initialization. widget.appendChild(placeContextualElement); }
- בכל תשובה שמבוססת על מפות Google, יש רכיב
googleMapsWidgetContextToken
תואם שמשמש לעיבוד הווידג'ט ההקשרי. הפונקציה הבאה מראה איך לעדכן את אסימון ההקשר:widget.contextToken = contextToken;
-
אופציונלי: מציינים את פריסת הרשימה. הערכים התקינים כוללים את האפשרויות הבאות:
- פריסה קומפקטית:
google.maps.places.PlaceContextualListLayout.COMPACT
- פריסה אנכית:
google.maps.places.PlaceContextualListLayout.VERTICAL
- פריסה קומפקטית:
בדוגמה הבאה מוצג איך לשנות את פריסת הרשימה לגרסה קומפקטית:
const widgetConfig = new google.maps.places.PlaceContextualListConfigElement({ layout: google.maps.places.PlaceContextualListLayout.COMPACT }); widget.appendChild(widgetConfig);