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

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

הסוכן המלא שנוצר לפי המדריך הזה יוצג בגרף במסוף באופן הבא:

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

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

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

  1. מידע בסיסי על תהליכי עבודה
  2. לבצע את השלבים להגדרה.

יצירת סוכן

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

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

ייבוא אופציונלי של סוכנים

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

רצף פעולות והצהרות כוונות שמוגדרים כברירת מחדל

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

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

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

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

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

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

הסוכן ביצע את הפעולות הבאות כדי להגיב לקלט של משתמש הקצה:

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

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

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

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

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

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

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

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

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

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

יצירת התעניינות במיקום

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

  1. לוחצים על הכרטיסייה ניהול.
  2. לוחצים על Intents (כוונות).
  3. לוחצים על יצירה.
  4. מזינים store.location בשם התצוגה של הכוונה.
  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

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

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

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

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

הוספת מסלול עם התעניינות במיקום לזרימת השיחה

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

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

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

צילום מסך של נתיב Intent

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

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

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

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

הסוכן ביצע את הפעולות הבאות בעקבות הקלט של משתמש הקצה:

  1. כשסיפקתם קלט, התהליך שמוגדר כברירת מחדל היה התהליך הפעיל, ודף ההתחלה של התהליך היה הדף הפעיל. כל אחד מהמטפלים במצבים שהוחלו על התהליך הפעיל היה בתחום, ולכן הסוכן העריך אותם.
  2. אחד מהמסלולים שנבדקו כולל את store.location כדרישת כוונת חיפוש. הקלט שלך תאם לכוונת המשתמש הזו, לכן הופעל המסלול.
  3. למסלול שאליו מתקשרים אין הודעות תגובה של מילוי, לכן לא נוסף דבר לתור התגובות.
  4. למסלול שאליו מתקשרים יש יעד מעבר, ולכן הדף הפעיל השתנה לדף מיקום החנות.
  5. בדף Store Location (מיקום החנות) יש רשומה של מילוי הזמנה, ולכן הודעת התשובה לגבי מילוי ההזמנה נוספה לתור התשובות (הכתובת).
  6. הנציג/ה השיבו עם התוכן של תור ההמתנה לתשובה.

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

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

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

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

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

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

  7. בקטע Page transition (מעבר בין דפים), בוחרים באפשרות New page (דף חדש).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

יוצרים כוונת רכישה דומה לשלבים שביצעתם למעלה. נותנים לכוונה את השם order.new. לכל ביטוי שמכיל צבע, צריך להוסיף הערה עם פרמטר color וסוג הישות @sys.color של המערכת. לכל ביטוי שמכיל מידה של חולצה, מוסיפים הערה למידה עם פרמטר size וסוג הישות המותאמת אישית @size שיצרתם בשלבים הקודמים. הפרמטרים וביטויי האימון צריכים להיראות בערך כך:

צילום מסך של Intent

יצירת דף הזמנה

יוצרים את דף ההזמנה החדש לפי שלבים דומים לאלה שצוינו קודם:

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

הוספת טופס לדף ההזמנה

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

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

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

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

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

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

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

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

  • כוונה: 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.

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

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

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

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

  • תנאי: $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.

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

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

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

בדיקת הסוכן שהושלם

כדי לבדוק את הסוכן, אפשר להשתמש בשיחה הבאה:

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

העברה לסביבת ייצור

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