יצירת סוכן באמצעות תהליכי עבודה

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

בתרשים הבא מוצג הנציג שהושלם במדריך הזה:

צילום מסך של תרשים הסוכן

לפני שמתחילים

לפני שתקראו את המדריך הזה, אתם צריכים:

יצירת סוכן

יצירת סוכן למדריך הזה:

  1. פותחים את מסוף Dialogflow CX.
  2. יוצרים או בוחרים פרויקט.
  3. לוחצים על Create agent.
  4. בוחרים באפשרות יצירת כתובת URL של דף הדגם והמחיר.
  5. ממלאים את הטופס של ההגדרות הבסיסיות של הנציג:
    1. מזינים שם לתצוגה.
    2. בוחרים מיקום. לוחצים על הכפתור עריכה אם רוצים לשנות את הגדרות המיקום המתקדמות.
    3. בוחרים אזור זמן.
    4. בוחרים את שפת ברירת המחדל.
    5. אם רוצים, מפעילים את Cloud Logging.
  6. לוחצים על Save.

ייבוא אופציונלי של נציג

במדריך הזה נסביר איך ליצור נציג להזמנת חולצות.

כדי לדלג על השלבים במסוף, מורידים את הנציג ומייבאים אותו.

רצף פעולות וכוונות כברירת מחדל

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

כדי למצוא את כוונות המשתמש, לוחצים על Manage ואז על Intents. כדי למצוא את התהליך, לוחצים על Build.

X פריט
Default Welcome Intent (כוונת פתיחה שמוגדרת כברירת מחדל) Default Welcome Intent (כוונת פתיחה שמוגדרת כברירת מחדל) כוללת ביטויי אימון כמו "היי" או "שלום" שנועדו להתאים לקלט הראשוני של משתמש הקצה. אפשר לערוך את כוונת המשתמש לפי הצורך.
כוונה שלילית כברירת מחדל אפשר להשתמש ב-Default Negative Intent כדי להוסיף ל-Intent הזה ביטויי אימון שמשמשים כדוגמאות שליליות.
תהליך התחלה שמוגדר כברירת מחדל אפשר להשתמש ב-Default Start Flow בתור התהליך היחיד. זהו התהליך היחיד שבו נשתמש במדריך הזה. לנציגים מורכבים יותר, אפשר להוסיף עוד תהליכים. לתהליך הזה יש מסלול כוונה שמוגדר כברירת מחדל, עם Default Welcome Intent (כוונת בריכת מחדל לפתיחה) כדרישת כוונה.

הודעת פתיחה לבדיקה שמוגדרת כברירת מחדל

ה-intent והתהליך שמוגדרים כברירת מחדל יכולים לנהל שיחה בסיסית שכוללת רק הודעת פתיחה.

כדי לבדוק את הנציג החדש:

  1. לוחצים על הכפתור Test Agent כדי לפתוח את הסימולטור.
  2. מזינים hello בשדה הטקסט ומקישים על Enter.
  3. הנציג משיב בהודעת פתיחה שמוגדרת כברירת מחדל.
  4. סוגרים את הסימולטור.

צילום מסך של הסימולטור

הנציג מבצע את השלבים הבאים עבור הקלט הזה של משתמש הקצה:

  1. כשמספקים קלט, הנציג מעריך את ה-state handlers בהיקף של Default Start Flow ודף התחלת התהליך הפעילים.
  2. הנציג מזהה נתיב שתואם ל-Default Welcome Intent ומפעיל אותו.
  3. הנציג בוחר באקראי אחת מהודעות התגובה של ה-webhook ומוסיף אותה לתור התגובות.
  4. בגלל שלמסלול אין יעד מעבר, התהליך והדף הפעילים נשארים ללא שינוי.
  5. הנציג שולח לכם את התוכן של תור התשובות.

עריכה של הודעת הפתיחה

