במדריך הזה מוסבר איך להשתמש במסגרת ההערכה בסוכן ה-AI להזמנה ממסעדה כדי לבדוק, לאמת ולהשוות בין סוכני ה-AI להזמנה ממסעדה.
הערכה אוטומטית מאפשרת לכם לוודא שהנציג לביצוע הזמנות מקבל הזמנות בצורה מדויקת, מטפל בבחירות מורכבות של משתנים, מיישם את כללי התפריט בצורה נכונה ומאמת את התנהגות הנציג.
סקירה כללית של מסגרת ההערכה
מסגרת ההערכה מספקת סימולציה ואימות אוטומטיים לשיחות בנושא הזמנה ממסעדה. במקום לבדוק ידנית כל פריט בתפריט וכל מקרה קצה בשיחה, אתם יכולים להגדיר חבילות מקרים לבדיקה שמפעילות סשנים מדומים של לקוחות מול הנציג, ומאמתות את מצב עגלת הקניות ואת השיחה שנוצרו.
במהלך הרצת הערכה, המסגרת מדמה את הצד של הלקוח בשיחה באמצעות אחד משני סוגים של מקרי בדיקה:
- תורות שיחה מוגדרות מראש: מספקות רצף מתוסרט של קלט טקסט של לקוחות לבדיקת רגרסיה דטרמיניסטית. אפשר להשתמש במצב הזה כדי לוודא שביטויים מדויקים של לקוחות מניבים את התשובות הצפויות מהנציג, או כדי לשחזר שיחות אמיתיות של לקוחות והעברות לטיפול ברמה גבוהה יותר בסביבת הייצור.
- סימולציה דינמית של סשן שמבוססת על הוראות: מספקים הוראה ברמה גבוהה בשפה טבעית לביצוע הזמנה (למשל, הזמנת פריטים ספציפיים, בקשת תחליפים או שאלה לגבי אלרגנים). מודל שפה גדול (LLM) משמש כסימולטור לקוח ומנהל את השיחה באופן דינמי. כך אפשר לבדוק איך הסוכן מתמודד עם דיאלוג ריאליסטי, שאלות הבהרה, שינויים בהזמנה באמצע התהליך וניסוחים שונים של לקוחות.
מודל של משאבי הערכה
מסגרת ההערכה מבוססת על ארבעה משאבים עיקריים:
-
EvaluationDataset: אוסף בעל שם של מקרים להערכה שמייצגים חבילת מקרים לבדיקה, כמו חבילת רגרסיה של תפריט ליבה או בדיקות של ארוחות בוקר משולבות. -
EvaluationCase: תרחיש בדיקה ספציפי שמעריך אינטראקציה של הזמנה (באמצעות תורות מוגדרים מראש או הוראות דינמיות) בהתאם להקשר הערכה וקבוצה של התאמות. EvaluationContext: סביבת ההרצה של מקרה בדיקה או קבוצת נתונים, כולל המיקום של החנות, התפריט הפעיל, החלק ביום ושעת ההתחלה של הסשן המדומה.-
EvaluationMatcher: כלל אסרטיבי שמוערך בסוף סשן ההזמנה, ובודק מצבים ספציפיים של עגלת הקניות, טקסט של אמירה או קריטריונים סמנטיים.
דפוסי התאמה לבדיקה
EvaluationMatcher מגדיר תנאי שהסוכן צריך לעמוד בו כדי שמקרה הבדיקה יעבור. כל מקרה הערכה יכול להפנות לכמה התאמות, וכל התאמה מפיקה תוצאה בוליאנית של מעבר או כשל:
- כלי להשוואת תוצאות הזמנות: משווה בין עגלת הקניות הסופית של הלקוח לבין
Orderצפוי. הכלי להשוואה מוודא שכל הפריטים, קבוצות המשנים, המשנים המקוננים וכמויות הפריטים תואמים אחרי הנורמליזציה. - התאמה למחרוזת של אמירה של נציג: בדיקה אם התשובות של הנציג מכילות מחרוזת משנה ספציפית או תואמות לביטוי רגולרי. אפשר להפוך את תנאי ההתאמה כדי לוודא שהנציג לא אומר ביטויים אסורים.
- התאמה של שיפוט LLM: משתמשת בשופט LLM כדי להעריך קריטריונים של שפה טבעית שלא ניתן לאמת באמצעות התאמה מדויקת של מחרוזות. לדוגמה, אפשר להזין את הטענה: "הנציג וידא אם הלקוח רוצה גבינה לפני שסיים את ההזמנה" או "הנציג הודיע ללקוח בנימוס שאי אפשר להזמין מילקשייק בארוחת הבוקר".
הקשרים של ההערכה
EvaluationContext מגדיר את סביבת המסעדה שבה פועל סשן ההערכה:
- חנות: שם המשאב של חנות היעד (
projects/{project}/locations/{location}/brands/{brand}/stores/{store}). החנות קובעת את התפריט הפעיל, התמחור, אזור הזמן וההגדרות לשינוי ברירת המחדל של הסוכן. - תפריט: שם משאב אופציונלי של תפריט לבדיקת תפריט מועמד לפני שמשייכים אותו לחנות בסביבת הייצור.
- מזהה חלק ביום: מזהה אופציונלי של חלק ביום (כמו
breakfastאוdinner) כדי לאמת את הזמינות של פריט בתפריט ואת כללי התמחור שלו במהלך ארוחות ספציפיות. - שעת ההתחלה של סשן הבדיקה: חותמת זמן אופציונלית בפורמט ISO כדי לדמות הזמנות שבוצעו בשעה מסוימת ביום או ביום מסוים בשבוע.
הערכה במסוף של סוכן ה-AI להזמנה ממסעדות
מסוף סוכן ה-AI להזמנה ממסעדה מספק ממשק אינטראקטיבי לניהול קבוצות נתונים להערכה, להרצת בדיקות ולניתוח נתונים.
1. יצירת הקשר להערכה
- במסוף של סוכן ה-AI להזמנה ממסעדה, בוחרים את הפרויקט והמותג.
- בתפריט הניווט, לוחצים על הערכה.
- לוחצים על הכרטיסייה Contexts (הקשרים).
- לוחצים על הקשר חדש.
- מזינים שם לתצוגה ובוחרים את החנות שאליה רוצים להעביר את האפליקציה.
- אופציונלי: בוחרים תפריט ספציפי או חלק ספציפי ביום לשינוי.
- לוחצים על יצירה.
2. יצירת כלים להשוואה בין הערכות
- בדף Evaluation, לוחצים על הכרטיסייה Matchers.
- לוחצים על New matcher (כלי התאמה חדש).
- מזינים שם לתצוגה ובוחרים את סוג ההתאמה:
- תוצאת ההזמנה: בוחרים פריטים, שינויים וכמויות כדי ליצור את ההזמנה הצפויה.
- אמירה של הנציג: מזינים את תבנית הביטוי הרגולרי או מחרוזת המשנה הנדרשת.
- שיפוט של LLM: מזינים את הקריטריונים בשפה טבעית לשיפוט של ה-LLM.
- לוחצים על יצירה.
3. יצירת מערכי נתונים וייבוא של מקרי בדיקה
במסוף, מקרי הבדיקה יכולים להתקיים בפני עצמם או להיות מאורגנים בקבוצות נתונים. אפשר ליצור מערכי נתונים ישירות במסוף, אבל צריך לייבא תרחישי בדיקה מקובצי YAML או להמיר אותם מסשנים של ייצור.
יצירת מערך נתונים
- במסוף סוכן AI להזמנה ממסעדה, עוברים אל Evaluation > Datasets & cases.
- בחלונית Datasets, לוחצים על New dataset.
- מזינים שם מוצג (למשל
Combo Meals Regression) ותיאור (אופציונלי). - לוחצים על יצירה.
אפשר גם ללחוץ על Import בחלונית Datasets כדי לייבא מערכי נתונים מקובץ YAML.
קובץ ה-YAML הבא לדוגמה מגדיר קבוצת נתונים לבדיקה עם מקרים מוטבעים לבדיקה:
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationDatasets/DATASET_ID
displayName: Core Combo Regression
description: Core combo ordering and modifier selection regression suite
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationCases:
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
displayName: double_cheeseburger_combo
description: Tests combo meal ordering with side and drink modifier selections
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "I'd like a double cheeseburger combo."
exampleAgentResponse: "What drink and side would you like with your combo?"
- userTextInput: "Onion rings and a large diet cola, please."
exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
- userTextInput: "No, that's everything."
exampleAgentResponse: ''
ייבוא של תרחישי הערכה
- בחלונית Cases, לוחצים על Import.
- בוחרים קובץ YAML שמגדיר את מקרי ההערכה.
- מאשרים את ההעלאה. הבקשות המיובאות מופיעות ברשימה בקשות תמיכה.
אפשר גם ללחוץ על ייצוא בחלונית מערכי נתונים או מקרים כדי להוריד הגדרות קיימות כקבצי YAML.
קובץ ה-YAML הבא לדוגמה מגדיר מקרי הערכה עם הקשרים, התאמות ומהלכי שיחה מוגדרים מראש:
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
displayName: Double Cheeseburger Combo
description: Tests combo meal ordering with side and drink modifier selections
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/UTTERANCE_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "I'd like a double cheeseburger combo."
exampleAgentResponse: "What drink and side would you like with your combo?"
- userTextInput: "Onion rings and a large diet cola, please."
exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
- userTextInput: "No, that's everything."
- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_2
displayName: Breakfast Allergen Inquiry
description: Tests agent handling of customer allergy questions during breakfast
evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
evaluationMatchers:
- projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/LLM_JUDGEMENT_MATCHER_ID
staticTextTurnCase:
textTurns:
- userTextInput: "Are your pancakes prepared with peanut oil?"
- userTextInput: "Okay, I'll take the oatmeal instead."
ארגון תיקים במערכי נתונים
יכולים להיות מקרים של הערכה שלא שייכים למערך נתונים. כדי לארגן בקשות תמיכה בקבוצת נתונים:
- בחלונית Cases, מסמנים את תיבות הסימון של מקרה בדיקה אחד או יותר.
- גוררים את המקרים שנבחרו אל מערך הנתונים של היעד בחלונית מערכי נתונים.
- לוחצים על מערך הנתונים בחלונית מערכי נתונים כדי להרחיב אותו ולבדוק את הבקשות שהוקצו לו.
4. המרת סשנים של לקוחות מהיסטוריית ההזמנות
כדי לשחזר בעיות שלקוחות דיווחו עליהן או ליצור חבילות מקרים לבדיקה ישירות מתנועה אמיתית בסביבת הייצור:
- בתפריט הניווט, לוחצים על Order history (היסטוריית הזמנות).
- לוחצים על השורה של סשן ההזמנה שרוצים לבדוק.
- בחלונית Order details, לוחצים על Convert to evaluation case.
- בוחרים או יוצרים הקשר להערכה וכלים להתאמה.
- לוחצים על המרה. האמירות של הלקוח במסלול המפורט מומרות באופן אוטומטי למקרה הערכה.
5. הרצת הערכות ובדיקת התוצאות
אפשר להריץ מערך נתונים שלם או להריץ מקרים בודדים שנבחרו:
- הפעלת מערך נתונים: בחלונית מערכי נתונים, לוחצים על הפעלת מערך נתונים לצד מערך הנתונים הרצוי.
- הרצת מקרים ספציפיים: בחלונית מקרים, בוחרים מקרה אחד או יותר באמצעות תיבות הסימון, ואז לוחצים על הרצה בסרגל הפעולות של הבחירה.
כדי לעקוב אחרי ההרצות ולבדוק את התוצאות המפורטות:
- לוחצים על הכרטיסייה היסטוריה כדי לעקוב אחרי התקדמות ההרצה, שיעור ההצלחה הכולל ומשך הביצוע.
- כדי לראות את תוצאות המקרה המפורטות, לוחצים על הרצה כלשהי בטבלת ההיסטוריה:
- סיכום: בודקים את אחוז המקרים שעברו או נכשלו ואת מספר המקרים הכולל שעברו.
- תמלילי שיחות: בודקים את השיחה המפורטת בין הלקוח המדומה לנציג.
- פרטי ההתאמה: בודקים אילו התאמות עברו או נכשלו, כולל הסברים של שופט ה-LLM לגבי קריטריונים איכותיים שנכשלו.
המאמרים הבאים
- איך מגדירים מיקומי חנויות ומעיינים בתפריטים
- אפשר לבדוק אינטראקציות של הזמנות באופן אינטראקטיבי באמצעות תצוגה מקדימה של סוכן.