בעזרת התכונה 'פעולות שיחה' תוכלו להרחיב את Google Assistant באמצעות ממשק שיחה משלכם, שנותן למשתמשים גישה למוצרים ולשירותים שלכם. הפעולות מתבססות על המנוע המתקדם של Assistant להבנת שפה טבעית (NLU) כדי לעבד ולהבין קלט של שפה טבעית, ולבצע משימות על סמך הקלט הזה.
סקירה כללית
אובייקט פשוט שמגדיר נקודת כניסה בשיחה:
- הפעלה מגדירה איך המשתמשים אומרים ל-Assistant שהם רוצים להתחיל שיחה עם אחת מהפעולות שלכם. הפעלה של פעולה מוגדרת לפי כוונה אחת שמותאמת למשתמשים שמבקשים את הפעולה.
- שיחה מגדירה איך משתמשים מקיימים אינטראקציה עם פעולה אחרי שמפעילים אותה. אפשר ליצור שיחות עם כוונות, סוגים, סצנות והנחיות.
- בנוסף, הפעולות יכולות להאציל פעילות נוספת למילוי הזמנה, שהם שירותי אינטרנט שמתקשרים עם הפעולות שלכם באמצעות תגובות לפעולה מאתר אחר (webhook). כך תוכלו לאמת נתונים, לקרוא לשירותי אינטרנט אחרים, להפעיל לוגיקה עסקית ועוד.
אפשר לקבץ יחד פעולה אחת או יותר, על סמך תרחישים לדוגמה שחשובים למשתמשים שלכם, בתוך מאגר לוגי שנקרא 'פרויקט פעולות'. פרויקט הפעולות כולל את מודל ההפעלה המלא (האוסף של כל ההפעלות שלכם), שמאפשר למשתמשים להתחיל במקומות לוגיים במודל השיחה (כל הדברים האפשריים שמשתמשים יכולים לומר וכל הדרכים האפשריות שבהן אתם מגיבים למשתמשים).
קריאה
הקריאה משויכת לשם המוצג שמייצג מותג, שם או פרסונה, שמאפשר למשתמשים לבקש מ-Assistant להפעיל את הפעולות שלכם. המשתמשים יכולים להשתמש בשם המוצג בפני עצמו (שנקרא ההפעלה הראשית) או בשילוב עם ביטויים אופציונליים עם קישור עומק כדי להפעיל את הפעולות.
לדוגמה, משתמשים יכולים להגיד את הביטויים הבאים כדי להפעיל שלוש פעולות נפרדות בפרויקט, עם השם המוצג 'עובדות על Google':
- "Ok Google, הסבר על עובדות על Google"
- "Ok Google, הסבר על עובדות על Google כדי לקבל עובדות על החברה"
- "Ok Google, לדבר עם עובדות על Google כדי לקבל עובדות היסטוריות"
ההפעלה הראשונה בדוגמה היא ההפעלה הראשית. הביצוע
הזה משויך ל-Intent מערכת מיוחד בשם
actions.intent.MAIN
. ההפעלות השנייה והשלישית הן הפעלות של קישורי עומק שמאפשרות לציין ביטויים נוספים שמאפשרים למשתמשים לבקש פונקציות ספציפיות. ההפעלות האלה תואמות לכוונות המשתמש שהגדרתם כגלובליות. כל הפעלה בדוגמה הזו מספקת נקודת כניסה לשיחה ומתאימה לפעולה אחת.
איור 2 מתאר תהליך הפעלה עיקרי טיפוסי:
- כשמשתמשים מבקשים פעולה, בדרך כלל הם מבקשים מ-Assistant אותה לפי השם המוצג שלך.
- Assistant מתאימה את הבקשה של המשתמש ל-Intent התואם לבקשה. במקרה הזה, הערך יהיה
actions.intent.MAIN
. - הפעולה מקבלת התראה על ההתאמה ל-Intent, ומגיבה לבקשה המתאימה כדי להתחיל שיחה עם המשתמש.
שיחה
ההגדרה 'שיחה' מגדירה את האינטראקציה של משתמשים עם הפעולה אחרי שהיא מופעלת. כדי ליצור את האינטראקציות האלה, צריך להגדיר קלט תקין מהמשתמש לשיחה, הלוגיקה לעיבוד הקלט וההנחיות המתאימות להגיב למשתמש. באיור ובהסבר שכאן מוסבר איך שיחה אופיינית פועלת עם הרכיבים ברמה הנמוכה של השיחה: כוונות, סוגים, סצנות והנחיות.
איור 3 מתאר התקדמות אופיינית של שיחה:
- כשמשתמשים אומרים משהו, ה-NLU של Assistant מתאים את הקלט לכוונה המתאימה. מתבצעת התאמה ל-Intent אם מודל השפה של כוונת המשתמש הזה יכול להתאים בדיוק או במידה רבה לקלט של המשתמש. כדי להגדיר את מודל השפה, צריך לציין ביטויים לאימון או דוגמאות לדברים שהמשתמשים רוצים לומר. Assistant משתמשת במשפטי האימון האלה ומרחיבה אותם כדי ליצור את מודל השפה של הכוונה.
- כשה-NLU של Assistant תואם ל-Intent, הוא יכול לחלץ מהקלט את הפרמטרים הרצויים. לפרמטרים האלה משויכים סוגים, כמו תאריך או מספר. אפשר להוסיף הערות לחלקים ספציפיים במשפטי האימון של Intent כדי לציין אילו פרמטרים רוצים לחלץ.
- לאחר מכן, סצנה מעבדת את ה-Intent המותאם. אפשר לדמות את הסצנות למבצעים הלוגיים של פעולה, שעושים את העבודה הקשה והלוגיקה שצריך כדי להניע את השיחה קדימה. סצנות פועלות בלולאה ומספקות מחזור חיים גמיש של ביצוע, שמאפשר לבצע פעולות כמו אימות פרמטרים של כוונה, מילוי יחידות קיבולת (Slot), שליחת הנחיות חזרה למשתמש ועוד.
- כשסצנה מסתיימת, בדרך כלל היא שולחת הודעה למשתמשים כדי שיוכלו להמשיך את השיחה או לסיים אותה במקרה הצורך.
טיפול בהזמנות
במהלך הפעלה או שיחה, הפעולה יכולה להקפיץ תגובה לפעולה מאתר אחר (webhook) כדי להודיע לשירות מילוי ההזמנה לבצע חלק מהמשימות.
באיור 4 מתואר איך להשתמש במילוי הזמנה כדי ליצור הנחיות, דרך נפוצה לשימוש במילוי הזמנות:
- בנקודות מסוימות בביצוע הפעולה, היא יכולה להפעיל תגובה לפעולה מאתר אחר (webhook) ששולחת בקשה ל-handler רשום של תגובה לפעולה מאתר אחר (webhook) (שירות מילוי ההזמנות שלכם) עם מטען ייעודי (payload) של JSON.
- מילוי הבקשה מעבד את הבקשה, למשל קריאה ל-API ל-REST כדי לבצע חיפוש נתונים מסוימים או אימות נתונים ממטען הייעודי (payload) של JSON. אחת הדרכים הנפוצות ביותר במילוי הבקשה היא ליצור הנחיה דינמית בזמן הריצה, כדי שהשיחות יותאמו יותר למשתמש הנוכחי.
- מילוי הבקשה מחזיר תגובה לפעולה שמכילה מטען ייעודי (payload) של JSON. היא יכולה להשתמש בנתונים ממטען הייעודי (payload) כדי להמשיך את הביצוע ולהשיב למשתמש.