כדי לערוך את הודעת הפתיחה:

  1. לוחצים על הכרטיסייה Build.
  2. בקטע Flows (תהליכים), בוחרים באפשרות Default Start Flow (תהליך התחלה שמוגדר כברירת מחדל).
  3. לוחצים על הצומת דף פתיחה בתרשים.
  4. מוצאים את המסלול עם Default Welcome Intent כדרישת כוונה ולוחצים עליו כדי לפתוח את חלונית העריכה של המסלול.
  5. בקטע Fulfillment, בסעיף המשנה Agent responses, מוחקים את כל הודעות התגובה הקיימות.
  6. מוסיפים את Hello, this is a shirt ordering virtual agent. How can I help you? כתשובה היחידה.
  7. לוחצים על Save.
  8. סוגרים את חלונית העריכה של המסלול.

צילום מסך של התשובה של הסוכן

בדיקת הודעת הפתיחה המעודכנת

כדי לבדוק את התשובה המעודכנת:

  1. לוחצים על הכפתור Test Agent כדי לפתוח את הסימולטור.
  2. מזינים hello בשדה הטקסט ומקישים על Enter.
  3. הסוכן עונה עם ההודעה החדשה שלכם.
  4. סוגרים את הסימולטור.

דף מיקום החנות

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

יצירת כוונת המיקום

כוונה מסווגת את הכוונה של משתמש הקצה בתור אחד בשיחה.

כדי ליצור Intent שמותאם כשבקשות הקלט של משתמש הקצה מבקשות את מיקום החנות:

  1. לוחצים על הכרטיסייה ניהול.
  2. לוחצים על Intents (כוונות).
  3. לוחצים על יצירה.
  4. מזינים store.location בתור השם המוצג של ה-intent.
  5. מזינים את ביטויי האימון הבאים:
    • Where is the store?
    • Directions
    • Tell me the address
    • Where do I pick up my order?
    • How do I get there?
    • Where is the store located?
    • What street are you on?
    • What is your address?
    • How do I get to your store?
    • Where are you located?
  6. לוחצים על Save.

צילום מסך של ה-intent

יצירת דף המיקום

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

כדי ליצור את דף תוסף המפה:

  1. לוחצים על הכרטיסייה Build.
  2. בקטע Flows (תהליכים), בוחרים באפשרות Default Start Flow (תהליך התחלה שמוגדר כברירת מחדל).
  3. לוחצים על כפתור ההוספה בקטע דפים. מופיע שדה להזנת טקסט של השם לתצוגה של הדף.
  4. מזינים את השם המוצג של הדף, Store Location, ומקישים על Enter.
  5. לוחצים על הלחצן more_vert ליד השם המוצג של הדף.
  6. לוחצים על עריכה כדי לפתוח את חלונית העריכה של הדף.
  7. מאתרים את Entry fulfillment ולוחצים על Edit fulfillment.
  8. לוחצים על +Add dialogue response כדי להזין את הערך Our store is located at 1007 Mountain Drive, Gotham City, NJ. בשדה Agent dialogue שבקטע Agent responses.
  9. לוחצים על Save.
  10. סוגרים את חלונית העריכה של הדף.

צילום מסך של הדף

הוספת מסלול של כוונה להגיע למיקום לתהליך

עכשיו, יוצרים מסלול שבו דף המיקום של החנות הוא יעד המעבר. כשמתבצעת קריאה לנתיב הזה, הסשן עובר לדף Store Location (מיקום החנות). הנתיב הזה מופעל ב-Default Start Flow, ולכן הוא נמצא בהיקף כל עוד התהליך פעיל.

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

כדי ליצור את המסלול:

  1. לוחצים על הכרטיסייה Build.
  2. בקטע Flows (תהליכים), בוחרים באפשרות Default Start Flow (תהליך התחלה שמוגדר כברירת מחדל).
  3. לוחצים על הצומת דף פתיחה בתרשים. זהו דף הפתיחה של Default Start Flow.
  4. מוסיפים את נתיב הכוונה הבא:
    • כוונה: store.location
    • דף המעבר: Store Location
  5. לוחצים על Save.
  6. סוגרים את חלונית העריכה של נתיב ההפניה לחיפוש עם מודעות.

