העברת פרויקט מ-Dialogflow ל-Actions Builder

כמפתחים ב-Dialogflow, כדאי לכם להעביר את הפעולות הקיימות שלכם ל-Actions Builder. יש כמה יתרונות לשימוש בשיטה החדשה במסוף לצורך פיתוח Actions, וההעברה של הפרויקט הקיים ב-Dialogflow היא קלה. בדף הזה מוסבר איך משתמשים בכלי ההעברה Dialogflow/Actions Builder.

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

מה עושה כלי ההעברה

כלי ההעברה מ-Dialogflow ל-Actions Builder ממיר רכיבים ספציפיים ב-Dialogflow, כמו אובייקטים וישויות, לעבודה עם Action Builder.

כלי ההעברה מעביר באופן אוטומטי את הרכיבים הבאים ב-Dialogflow ל-Actions Builder:

  • Intent של קבלת הפנים שמוגדר כברירת מחדל ב-Dialogflow והוא מועבר בתור ההפעלה הראשית.
  • כל הישויות וביטויי האימון בכל שפה שהפעולה תומכת בה.
  • אובייקטים מסוג Intent ללא הקשר קלט, שמועברים בתור אובייקטים גלובליים מסוג Intent.
  • אובייקטים מסוג Intent עם הקשר קלט אחד, שמועברים בתור סצנות ו-Intents.
  • אובייקטים מסוג Intent עם הקשר אחד של קלט ומילוי יחידת קיבולת (Slot) יוצרים שתי סצנות ו-Intent אחד לטיפול במעבר לסצנה באמצעות מילוי יחידות קיבולת (Slot).
  • אובייקטים של Intent שנעשה בהם שימוש בחלופה של Dialogflow, מדיה ואירועי פתיחה, גורמים ל-handler קשור של Actions Builder ול-Intent עם ביטויי אימון.
  • אובייקטים של Intent המשתמשים בישויות מערכת של תאריכים ומספרים ב-Dialogflow יובילו ליצירת סוגי המערכת הקשורים של Actions Builder.

כלי ההעברה לא מטפל ברכיבים הבאים ב-Dialogflow:

  • אובייקטים של Intent עם כמה הקשרי קלט. צריך ליצור סצנות באופן ידני.
  • אובייקטים מסוג Intent שמשתמשים באירועים מותאמים אישית ב-Dialogflow.
  • ישויות מערכת של Dialogflow שאינן תאריך או מספר. הישויות האלה נוצרות כסוגים חדשים, אבל צריך להוסיף מילים נרדפות באופן ידני.
  • קוד המקור למילוי הזמנות ב-Dialogflow. הקוד הזה לא מועבר ל-Builder בגלל הבדלים בגרסאות ה-API.

איך לגשת לכלי ההעברה

כדי לגשת לכלי ההעברה, פותחים פרויקט של Dialogflow במסוף Actions ועוברים אל פיתוח > פעולות.

אם אתם לא בטוחים באיזה פרויקט להשתמש במסוף Actions, תוכלו להיכנס למסוף של Dialogflow ולבצע את הפעולות הבאות:

  1. פותחים את הפרויקט שרוצים להעביר ולוחצים על סמל ההגדרות.
  2. בקטע כללי > מזהה פרויקט, לוחצים על הקישור פעולה ב-Google. בשלב הזה תועברו למסוף Actions של הפרויקט הספציפי.
  3. עוברים אל פיתוח > פעולות ולוחצים על תצוגה מקדימה של ההעברה.

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

מרכז הבקרה של ההעברה

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

אפשרויות העברה

בכלי ההעברה יש שתי אפשרויות להעברת הפרויקט ב-Dialogflow ל-Actions Builder:

  • העברה כפרויקט חדש (מומלץ)
    • משאיר את הפרויקט הקיים ב-Dialogflow ללא שינוי ומעביר עותק שלו לפרויקט חדש.
    • השם המוצג ופרטי הספרייה נשארים משויכים לפרויקט הייצור הקיים. כדאי לעיין בתהליך המומלץ להחלפת פרויקט פעיל בפרויקט שהועבר.
  • העברת הפרויקט
    • מחליפה את הפרויקט הקיים ב-Dialogflow ושומר על השם המוצג הקיים ועל הפרטים של ספריית Assistant שהגדרת לפרויקט.

