אפשר לשלב כמה סוכני Dialogflow, שנקראים סוכני משנה, לסוכן אחד שנקרא סוכן על. כשמבצעים בקשה לזיהוי כוונות מול מגה סוכן, כל סוכני המשנה נלקחים בחשבון, והתשובה הטובה ביותר מסוכני המשנה מוחזרת.
יש מגוון סיבות שבגללן כדאי לכם להשתמש בסוכנים גדולים:
- ניהול טוב יותר: אם יש לכם כמה צוותים שבונים סוכן, כל צוות יכול להיות אחראי על סוכן משנה אחד, וכך אפשר לפשט את ניהול הקונפליקטים בין הצוותים.
- יותר כוונות: אם יש לכם סוכנים עם מספר גדול של כוונות, יכול להיות שתתקרבו למגבלת מספר הכוונות. במקרה כזה, אפשר ליצור כמה סוכני משנה וסוכן-על אחד.
מגבלות
המגבלות הבאות חלות על סוכנים ראשיים:
- מגה סוכן והסוכנים המשניים שלו צריכים להיווצר באותו אזור.
- באותו אזור, מגה סוכן וסוכני המשנה שלו משויכים לפרויקטים שונים ב- Google Cloud .
- למגה סוכן יכולים להיות עד 10 סוכני משנה.
- שיחה קלילה לא עובדת עם סוכנים ראשיים.
- לסדר העדיפויות של הכוונות של הסוכנים המשניים אין השפעה על התאמת הכוונות כששולחים בקשות לסוכן ראשי.
- אי אפשר להשתמש בשילוב עם Google Assistant עם מגה סוכן.
- אין תמיכה בשילובים מובנים של טלפוניה שנוצרו על ידי שותפים (AudioCodes, Avaya, SignalWire, Voximplant).
- מגה סוכן לא תומך בכוונות ברירת מחדל שמשמשות ככוונות המשך.
יצירת סוכני משנה
יוצרים סוכני משנה בדיוק כמו שיוצרים כל סוכן אחר. מוסיפים כוונות, הקשרים, ישויות וכו' לפי הצורך כדי לבנות את הסוכנים.
יצירה או עדכון של מגה סוכן
אתם יכולים להשתמש ב-Dialogflow Console כדי ליצור מגה סוכן ולקשר אותו לסוכני משנה.
Dialogflow מביא בחשבון את רוב ההגדרות של הסוכן מהמגה סוכן ומתעד נתונים במגה סוכן. לדוגמה:
- Dialogflow לוקח את ההגדרות של רישום ביומן, סנטימנט, המרת דיבור לטקסט והמרת טקסט לדיבור ברמת הסוכן מהמגה סוכן.
- Dialogflow מאחסן ניתוח נתונים, היסטוריית שיחות ונתונים לכלי ההדרכה במגה סוכן.
ממשק משתמש באינטרנט
1. יצירת מגה סוכן
- עוברים אל מסוף Dialogflow ES.
- בתפריט הצדדי הימני, לוחצים על יצירת סוכן. (אם כבר יש לכם סוכנים אחרים, לוחצים על שם הסוכן, גוללים לתחתית ולוחצים על יצירת סוכן חדש).
- מזינים את השם של הנציג, את שפת ברירת המחדל, את אזור הזמן שמוגדר כברירת מחדל ואתGoogle Cloud הפרויקט.
- מגדירים את סוג הסוכן כסוכן מגה.
- לוחצים על הלחצן יצירה.
2. הוספה וניהול של סוכני משנה
- בתפריט הצד הימני, לוחצים על סוכני משנה.
- בוחרים סוכן משנה שרוצים להוסיף למגה סוכן.
- הסביבה של הסוכן המשני Environment מוגדרת כברירת מחדל לDraft, אבל אפשר לעדכן אותה לפי הצורך.
- אם רוצים להשתמש בבסיס הידע שמשויך לסוכן המשנה, צריך לשנות את השדה ממוחרג לכלול.
- לוחצים על Save.
הגדרת תפקידים
בהתאם לאופן שבו אתם מתכננים להשתמש במגה סוכן, אתם צריכים להעניק תפקידים ספציפיים בפרויקטים של סוכני המשנה, כדי שלמגה סוכן תהיה הרשאה לבצע קריאות לסוכני המשנה. כדי להגדיר את התפקידים האלה:
- יוצרים את הפרויקטים של מגה סוכן וסוכני משנה כרגיל, ומוודאים שהפעלתם את Dialogflow API בכל אחד מהם. Google Cloud
- אם אתם מתכננים להשתמש ב-API כדי ליצור אינטראקציה עם מגה סוכן, עליכם להקצות תפקיד בכל אחד מהפרויקטים של סוכני המשנה לחשבון השירות שבו אתם משתמשים לקריאות ל-API של מגה סוכן. התפקיד צריך לכלול הרשאה לביצוע קריאות לזיהוי כוונות.
התפקידים הבאים יספקו את הגישה הזו: Project Owner, עריכת פרויקט, אדמין של Dialogflow API או לקוח של Dialogflow API.
כדי לקבל את כתובת האימייל של חשבון השירות הזה:
- עוברים אל הדף בנושא חשבונות שירות ב-IAM.
- בוחרים את הפרויקט של המגה סוכן.
- בוחרים חשבון שירות שכבר יצרתם לקריאות API או מוסיפים חשבון שירות חדש עם התפקיד הרצוי. פועלים לפי הוראות ההגדרה כדי ליצור חשבון שירות חדש ולהוריד מפתח פרטי.
- רושמים את כתובת האימייל בחשבון השירות שנבחר. תצטרכו את זה בהמשך.
אם אתם מתכננים להשתמש בשילובים כלשהם למגה סוכן, לחשבון השירות של פרויקט מגה סוכן שנוצר אוטומטית service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com צריכה להיות הרשאה בפרויקט הזה שכוללת הרשאה לבצע שיחות לזיהוי כוונות. התפקידים הבאים יספקו את הגישה הזו: Project Owner, עריכת פרויקט, אדמין של Dialogflow API או לקוח של Dialogflow API. כדי לקבל את כתובת האימייל של חשבון השירות הזה:
- עוברים אל הדף הראשי של IAM.
- בוחרים את הפרויקט של המגה סוכן.
- בצד שמאל, מפעילים את האפשרות Include Google-provided role grants (הכללת תפקידים שניתנו על ידי Google).
- מאתרים את חשבון השירות שתואם לתבנית:
service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com. - רושמים את כתובת האימייל בחשבון השירות שנבחר. תצטרכו את זה בהמשך.
לכל פרויקט של סוכן משנה, מקצים תפקידים לחשבונות השירות של מגה סוכן שאספתם למעלה:
- עוברים אל הדף הראשי של IAM.
- בוחרים את הפרויקט של סוכן המשנה.
- מקצים את התפקידים הרצויים לכתובות האימייל בחשבון השירות של מגה סוכן בפרויקט.
זיהוי כוונות
כדי לזהות כוונות, צריך לבצע את הבקשה כמו כל בקשה לזיהוי כוונות ולהשתמש במזהה הפרויקט של הסוכן הראשי. Dialogflow יבדוק את כל הנציגים המשניים, ויחזיר את התשובה הכי טובה מביניהם.
לדוגמה, נניח שיש לכם את הסוכנים המשניים הבאים:
| סוכן משנה | כוונת המשתמש | ביטויים לאימון |
|---|---|---|
| הזמנות | ספרים | "I want to buy a book" (אני רוצה לקנות ספר) "Add a book to my cart" (הוספת ספר לעגלת הקניות) |
| כובעים | "I want to purchase a hat" (אני רוצה לקנות כובע) "I want a hat" (אני רוצה כובע) |
|
| חשבון | יתרה | "What is my balance?" (מה היתרה שלי?) "How much is left in my account?" (כמה כסף נשאר לי בחשבון?) |
| כתובת | "I want to change my address" (אני רוצה לשנות את הכתובת שלי) "I have a new address" (יש לי כתובת חדשה) |
אם משתמש קצה אומר "אני רוצה לקנות כובע בבקשה",
בקשה לזיהוי כוונה שנשלחת למגה סוכן
תביא להתאמה לכוונה Hats בסוכן Orders.
כדי לציין סוכנים משניים אחד או יותר לבקשת זיהוי כוונות, צריך להגדיר את השדה subAgents של QueryParameters.
לדוגמה, קובץ ה-JSON של בקשת REST ייראה כך:
{
"queryInput": {
"text": {
"text": "reserve a meeting room for six people",
"languageCode": "en-US"
}
},
"queryParams": {
"subAgents": [
{"project": "projects/sub-agent-1-project-id"},
{"project": "projects/sub-agent-2-project-id"}
]
}
}
הפעלת אירועים
כדי להפעיל אירוע משירות webhook, אפשר לציין את הסוכן המשני של הכוונה שרוצים להפעיל. צריך להשתמש בפורמט הבא של שם האירוע:
sub-agent-project-id.event-name
לדוגמה, אם מזהה הפרויקט של הסוכן המשני הוא 123, ושם האירוע הוא alarm עבור הכוונה הרצויה, צריך להשתמש ב-123.alarm כשם האירוע.
אם לא מציינים סוכן משנה לאירוע, האירוע יישלח בחזרה לסוכן המשנה שמכיל את הכוונה שתאמה קודם.
הגדרת הקשר הפלט
כדי להגדיר הקשרים של פלט משירות webhook, אפשר לציין את הסוכן המשני שאליו שייך ההקשר. צריך להשתמש בפורמט הבא:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name
לדוגמה, אם הסשן הוא projects/mega_agent_project_id/agent/sessions/session_id, ואתם רוצים להגדיר הקשר בשם music_context לסוכן משנה עם מזהה פרויקט sub_project_1, אתם יכולים להגדיר את הקשר של הפלט עם השם הבא:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_project_1.music_context
אם לא מציינים תחילית של סוכן משנה לשם ההקשר, המערכת תתייחס אליו כהקשר של המגה סוכן.
משך החיים של ההקשר
כשמצב ההקשר הופך לפעיל, משך החיים של ההקשר קובע בדרך כלל כמה תורות בשיחה יתרחשו לפני שההקשר יהפוך ללא פעיל. בעצם, משך החיים של הקשר פעיל בזמן הריצה יורד בכל תור בשיחה אחרי שהוא הופך לפעיל.
ההתנהגות הזו עשויה להיות שונה אצל סוכנים גדולים. במהלך שיחה, יכול להיות שיהיה התאמה בין כוונות מסוכנים משנה שונים לכל תור בשיחה. כשמזוהה כוונה מסוכן משנה, ולכוונה יש הקשר פלט, משך החיים של ההקשר הזה יורד רק כשמזוהות כוונות נוספות באותו סוכן משנה.
לדוגמה, התאמה של כוונת משתמש מתרחשת בסוכן משנה A, ולכוונת יש הקשר פלט שמפעיל הקשר. התאמות של כוונות בסוכן המשנה B לא מקטינות את משך החיים של זמן הריצה בהקשר הפעיל שמקורו בסוכן המשנה A.
גרסאות וסביבות
גרסאות וסביבות ברמת מגה סוכן מאפשרות ליצור תמונות מצב שונות של כוונת ברירת המחדל של מגה סוכן ולקבוע הגדרות שונות של webhook ושל המרת טקסט לדיבור עבור סביבות שונות של מגה סוכן.
ההגדרות בדף המסוף Sub Agents של הסוכן הראשי לא נכללות בגרסאות ובסביבות של הסוכן הראשי. בקשות של מגה סוכן תמיד מפעילות את סביבות סוכן המשנה שצוינו בדף באותו רגע.