צילום מסך של מסלול ה-intent

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

בדיקת הדף של מיקום החנות

כדי לבדוק את הדף:

  1. לוחצים על הכפתור Test Agent כדי לפתוח את הסימולטור.
  2. מזינים את What is the store location? ולוחצים על מקש Enter.
  3. הנציג מספק את הכתובת.
  4. סוגרים את הסימולטור.

הנציג מבצע את השלבים הבאים עבור הקלט הזה של משתמש הקצה:

  1. כשאתם מספקים קלט, הנציג מעריך את ה-state handlers שנמצאים בהיקף של Default Start Flow ושל flow start page הפעילים.
  2. הנציג מזהה נתיב שתואם ל-intent‏ store.location ומפעיל אותו.
  3. בגלל שלמסלול אין הודעות תגובה למילוי בקשה, הנציג לא מוסיף שום דבר לתור התגובות.
  4. הנציג מעביר את הסשן לדף תוסף מפה.
  5. הנציג מוסיף לתור התשובות את הודעת התשובה למילוי הבקשה של דף Store Location.
  6. הנציג שולח לכם את התוכן של תור התשובות.

דף שעות הפתיחה של החנות שנוצר באמצעות יצירה מוטמעת

בקטע הזה יוצרים דף Store Hours שמטפל בשאלות של משתמשי הקצה לגבי שעות הפתיחה של החנות. בעבר, יצרתם דפים וכוונות מהכרטיסיות Build ו-Manage. בקטע הזה נסביר איך ליצור את הרכיבים האלה מהר יותר באמצעות יצירה מוטבעת.

כדי ליצור נתיב כוונה, כוונה ודף בתוך השורה:

  1. לוחצים על הצומת דף פתיחה בתרשים.
  2. ליד נתיבים, לוחצים על הוספה. נפתח חלון העריכה של מסלול הכוונה.
  3. בקטע Intent, בוחרים באפשרות New intent. נפתחת חלונית העריכה של כוונת המשתמש.
  4. יוצרים כוונה מסוג store.hours עם ביטויי האימון הבאים:

    • What are your store hours?
    • What time do you close?
  5. לוחצים על Save. חלונית העריכה של הכוונה נסגרת.

  6. עוברים לקטע מעבר בחלונית העריכה של המסלול.

  7. בקטע מעבר בין דפים, בוחרים באפשרות דף חדש.

  8. מזינים את הערך Store Hours בשדה הטקסט שמופיע.

  9. לוחצים על Save. הדף החדש מופיע בתרשים כי עכשיו יש מעבר שמוביל אליו.

  10. סוגרים את חלונית העריכה של המסלול.

  11. מוסיפים מילוי בקשה ל-Intent של שעות הפתיחה, כמו שעשיתם ל-Intent של Store Location.

  12. סוגרים את כל חלוניות העריכה הפתוחות.

דף פריט ההזמנה

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

יצירת סוג ישות בהתאמה אישית למידת חולצה

סוגי ישויות קובעים איך לחלץ נתונים מהקלט של משתמשי הקצה. ב-Dialogflow CX יש ישויות מערכת מוגדרות מראש שתואמות לסוגי נתונים נפוצים, כמו תאריכים, שעות, צבעים וכתובות אימייל. אפשר גם ליצור ישויות בהתאמה אישית לנתונים ספציפיים.

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

סוג הישות "גודל" צריך לכלול את רשומות הישות הבאות:

ישות מילים נרדפות
קטן קטן, זעיר, קטנטן
בינוני בינוני, רגיל, ממוצע
גדול גדול, ענק, עצום

