מגה סוכנים

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

יש מגוון סיבות שבגללן כדאי להשתמש במגה סוכנים:

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

מגבלות

המגבלות הבאות חלות על מגה סוכנים:

  • צריך ליצור את המגה-סוכן ואת סוכני המשנה שלו באותו אזור.
  • באזור אחד, מגה סוכן וסוכני המשנה שלו משויכים לפרויקטים שונים ב- Google Cloud .
  • למגה סוכן יכולים להיות עד 10 סוכני משנה.
  • שיחות חולין לא פועלות במגה סוכנים.
  • כששולחים בקשות למגה-סוכן, לעדיפות של כוונת המשתמש של סוכן המשנה אין השפעה על ההתאמה של כוונת המשתמש.
  • אי אפשר להשתמש בשילוב של Google Assistant עם מגה סוכן.
  • אין תמיכה בשילובי טלפוניה מובנים של שותפים (AudioCodes,‏ Avaya,‏ SignalWire,‏ Voximplant).
  • מגה סוכן לא תומך בכוונות חלופיות שמשמשות ככוונות לצורכי מעקב.

יצירת סוכני משנה

אתם יוצרים סוכני משנה כמו כל סוכן אחר. מוסיפים את כל הכוונות, ההקשרים, הישויות וכו' שנדרשים כדי ליצור את הנציגים.

יצירה או עדכון של מגה סוכן

אפשר להשתמש במסוף Dialogflow כדי ליצור מגה-סוכן ולקשר אותו לסוכני משנה.

‫Dialogflow מביא בחשבון את רוב הגדרות הסוכן של מגה סוכן ומתעד נתונים במגה סוכן. לדוגמה:

ממשק משתמש באינטרנט

1. יצירת מגה סוכן

  1. נכנסים למסוף Dialogflow ES.
  2. בתפריט סרגל הצד הימני, לוחצים על Create Agent. (אם כבר יש לכם נציגים אחרים, לוחצים על שם הנציג, גוללים לתחתית הדף ולוחצים על Create new agent).
  3. מזינים את שם הנציג, שפת ברירת המחדל, אזור הזמן שמוגדר כברירת מחדל ופרויקט ב-Google Cloud .
  4. מגדירים את Agent Type בתור מגה סוכן.
  5. לוחצים על הכפתור יצירה.

2. הוספה וניהול של סוכני משנה

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

הגדרת תפקידים

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

  1. יוצרים את הפרויקטים של המגה-סוכן ושל סוכן המשנה Google Cloud כרגיל, ומוודאים שהפעלתם את Dialogflow API בכל אחד מהם.
  2. אם אתם מתכננים להשתמש ב-API כדי ליצור אינטראקציה עם המגה-סוכן, אתם צריכים להקצות תפקיד בכל אחד מהפרויקטים של סוכני המשנה לחשבון השירות שבו אתם משתמשים לקריאות ל-API של המגה-סוכן. לתפקיד צריכה להיות הרשאה לבצע קריאות לזיהוי כוונה. התפקידים הבאים יספקו את הגישה הזו: Project Owner, עריכת פרויקט, אדמין של Dialogflow API או לקוח API של Dialogflow. כדי לקבל את כתובת האימייל של חשבון השירות:
    1. נכנסים לדף של חשבון השירות ב-IAM.
    2. בוחרים את הפרויקט של המגה סוכן.
    3. בוחרים חשבון שירות שכבר יצרתם לקריאות ל-API או מוסיפים חשבון שירות חדש עם התפקיד הרצוי. פועלים לפי הוראות ההגדרה כדי ליצור חשבון שירות חדש ולהוריד מפתח פרטי.
    4. שימו לב לכתובת האימייל של חשבון השירות שבחרתם. תצטרכו את המידע הזה בהמשך.
  3. אם אתם מתכננים להשתמש בשילובים כלשהם למגה סוכן, חשבון השירות service-project-number@gcp-sa-dialogflow. שנוצר באופן אוטומטי לפרויקט של המגה סוכן צריך לכלול תפקיד בפרויקט הזה, שכולל הרשאה לבצע קריאות לזיהוי כוונה. התפקידים הבאים יספקו את הגישה הזו: Project Owner, עריכת פרויקט, אדמין של Dialogflow API או לקוח API של Dialogflow. כדי לקבל את כתובת האימייל של חשבון השירות:

    1. נכנסים לדף הראשי של IAM.
    2. בוחרים את הפרויקט של המגה סוכן.
    3. מפעילים את האפשרות Include Google-provided role grants בצד שמאל.
    4. מוצאים את חשבון השירות שתואם לתבנית:
      service-project-number@gcp-sa-dialogflow..
    5. שימו לב לכתובת האימייל של חשבון השירות שבחרתם. תצטרכו את המידע הזה בהמשך.
  4. בכל פרויקט של סוכן משנה, מקצים תפקידים לחשבונות השירות של המגה-סוכן שאספתם קודם:

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

זיהוי כוונה

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

לדוגמה, נניח שיש לכם את סוכני המשנה הבאים:

סוכן משנה כוונת רכישה ביטויי אימון
הזמנות ספרים "אני רוצה לקנות ספר"
"תוסיף ספר לעגלת הקניות שלי"
כובעים "אני רוצה לקנות כובע"
"אני רוצה כובע"
חשבון יתרה "What is my balance?‎"
"How much is left in my account?‎"
כתובת "אני רוצה לשנות את הכתובת שלי"
"יש לי כתובת חדשה"

אם משתמש קצה אומר "אני רוצה לקנות כובע בבקשה", בקשה לזיהוי כוונה שנשלחת למגה סוכן תגרום להתאמה לכוונה 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, אתם יכולים לציין את הסוכן המשני של ה-intent שאתם רוצים להפעיל. צריך להשתמש בפורמט הבא של שם האירוע:

sub-agent-project-id.event-name

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

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

הגדרת הקשר הפלט

כדי להגדיר הקשרים של פלט משירות 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

אם לא תציינו תחילית של סוכן משנה לשם ההקשר, המערכת תתייחס אליו כהקשר של המגה סוכן.

משך החיים של ההקשר

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

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

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

גרסאות וסביבות

גרסאות וסביבות ברמת המגה סוכן מאפשרות ליצור תמונות מצב שונות של כוונת ברירת המחדל של המגה סוכן, ולהגדיר לפיהן הגדרות שונות של Webhook והמרת טקסט לדיבור (TTS) לסביבות שונות של המגה סוכן.

ההגדרות בדף Sub Agents במסוף של המגה-סוכן לא נכללות בגרסאות ובסביבות של המגה-סוכן. בקשות של מגה סוכן תמיד מפעילות את הסביבות של סוכני המשנה שצוינו באותו דף באותו רגע.