קביעת תצורה של מילוי עבור סוכני AI מבוססי סקריפטים
בהקשר של סוכני AI, מילוי מתייחס לביצוע משימות הכרוכות באינטראקציה עם מערכות חיצוניות כדי לאחזר, לתפעל או לאחסן נתונים באמצעות ממשקי API. מאמר זה מתאר את הסוכן לדוגמה שנוצר עבור מעקב אחר חבילות. באפשרותך להשתמש בתבנית סוכן זו בעת יצירת סוכן AI חדש עבור אינטראקציות דיגיטליות וקולות.
עבור ערוצים דיגיטליים, המימוש חייב להיות מתוזמר באמצעות זרימת החיבור המשמשת לפריסת סוכן ה- AI. אם ניקח את הדוגמה של סוכן מעקב אחר חבילות, שניתן לייבא מתבנית בעת יצירת סוכן Scripted חדש, הזרימה זמינה גם לייבוא בעת יצירת זרימת Webex Connect חדשה. בנוסף למימוש, זרימת חיבור זו גם מנתבת את המשתמש לתורי סוכנים שונים בהתבסס על כוונתו האחרונה.
-
לאחר שתסיים להגדיר את סוכן התסריט שלך, זהה את התגובות הדורשות הגשמה.
בסוכן לדוגמה, נדרש מילוי עבור 'trackPackageResponse'.
-
בתבניות אלה, הגדר 'תגובת החזקה' שתוצג למשתמש בזמן המימוש.
בדוגמה זו, תגובת המתנה מוגדרת עבור 'trackPackageResponse'.
-
בזרימה, השתמש בצומת Data Parser כדי לנתח את המטה-נתונים של הפעלת הסוכן (משתנה פלט) מתגובת סוכן הבינה המלאכותית כדי להשיג את שם התגובה.
באפשרותך להשיג את הקלט לדוגמה עבור צומת מנתח הנתונים על-ידי הורדת פרטי עסקה מהפעלות על-ידי בחירת הטרנזקציה המתאימה ובחירת הערך של המפתח 'generatedDf' מהקובץ שהורדת.
-
אם ברצונך לבצע ניתוב מבוסס כוונה בעת מסירת הסוכן, באפשרותך לקבל את הערך של היעד הפעיל הקודם באותו שלב.
-
אם אינך מעוניין להוריד ולנתח את JSON לדוגמה, באפשרותך להשתמש ב
- \$.model_state.template_key
עבור שם התגובה וב- \$.previous_intent_model_state.intent.name
עבור שם הכוונה הקודמת.בדוגמה שלנו, אנו משתמשים במשתני זרימה 'responseKey' ו- 'previousIntent' עבור ערכים אלה.
-
השתמש בצומת ענף כדי לבדוק אם תגובה זקוקה למימוש.
-
צומת ההסתעפות יוצא דרך תוצאת הצומת 'אף אחד מהנ"ל' עבור תגובות שאינן דורשות מימוש.
-
בדוגמה שלנו, מכיוון שיש צורך במימוש עבור 'trackPackageResponse', בדוק את הערך של 'responseKey' בצומת הסניף שלנו.
-
-
עבור תגובות הדורשות מילוי, השתמש בצומת HTTP לביצוע שיחות API חיצוניות.
-
ניתן לנתח מידע שימושי מתגובת צומת HTTP באותו צומת באמצעות ייבוא מדגם וקבלת משתני פלט.
-
בדוגמה זו, אנו מקבלים 'משוערמסירה' ו'סטטוס' של החבילה.
-
-
עבד את תגובת המימוש באמצעות צומת הערכה כדי לגבש את תגובת הסוכן.
בדוגמה שלנו, אנו מאתחלים את המשתנה 'fulfilmentResp' ומגדירים את ערכו בהתבסס על מצב החבילה והמסירה המשוערת.
-
שלח את תגובת המימוש למשתמש וצרף אותה לשיחה.
-
חזור בלולאה לצומת קבלה כדי להמשיך את השיחה בין המשתמש לבין סוכן הבינה המלאכותית.
מסירת סוכן מבוסס כוונה
בעת מסירת הסוכן, בדוק את הכוונה הפעילה האחרונה דרך צומת ענף לפני צומת המשימות תור.
בדוק את הערך של 'previousIntent' והסתעף לתורים שונים בהתאם לדרישות שלך. בדוגמה זו, אם הלקוח מבקש מסירת סוכן לאחר כוונת 'עקוב אחר חבילה', נתב אותו לתור 'מומחה'. כל שאר הערכים מובילים להעברה לתור 'צ'אט'.
עבור ערוצי קול, המימוש חייב להיות מתוזמר על ידי העברת השליטה בשיחה בחזרה לזרימה הקולית באמצעות אירועים מותאמים אישית ולאחר מכן חידוש שיחת סוכן AI עם נתוני המימוש. למטרה זו, נעשה שימוש חוזר בסוכן scripted לדוגמה למעקב אחר חבילות. הזרימה זמינה ב'ייבוא מתבניות' במעצב הזרימה של Webex Contact Center. בנוסף למימוש, זרימה זו גם מנתבת את המשתמש לתורי סוכנים שונים בהתבסס על כוונתו האחרונה.
מדריך שלב אחר שלב: הגשמה
-
הוסף סוג תגובה 'אירוע מותאם אישית'.
-
אתר את מפתח התבנית שעבורו ברצונך להוסיף את האירוע המותאם אישית. במקרה זה, השתמש במפתח התבנית 'trackPackageResponse'.
-
הוסף את סוג התגובה 'אירוע מותאם אישית' למפתח התבנית.
-
-
הגדר את תגובת האירוע המותאם אישית.
-
הוסף שם אירוע ומטען אירוע:
-
לקבלת התגובה המותאמת אישית לאירוע, ספק שם אירוע. במקרה זה, 'TrackPack_Exit'.
-
הוסף את מטען האירוע, המכיל נתונים שיועברו לזרימה. זה חייב להיות בפורמט JSON. בדוגמה זו,
{"PackageNumber":"${entity. PackageNum}"}
.
-
-
-
השתמש במטען האירוע בזרימה.
- מטה-נתונים של פעילות סוכן וירטואלי v2 :
בתצורת זרימת הקול שלך, מטען האירוע שהוספת זמין כחלק מהמטה-נתונים של פעילות סוכן וירטואלי V2 .
צור את משתנה הזרימה PackageNum.
השתמש בפעילות ניתוח כדי לבחור את המטה-נתונים של פעילות סוכן וירטואלי V2 כמשתנה הקלט.
הגדר את משתנה הפלט ל- 'PackageNum' ואת ביטוי הנתיב שלו ל- '$. PackageNum' (מבוסס על מבנה מטען האירוע שהוגדר בתגובת סוכן).
- השתמש במטה-נתונים בפעילות HTTP :
השתמש במשתנה 'PackageNum' מהמטא נתונים המעובדים בזרימה שלך כדי לעקוב אחר החבילה.
יבא את הזרימה המצורפת כדי למצוא את הפרטים של פעילות HTTP .
הגדר משתני זרימה 'estimatedDelivery' והגדר אותו ל- '$.estimated_delivery' ומשתנה זרימה נוסף 'packStatus' והגדר אותו ל- $.status.
- הוסף תנאים בהתבסס על פעילות HTTP :
הוסף פעילות תנאי חדשה לזרימה. פעילות זו משמשת לבדיקת התגובה של פעילות HTTP (אם החבילה קיימת ומצבה).
בדוגמה זו, הביטוי
{{ HTTPRequest_8l3.httpStatusCode == 404 }}
משמש כדי לבדוק אם לא נמצאה חבילה.
- מטה-נתונים של פעילות סוכן וירטואלי v2 :
- הוסף הגדרת פעילות משתנה בהתאם לתנאים:
עבור התנאי שעבורו החבילה אינה קיימת:
- תחת הענף שבו לא נמצאה חבילה, הוסף פעילות Set Variable .
- הגדר את החבילהResp (משתנה זרימה נוסף) ל:
לא נמצאה חבילה עם פרטים אלה.
עבור התנאי שעבורו החבילה קיימת:
- תחת הענף שבו נמצאת חבילה (כלומר, קוד מצב HTTP אינו שווה ל- 404), הוסף פעילות נוספת של Set Variable .
הגדר את החבילהResp (משתנה זרימה נוסף) ל:
החבילה שלך נאספה. הוא יימסר על ידי {{estimatedDelivery}}.
הוסף שתי פעילויות משתנים נוספות כדי להגדיר שם אירוע ונתוני אירוע. נתונים אלה יועברו לפעילות הסוכן הווירטואלי V2.
צרו משתני זרימה event_name ו-event_data.
הגדר את event_name ל- TrackPack_Entry ואת event_data ל- {'packageResp': '{{packageResp}}' | json}.
-
חזרה לולאה לפעילות Virtual Agent V2 :
- הגדר את פעילות הסוכן הווירטואלי V2:
חבר את הפעילות הסופית של Set Variable לפעילות Virtual Agent V2.
הגדר את שם האירוע ל- {{event_name}}.
הגדר את נתוני האירוע ל- {{event_data}}.
- הגדר את פעילות הסוכן הווירטואלי V2:
-
טפל באירוע נכנס בסוכן הווירטואלי שלך:
-
הוסף מפתח תבנית חדש:
-
עבור אל הכרטיסייה תגובות בחלונית השמאלית.
-
הוסף מפתח תבנית חדש בשם packageStatus.
-
-
הגדרת תצורה של אירוע נכנס:
-
תחת הערוץ הקולי, הגדר את האירוע הנכנס ל- TrackPack_Entry (או כל מה שנשלח לפעילות הסוכן הווירטואלי V2 בזרימה).
-
-
הגדר את התגובה:
-
הגדר את התגובה ל: <speak> <say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. אני יכול לעזור לך במשהו אחר?</לדבר>
תגובה זו משתמשת במשתנים הנשלחים במטען מהזרימה. כל המשתנים שנשלחים כחלק מנתוני האירוע זמינים למפתחים לגישה כ- ${eventStore.<variable_name>}.
פעולה זו משתמשת גם בתגי SSML. בפרט, תג SSML מאפשר לך לשלוט באופן שבו טקסט מתפרש ונאמר על ידי מנוע טקסט לדיבור. ניתן להשתמש בתג זה כדי לציין כיצד יש לבטא מספרים, תאריכים, שעות, כתובות וטקסט אחר. כאן אנו משתמשים בו לתאריך.
-
-
ניתוב סוכן בהתבסס על כוונה קודמת
-
אם פעילות Virtual Agent V2 יוצאת דרך הפלט 'Escalated', השתמש בפעילות Parse כדי לקבל את הכוונה הקודמת ממטה-נתונים של הסוכן.
-
השתמש בפעילות רישיות כדי לחפש ערכים שונים של הכוונה הקודמת הקובעים את לוגיקת התור. בדוגמה זו, אנו בודקים אם הכוונה הקודמת הייתה 'חבילת מעקב'.
-
צרף את פלטי פעילות האירוע לקצוות אנשי הקשר המתאימים בתור.