דוח העברה

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

  • אילו פריטים יועברו באופן מלא.
  • אילו נתונים יועברו, אבל יידרשו הגדרה נוספת שלהם לאחר ההעברה.
  • אילו נתונים לא יועברו ותצטרכו להוסיף אותם באופן ידני (במידת הצורך).
  • אילו תכונות בפרויקט Dialogflow לא יהיו זמינות ב-Actions Builder.

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

הגדרה של לאחר ההעברה

כלי ההעברה עוזר להעביר חלקים חשובים מפרויקט Dialogflow ל-Actions Builder, אבל נדרש פיתוח נוסף כדי להגדיר מעברים, הנחיות ו-webhooks שלא הועברו.

כדי להשתמש בסצנות צריך לעדכן את תהליך השיחה

כלי ההעברה יוצר סצנות שמבוססות על Intents של Dialogflow עם הקשר אחד לקלט, אבל לא מדובר בקשר של אחד לאחד. יכול להיות שחלק מהסצנות שהועברו לא יהיו הגיוניות ב-Actions Builder עם מודל השיחה החדש.

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

בדיקה ועדכון של כוונות גלובליות

אובייקטים מסוג Intent ב-Dialogflow ללא הקשר קלט מועברים ל-Actions Builder כאובייקטים גלובליים מסוג Intent. אובייקטים מסוג Intent גלובליים פעילים לאורך כל השיחה, כך שאפשר להתאים אותם בכל שלב.

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

מאחדים כוונות באמצעות ביטויי אימון דומים

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

לדוגמה, אובייקט א' כולל את ביטויי האימון הבאים:

  • "אוקיי, אני רוצה לוודא שזה מוכן"
  • "מצוין, זה מוכן"
  • "מתאים לי"

אובייקט ב' כולל את ביטויי האימון הבאים:

  • "אוקיי, אני רוצה לוודא שזה מוכן"
  • "בסדר, אני חושבת שאני מוכן"