כדי ליצור את הישות:

  1. לוחצים על הכרטיסייה ניהול.
  2. לוחצים על סוגי ישויות.
  3. לוחצים על יצירה.
  4. מגדירים את השם המוצג בתור size.
  5. מוסיפים את רשומות הישויות שמופיעות בטבלה.
  6. לוחצים על Save.

יצירת Intent של הזמנה עם פרמטרים של Intent

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

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

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

לדוגמה, נניח שיש לכם ביטוי לאימון כמו "What is the forecast tomorrow for Tokyo?‎" אפשר להוסיף הערה ל "מחר" עם הפרמטר date ול "טוקיו" עם הפרמטר location. כשמוסיפים הערות לחלקים של ביטוי לאימון, Dialogflow CX מזהה שהחלקים האלה הם רק דוגמאות לערכים בפועל שמשתמשי הקצה יכולים לספק בזמן הריצה.

לדוגמה, אם משתמש הקצה מזין את השאלה "What is the forecast on Friday for Sydney?‎", ‫Dialogflow CX יכול לחלץ את הפרמטר date מהמילה "Friday" ואת הפרמטר location מהמילה "Sydney".

כדי להוסיף הערה לביטוי לאימון במסוף:

  1. מדגישים את החלק בביטוי לאימון שרוצים להוסיף לו הערה.
  2. בוחרים את סוג הישות הרצוי מהרשימה.
  3. ‫Dialogflow יוצר פרמטר בטבלת הפרמטרים הבאה.

כדי ליצור כוונה בשם order.new, מבצעים את השלבים הבאים:

  1. לכל ביטוי שמכיל צבע, מוסיפים הערה לצבע עם הפרמטר color וסוג הישות של המערכת @sys.color.
  2. לכל ביטוי שמכיל מידת חולצה, מוסיפים הערה למידה עם הפרמטר size וסוג הישות המותאמת אישית @size שיצרתם קודם.

ביטויי האימון והפרמטרים אמורים להיראות בערך כך:

צילום מסך של הכוונה

יצירת דף לביצוע הזמנה

יצירת דף חדש לביצוע הזמנה:

  • השם המוצג: New Order
  • מילוי בקשות כניסה: Ok, let's start a new order.

הוספת טופס לדף לביצוע הזמנה

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

כשמשתמש קצה מספק פרמטרים של Intent להתאמה ל-Intent, הפרמטרים של ה-Intent הופכים לפרמטרים של סשן. כשהדף הופך לפעיל, כל הפרמטרים של הטופס שלו מתמלאים מראש בכל הפרמטרים של הסשן שיש להם את אותו שם. לכן, אם משתמש הקצה מספק מידה או צבע כשהכוונה order.new תואמת, הערכים האלה ממולאים באופן אוטומטי בטופס.

מגדירים שני פרמטרים נדרשים של טופס בדף הזמנה חדשה:

חובה השם המוצג סוג ישות הוא רשימה פרומפט
צבע ‎@sys.color איזה צבע היית רוצה?
size @size איזו מידה אתם רוצים?

כדי להוסיף את הטופס הזה:

  1. לוחצים על הדף New Order בתרשים.
  2. לוחצים על כפתור ההוספה של Parameters כדי לפתוח את חלונית העריכה של הפרמטרים.
  3. מוסיפים את הפרמטרים כמו שמתואר בטבלה שלמעלה.
  4. לוחצים על Save.
  5. סוגרים את חלונית העריכה של הפרמטרים.

הוספת מסלול של כוונת הזמנה לתהליך

מוסיפים נתיב ל-Default Start Flow שעובר לדף New Order כשמשתמש הקצה רוצה לבצע הזמנה חדשה:

  • כוונה: order.new
  • דף היעד של המעבר: הזמנה חדשה

דף אישור

הדף האחרון מאשר את ההזמנה ומסיים את הסשן.

יצירת דף האישור

