במדריך הזה מוסבר איך להשתמש בתכונת ההערכות המובנית במסוף Dialogflow CX כדי לאמת את היכולות של הנציג ולמנוע רגרסיות אחרי עדכונים. ב-Dialogflow CX יש מדדים מוכנים לשימוש שעוזרים להעריך את הביצועים של הנציג.
כדי להשתמש בכל המדדים, חוץ מאשר זמן אחזור, צריך לפחות מקרה בדיקה אחד, "תשובה אידיאלית" ש-Dialogflow CX משווה אליה את הביצועים של הנציג כדי למדוד את התוצאות. אפשר למדוד כל מקרה בדיקה בהקשר של סביבה, וכך לציין גרסאות שונות של פלייבוקים, תהליכים וכלים שבהם משתמשים בהערכת הביצועים של הנציג.
(אופציונלי) יצירת סביבה
לא חובה ליצור סביבה. אם לא יוצרים סטטוס, ערך ברירת המחדל הוא Draft.
- עוברים אל Environments ולוחצים על Create.
- בוחרים את הגרסאות של הפלייבוקים, התהליכים והכלים שרוצים להשתמש בהם כדי למדוד את הביצועים של הנציג.
- לוחצים על שמירה כדי לשמור את הסביבה.
יצירת מקרה בדיקה
אתם יכולים ליצור מקרה בדיקה משיחה קיימת בהיסטוריית השיחות, ליצור שיחה חדשה כדי לשמור אותה כמקרה בדיקה או לייבא מקרי בדיקה ל-Dialogflow CX.
יצירת מקרה בדיקה במסוף
- בתפריט הניווט, לוחצים על היסטוריית השיחות.
- כדי ליצור שיחה חדשה, מפעילים את הנציג, למשל על ידי התקשרות למספר הטלפון של הנציג. בוחרים את השיחה שרוצים להשתמש בה כמקרה בדיקה.
- בודקים את השיחה ומוודאים שהתשובות של הנציג, הכלים שהופעלו והאופן שבו כל תשובה נשמעת תקינים. כשמסיימים, לוחצים על יצירת מקרה בדיקה.
- נותנים שם לתצוגה של מקרה הבדיקה ומציינים את הציפיות שלכם לגבי האירועים שצריכים לקרות ברמת השיחה. ההנחיות יכולות לכלול כלים, פלייבוקים ותהליכים שאתם מצפים שהסוכן יפעיל במהלך השיחה. כדי להוסיף עוד ציפיות, לוחצים על +הוספת ציפייה. כדי שהציפיות ייבדקו לפי הסדר שבו הן מופיעות מלמעלה למטה, מפעילים את האפשרות Sequential validation.
- לוחצים על Save כדי לשמור את מקרה הבדיקה.
העלאת מקרי בדיקה
- מקרי הבדיקה חייבים להיות בפורמט ה-CSV הבא.
- כדי להעלות מקרי בדיקה למערכת, לוחצים על Import בחלק העליון של תפריט מקרי הבדיקה.
- בתפריט שמופיע, בוחרים את הקובץ שמאוחסן באופן מקומי או מזינים את הנתיב לקטגוריה שלו ב-Cloud Storage.
- עכשיו מקרי הבדיקה אמורים להופיע בתפריט מקרי הבדיקה.
הרצת מקרה בדיקה
- בתפריט הניווט, עוברים אל Test cases ובוחרים את מקרי הבדיקה שרוצים להשוות לנציג. אפשר לבחור מקרה בדיקה אחד או כמה מקרים.
- לוחצים על Run selected test cases.
תוצאות הבדיקה
- גישה לתוצאות: התוצאות של הרצת הבדיקה האחרונה מופיעות לכל מקרה בדיקה בתצוגה מקרה בדיקה אחרי שהבדיקה מסתיימת:
- דמיון סמנטי: מדד שבודק עד כמה השיחות של הנציג היו דומות ל"תשובת הזהב" (התשובות במקרה הבדיקה). כדי לקבל את המדד הזה, צריך תשובות מושלמות. הערכים יכולים להיות 0 (לא עקבי), 0.5 (עקבי במידה מסוימת) או 1 (עקבי מאוד).
- דיוק בקריאות API לכלים: משקף את מידת הדיוק של השיחה מבחינת הכלים שצפויים להיות מופעלים במהלך השיחה. הערכים נעים בין 0 ל-1. אם לא נעשה שימוש בכלים בשיחה, הדיוק מופיע בתור
--(לא רלוונטי). - זמן אחזור: הזמן הכולל שלוקח לנציג לעבד בקשה של משתמש ולהגיב לו, נמדד בשניות כהפרש בין סוף האמירה של המשתמש לבין תחילת התגובה של הנציג.
- עדכון מקרה הבדיקה המוזהב: אם ההרצה האחרונה משקפת את השינויים הצפויים בגלל עדכון הנציג, לוחצים על Save as golden כדי להחליף את מקרה הבדיקה המקורי.
- סינון ומיון של התוצאות: אתם יכולים לסנן ולמיין את תוצאות ההערכה לפי כל אחד מהמדדים שנוצרו או לפי סביבה ספציפית, כדי לעקוב אחרי השינויים בביצועים אחרי כל עדכון.
פורמט לייבוא קבוצתי של מקרי בדיקה
בקטע הזה מוסבר איך ליצור קובץ CSV בפורמט המתאים לייבוא של מקרי בדיקה באצווה לנציג. המערכת קוראת את הקובץ הזה כדי ליצור קבוצה מובנית של מקרי בדיקה, שכל אחד מהם מכיל תור אחד או יותר בשיחה.
מקרה בדיקה אחד יכול להשתרע על פני כמה שורות בקובץ ה-CSV. השורה הראשונה של מקרה בדיקה מגדירה את המאפיינים הכלליים שלו, למשל, השם והשפה שלו. כל שורה נוספת במקרה הבדיקה הזה מגדירה סבב אחד של שיחה, שבו המשתמש אומר משהו והנציג עונה.
כותרת
השורה הראשונה בקובץ ה-CSV חייבת להיות שורת כותרת. הכותרת הזו מגדירה את הנתונים בכל עמודה.
כותרות חובה
שתי הכותרות הנדרשות צריכות להופיע בסדר שמוצג. שניהם נדרשים בשורה הראשונה של מקרה בדיקה חדש. כדי להתחיל מקרה בדיקה חדש, צריך לספק ערכים חדשים של DisplayName ו-LanguageCode.
-
DisplayName: השם של מקרה הבדיקה. השדה הזה ממולא רק בשורה הראשונה של מקרה בדיקה חדש. -
LanguageCode: קוד השפה של הבדיקה (לדוגמה,en,en-US,es).
כותרות אופציונליות
אתם יכולים לכלול את הכותרות האופציונליות הבאות כדי לספק פרטים נוספים על מקרי הבדיקה. הן יכולות להופיע בכל סדר אחרי שתי העמודות הראשונות שחובה להוסיף.
המטא-נתונים של מקרה הבדיקה:
- תגים: תגים מופרדים ברווחים לארגון הבדיקות (לדוגמה, "payments onboarding").
- הערה: הערות בטקסט חופשי או תיאור של מטרת מקרה הבדיקה.
-
TestCaseConfigV2.StartResource: מציינים את התהליך או את הפלייבוק שרוצים להתחיל איתם את הבדיקה.
הטקסט של המשתמש:
-
UserInput.Input.Text: הטקסט שהמשתמש מזין בתור מסוים. -
UserInput.InjectedParameters: פרמטרים שצריך להוסיף לשיחה בתחילת התור, בפורמט של מחרוזת JSON.
הפלט של הסוכן:
-
AgentOutput.QueryResult.ResponseMessages.Text: הטקסט המדויק שהנציג השיב. -
AgentOutput.QueryResult.Parameters: הפרמטרים שחולצו על ידי הנציג, בפורמט של מחרוזת JSON.
ציפיות מסודרות:
OrderedExpectations.ExpectedFlow: התהליך שאתם מצפים שיהיה פעיל אחרי התור.-
OrderedExpectations.ExpectedIntent: ה-intent שאתם מצפים שיתאים לתור. -
OrderedExpectations.ExpectedAgentReply: הטקסט שאתם מצפים שהנציג ישיב, שיכול להיות מחרוזת משנה של התשובה המלאה. -
OrderedExpectations.ExpectedOutputParameter: הפרמטרים שאתם מצפים שיוגדרו בסוף התור, בפורמט של מחרוזת JSON.
מטא-נתונים של אודיו:
-
AudioTurnMetadata: מטא-נתונים של בדיקות מבוססות-אודיו, בפורמט של מחרוזת JSON.
יצירת מקרה בדיקה
מקרי הבדיקה מאורגנים לפי שורות נתונים.
- כדי להתחיל מקרה בדיקה חדש, ממלאים את שורת המטא-נתונים שלו:
- כלל: בשורה הזו חייב להיות ערך בעמודה
DisplayName. - פעולה: מזינים ערכים בשדות
DisplayNameו-LanguageCode. אפשר לכלול בשורה הזו תגים, הערות אוTestCaseConfigV2.StartResourceלפי הצורך. משאירים את העמודות של סבבי השיחה (כמוUserInput.Input.Text) ריקות בשורה הזו. אם אתם משתמשים בתגים, הפרידו בין כל תג באמצעות רווח (לדוגמה,tag1 tag2 tag3). אם אתם משתמשים ב-TestCaseConfigV2.StartResource, הוסיפו לשם המשאב את הקידומתstart_flow:אוstart_playbook:(לדוגמה,start_flow:projects/p/locations/l/agents/a/flows/f).
- כלל: בשורה הזו חייב להיות ערך בעמודה
- מוסיפים תור בשיחה למקרה הבדיקה שהתחלתם, על ידי הוספת שורה חדשה ממש מתחתיו:
- כלל: העמודה
DisplayNameחייבת להיות ריקה. כך המנתח יודע שהתור שייך למקרה הבדיקה הקודם. - פעולה: ממלאים את העמודות שמתארות את הפעולה של המשתמש ואת התגובה הצפויה של הנציג בסבב הזה, למשל
UserInput.Input.Textו-OrderedExpectations.ExpectedAgentReply. בעמודות שדורשות JSON, צריך לספק אובייקט JSON תקין כמחרוזת (לדוגמה,{"param_name": "param_value", "number_param": 123}).
- כלל: העמודה