מאחר שביטויי האימון בין שתי הכוונות דומות, צריך לאחד את מטרה א' וכוונת ב' לכוונת כללית יותר (אובייקט Intent ג') ולמחוק את אובייקטים המקוריים. משתמשים ב-Intent C בסצנות שמתייחסות לאובייקט א' או למטרה ב'.

Intent ג' כולל את ביטויי האימון הבאים:

  • "אוקיי, אני רוצה לוודא שזה מוכן"
  • "מצוין, זה מוכן"
  • "מתאים לי"
  • "בסדר, אני חושבת שאני מוכן"

עדכון הטיפול באירועים

לאובייקטים מסוג Intent שמשתמשים באירועים מסוימים (fallback, media ו-welcome) ב-Dialogflow, כלי ההעברה יוצר Intent מערכת קשור עבור אותו אירוע. אם לאותו Intent ב-Dialogflow יש ביטויי אימון, נוצרת כוונה נוספת עם אותם ביטויי אימון.

כדי להשלים את הגדרת האירועים ב-Actions Builder, צריך להוסיף רכיבי handler של תגובה לפעולה מאתר אחר (webhook) וגם מעברים, לפי הצורך.

יש להוסיף אובייקטים מסוג Intent של המערכת כדי לטפל באובייקטים חלופיים מסוג Intent

ב-Dialogflow, אובייקטים חלופיים מסוג Intent מטפלים במקרים שבהם אובייקט Intent לא מזהה את הקלט של המשתמש. ב-Actions Builder משתמשים במנגנוני Intent של NO_MATCH ו-NO_INPOUT כדי להביא בחשבון את המקרים האלה.

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

חשוב להוסיף אובייקטים מסוג Intent של המערכת, במקומות שבהם בפרויקט Dialogflow נעשה שימוש באובייקטים חלופיים מסוג Intent. כמה דוגמאות לאובייקטים נפוצים של מערכת Actions Builder הן NO_MATCH ו-NO_INPUT. למידע נוסף על הכוונות של המערכת, אפשר לעיין במאמר כוונות המערכת.

עדכון של אסטרטגיית האספקה

ההעברה של קוד מילוי הבקשה ב-Dialogflow ל-Actions Builder היא אחת מהפעולות המשמעותיות יותר בתהליך ההעברה. אין שינוי במושגים של קריאות לפעולה מאתר אחר (webhook) ושל מילוי הזמנות באופן כללי, אבל הכלי Actions Builder מספק אפשרויות לשימוש חוזר בפונקציות ומוסיף עוד הזדמנויות להקפצת תגובה לפעולה מאתר אחר (webhook).

לאור זאת, כדאי לשקול לחזור ולבחון את הכנת הפרויקט שלכם כדי לנצל את התכונות של Actions Builder:

  • השמות של ה-webhook handler המותאמים אישית מאפשרים לכם להפעיל את אותה פונקציית webhook מחלקים שונים בסצנות שונות.
  • ניתן לבצע קריאות ל-webhook על סמך הזנת סצנה, אימות מותנה, מילוי משבצת (Slot) והתאמת Intent. שליטה מדויקת יותר בזמן ובמקום שבהם מתבצעות קריאה לפעולה מאתר אחר (webhook) מאפשרת לקבל יותר פתרונות למילוי הזמנות של נכסי קריאייטיב.

כשמעדכנים את קוד מילוי ההזמנה, כדאי להביא בחשבון את המועד והמקום להפעלת קריאות לפעולה מאתר אחר (webhook). אפשר להפעיל webhooks בכמה חלקים בסצנה באמצעות האפשרות Call your webhook. מידע נוסף על הפעלת webhooks זמין בקטע 'תגובה לפעולה מאתר אחר (webhook)' במדריך העברה למילוי הזמנות.

דוגמאות להעברה

בפרויקטים שהועברו מ-Dialogflow ל-Actions Builder יש מבנים שונים באופן משמעותי בגלל ההבדלים במודל השיחה שמשתמשים בו בכל אחד מהכלים. השימוש בסצנות, בהנחיות ובמעברים ב-Actions Builder, וכן בתכונות כמו רכיבי handler של תגובה לפעולה מאתר אחר (webhook) רב-פעמיים, גורמים להבדלים משמעותיים בין הקוד של פרויקט שהועבר לבין הקוד המקורי.

השוואה בין פרויקטים שהועברו יכולה לעזור להבין את סוג השינויים וההיקף הנדרשים למעבר מ-Dialogflow ל-Actions Builder. כדי להשוות בין ההטמעות, אפשר לבדוק את הפרויקטים לדוגמה הבאים שהועברו:

פרויקט לדוגמה קוד Dialogflow קוד של Actions Builder
עובדות על Google קוד פרויקט קוד פרויקט
עסקאות קוד פרויקט קוד פרויקט
קישור חשבונות קוד פרויקט קוד פרויקט

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

התהליך הזה כולל עבודה עם שני פרויקטים שונים של Actions Builder, ששניהם הועברו מאותו פרויקט Dialogflow. לשם הבהרה, פרויקטים אלה מכונים להלן:

  • ניסיוני: הפרויקט משמש להגדרה ולבדיקה של ההעברה.
  • המקורי: הפרויקט פעיל כרגע ומוצג למשתמשים.

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

  1. אפשר ליצור גיבוי לפרויקט ב-Dialogflow באמצעות תכונת הייצוא של Dialogflow.
  2. נכנסים אל Actions Console ופותחים את הפרויקט שרוצים להעביר.
  3. עוברים אל פיתוח > פעולות ולוחצים על תצוגה מקדימה של ההעברה.
  4. עוברים בין שקפים המידע ואז לוחצים על התחלת ההעברה.
  5. בוחרים באפשרות Migrate as a new project (העברה כפרויקט חדש).
  6. תוכלו לבדוק את דוח ההעברה ולהוריד אותו לשימוש עתידי.
  7. לוחצים על Migrate (העברה).
  8. מזינים שם לפרויקט ה "ניסיוני" ולוחצים על Create Project. מציינים את Project ID.
  9. צריך להשלים את ההגדרות הנדרשות אחרי ההעברה ולוודא שהפעולה פועלת כמצופה.
  10. השתמשו ב-gactions CLI כדי לשלוף את הטיוטה של הפרויקט ה "ניסיוני".

    gactions pull --project-id experimental-project-id

  11. פותחים מחדש את פרויקט Dialogflow "המקורי" במסוף Actions.

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

  13. בוחרים באפשרות Migrate this project (העברת הפרויקט הזה).

  14. לוחצים על Migrate (העברה).

  15. לוחצים על סמל האפשרויות הנוספות > הגדרות הפרויקט ורושמים את המאפיין Project ID.

  16. במערכת המקומית, פותחים את הקובץ settings.yaml של הפרויקט ה "ניסיוני" שהוצאתם, ומחליפים את projectId במזהה הפרויקט של הפרויקט ה "מקורי".

  17. משתמשים ב-CLI של הפעולות כדי לדחוף את הטיוטה של הפרויקט שנשמר באופן מקומי.

    gactions push

  18. צריך לפעול לפי השלבים לפרסום דרך ערוצי האלפא או הבטא, או לפרסם את הפעולה לייצור.