יוצרים דף אישור עם תשובה שמשתמשת בפרמטרים של הסשן כדי לאשר את ההזמנה:

  • השם המוצג: Order Confirmation
  • מילוי הערך: You can pick up your order for a $session.params.size, $session.params.color shirt in 7 to 10 business days. Goodbye.

הוספת מסלולים מותנים לדף לביצוע הזמנה

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

כדי להגדיר תנאים במסוף, קראו את המאמר הגדרת תנאים.

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

  • מצב: $page.params.status = "FINAL"
  • הנציג אומר: You have selected a $session.params.size, $session.params.color shirt.
  • דף המעבר: Order Confirmation

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

  • תנאי: true
  • הנציג אומר: I'd like to collect a bit more information from you.

יצירת נתיב תנאי לסיום הסשן

מוסיפים את נתיב התנאי הבא לדף Order Confirmation כדי לסיים את הסשן אחרי שהדף הופך לפעיל והמילוי של הרשומה שלו מעובד:

  • תנאי: true
  • דף היעד של המעבר: End Session

בדיקת הנציג המוגמר

בודקים את הנציג באמצעות הדיאלוג הבא:

דיאלוג הסבר
משתמש קצה: שלום
נציג: שלום, אני נציג וירטואלי להזמנת חולצות. איך אפשר לעזור לך?
  1. הנתיב Default Welcome Intent ב-Default Start Flow נקרא.
  2. ה-fulfillment של ה-state handler הזה ("שלום, זה...") נוספת לתור התגובות.
  3. הנציג שולח את תור התגובות למשתמש הקצה.
משתמש קצה: אני רוצה לקנות חולצה כחולה
נציג: אוקיי, בוא נתחיל הזמנה חדשה.
נציג: אשמח לקבל ממך עוד קצת מידע.
הנציג: איזו מידה את רוצה?
  1. ה-intent route‏ order.new ב-Default Start Flow נבדק.
  2. ה-Intent‏ order.new תואם, ופרמטר ה-Intent‏ color מוגדר לערך "blue".
  3. הסשן עובר לדף New Order, והפרמטר color של ה-intent הופך לפרמטר של הסשן.
  4. בדף New Order יש מילוי בקשה בכניסה ("Ok, let's start...‎"), לכן, היא מתווספת לתור התגובות.
  5. הפרמטר color של הסשן משמש למילוי הפרמטר של הטופס עם אותו שם.
  6. המסלול של התנאי True בדף New Order נבדק ומופעל. יש בה הודעת תגובה ("אני רוצה לאסוף…"), לכן היא מתווספת לתור התגובות.
  7. הטופס בדף לא מלא, אז הנציג משתמש בהנחיה לגבי המידה ("איזו מידה...") ומוסיף את זה לתור התגובות.
  8. הנציג שולח את תור התגובות למשתמש הקצה.
משתמש קצה: גדול
נציג: בחרת חולצה כחולה במידה גדולה.
נציג: אפשר לאסוף את ההזמנה של החולצה הכחולה במידה לארג' תוך 7 עד 10 ימי עסקים. להתראות.
  1. הקלט של משתמש הקצה ממלא את הפרמטר size שהנציג ביקש בתור הקודם בשיחה.
  2. הנתיב להשלמת הטופס בדף New Order נבדק ומופעל. יש לו מילוי בקשה ("בחרת..."), שנוסף לתור התגובות עם הפניות לפרמטרים שמתורגמות לערכים בפועל שסופקו על ידי משתמש הקצה.
  3. הסשן עובר לדף אישור ההזמנה.
  4. בדף Order Confirmation יש מילוי בקשה של כניסה ("You can pick up...‎"), שנוסף לתור התגובות.
  5. הנציג שולח את תור התגובות למשתמש הקצה.
  6. הסשן עובר למצב סיום הסשן.

הכנה לסביבת הייצור

לפני שמפעילים את הנציג בסביבת הייצור, צריך ליישם את השיטות המומלצות לסביבת הייצור.