פרמטרים

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

הגדרה, הפניה, קביעה וקבלה של פרמטרים

יש ארבע דרכים כלליות להשתמש בפרמטרים:

  • הגדרה בזמן התכנון: בזמן התכנון, אתם משתמשים במסוף או ב-API כדי להגדיר פרמטרים. לדוגמה, אפשר להגדיר פרמטר של Intent ולהשתמש בו בביטוי לאימון כדי לציין את הקלט של משתמש הקצה שצריך לחלץ.
  • הפניה בזמן התכנון: הפניות לפרמטרים הן משתנים שמכילים ערכי פרמטרים שצריך לחלץ בזמן הריצה. בזמן התכנון, אתם יכולים להשתמש במסוף או ב-API כדי להפנות לפרמטרים בסוגי נתונים שונים. לדוגמה, אפשר להפנות לפרמטר של סשן בתגובה סטטית למילוי בקשה של מסלול.
  • הגדרה בזמן הריצה: בזמן הריצה, שירות Dialogflow CX, השירות שלכם שקורא ל-API ושירות ה-webhook יכולים להגדיר ערכי פרמטרים. לדוגמה, שירות Dialogflow CX מגדיר את הערך של פרמטר כוונה כשקלט של משתמש קצה תואם לכוונה, והקלט מכיל נתוני פרמטרים.
  • קבלת ערכים בזמן הריצה: בזמן הריצה, ההפניות לפרמטרים מכילות את ערכי הפרמטרים שהוגדרו, ואפשר להשתמש ב-API או ב-webhook כדי לקבל את ערכי הפרמטרים. לדוגמה, כשנמצאת התאמה ל-intent ומתבצעת קריאה ל-webhook, שירות ה-webhook מקבל את ערכי הפרמטרים של ה-intent.

מתן שמות לפרמטרים

אלה הכללים למתן שמות לפרמטרים:

  • אפשר להשתמש בתווים הבאים: [A-Z], [a-z], [0-9], ., -, _
  • שמות הפרמטרים לא תלויי-רישיות, ולכן Dialogflow CX מתייחס ל-Apple ול-apple כאותו פרמטר. גם קוד הלקוח של ה-API ושל ה-Webhook צריך להתייחס לשמות הפרמטרים כלא תלויי-רישיות, כי אין ערובה לכך ששמות הפרמטרים שמוחזרים על ידי Dialogflow CX יהיו תלויי-רישיות.
  • כשיוצרים פרמטרים עם אותו מזהה או שם לתצוגה בכוונות או בטפסים שונים, חשוב לוודא שסוג הישות והגדרות אחרות זהים בכל ההגדרות. אם סוג הישות או הגדרות אחרות של הפרמטר שונות, צריך להשתמש במזהה פרמטר או בשם מוצג ייחודי לכל הגדרה.

סוגי ערכי פרמטרים

ערכי הפרמטרים תומכים בכמה סוגי ערכים. בקטע הבא מוסבר איך להפנות לכל סוג של ערך פרמטר. אלה סוגי המזהים הנתמכים:

סוג תיאור
סקלר ערך מספרי או מחרוזת בודדים.
מרוכב אובייקט JSON שמאוכלס על ידי התאמה של ישות מורכבת, או על ידי מילוי של פרמטר Intent, שמכיל את השדות original ו-resolved.
רשימה רשימה של ערכים סקלריים או מורכבים שמאוכלסים בפרמטר שמוגדר כרשימה. אלה האפשרויות של Is List:

ערכי null ומחרוזות ריקות של פרמטרים

אפשר להגדיר ערכי פרמטרים של מחרוזת ל-"", כך שהפרמטר מוגדר למחרוזת הריקה.

אפשר להגדיר כל ערך פרמטר ל-null, כדי לציין שהפרמטר לא הוגדר.

הערכים המקוריים של הפרמטרים

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

כל סוגי הערכים של הפניות לפרמטרים של Intent יכולים להפנות לערך המקורי או לערך המנותח.

רק סוגי ערכים מורכבים של הפניות לפרמטרים של סשן יכולים להפנות לערך המקורי.

פרמטרים של Intent

כוונות משתמשות בפרמטרים כדי לחלץ נתונים שמשתמשי הקצה מספקים כשיש התאמה לכוונות. הנתונים הבאים משמשים להגדרת פרמטר Intent:

  • שם (נקרא גם מזהה או שם מוצג): שם שמזהה את הפרמטר.
  • סוג הישות: סוג הישות שמשויך לפרמטר.
  • Is List: אם הערך הוא True, הפרמטר נחשב לרשימה של ערכים.
  • צנזור ביומן: אם הערך הוא True, נתוני הפרמטרים שמשתמש הקצה סיפק מצונזרים.

הגדרת פרמטרים של Intent

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

פרמטרים של כוונת הרכישה בקובץ העזר

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

אפשר להפנות לערך המקורי או לערך שנקבע.

כדי להפנות לפרמטר של הכוונה הנוכחית שתואמת, משתמשים באחד מהפורמטים הבאים:

$intent.params.parameter-id.original
$intent.params.parameter-id.resolved

לדוגמה, אם מזהה הפרמטר הוא date, אפשר להפנות לערך שנקבע בתור $intent.params.date.resolved.

הגדרת פרמטרים של Intent

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

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

קבלת פרמטרים של Intent

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

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של ה-Intent. אפשר לעיין בשדה התגובה queryResult.parameters של השיטה detectIntent לגבי הסוג Session.

בוחרים פרוטוקול וגרסה להפניה לסשן:

פרוטוקול V3 V3beta1
REST משאב הסשן משאב הסשן
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ה-Webhook מקבל ערכי פרמטרים של כוונה. אפשר לראות את השדה intentInfo.parameters בבקשת ה-webhook.

פרמטרים של טפסים

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

לדוגמה, אתם יכולים ליצור טופס שאוסף את השם ומספר הטלפון של משתמש הקצה בדף Collect Customer Info.

הנתונים הבאים משמשים להגדרת פרמטר של טופס:

שם האפשרות בקונסולה שרשרת שדות API תיאור
השם המוצג Page.form.parameters[].displayName שם שמזהה את הפרמטר.
סוג ישות Page.form.parameters[].entityType סוג הישות שמשויך לפרמטר.
חובה Page.form.parameters[].required מציין אם הפרמטר נדרש. צריך למלא את הפרמטרים הנדרשים לפני שמסיימים למלא את הטופס, והנציג יבקש ממשתמש הקצה להזין ערכים. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טפסים שבהמשך.
ערך ברירת המחדל (גלוי רק כשהאפשרות חובה לא מסומנת) Page.form.parameters[].defaultValue ערך ברירת המחדל של פרמטר אופציונלי. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טפסים שבהמשך.
הוא רשימה Page.form.parameters[].isList אם הערך הוא True, הפרמטר נחשב לרשימת ערכים.
צנזור ביומן Page.form.parameters[].redact אם הערך הוא True, נתוני הפרמטרים שמשתמשי הקצה סיפקו מצונזרים.
מילוי ההנחיה הראשונית Page.form.parameters[].fillBehavior.initialPromptFulfillment הנחיות ראשוניות בצורת מילוי בקשה כדי לבקש ממשתמש הקצה ערך פרמטר נדרש. פרטים נוספים זמינים בקטע הגדרת פרמטרים של טפסים שבהמשך.
גורמים מטפלים באירועים של בקשה חוזרת Page.form.parameters[].fillBehavior.repromptEventHandlers הן משמשות כשהסוכן צריך לבצע שאלה חוזרת למשתמש הקצה כדי למלא את הפרמטר אחרי ניסיון שנכשל. מטפלים בבקשות חוזרות למילוי טפסים אם לא הוגדרו גורמים מטפלים באירועים של בקשות חוזרות, הנציג ישלח בקשה חוזרת עם ההנחיות הראשוניות אחרי ניסיון שנכשל.
DTMF לא זמין עיינו בקטע DTMF בהמשך.

הגדרה וניהול של פרמטרים של טפסים

הפרמטרים של הטופס מוגדרים בזמן התכנון כשיוצרים דף.

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

כדי למחוק פרמטר של טופס, לוחצים על הכותרת של הקטע Parameters בדף, מציבים את הסמן מעל פרמטר ולוחצים על כפתור המחיקה .

פרמטרים של טופס הפניה

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

כדי לבדוק אם הטופס המלא של הדף הנוכחי מולא, משתמשים בתנאי הבא:

$page.params.status = "FINAL"

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

$page.params.parameter-id.status = "UPDATED"

הגדרת הפרמטרים של הטופס

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

ערכי ברירת המחדל של הפרמטרים

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

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

מילוי טפסים

‫Dialogflow CX מגדיר באופן אוטומטי ערכי פרמטרים שמשתמש הקצה מספק במהלך מילוי הטופס. הנציג אוסף את הפרמטרים הנדרשים לפי הסדר שמוגדר בדף. הנציג מבקש ממשתמש הקצה את הערכים הנדרשים באמצעות מילוי הבקשה הראשונית שאתם מספקים לכל פרמטר נדרש. פרמטרים אופציונליים לא יפעילו הנחיות.

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

העברת פרמטרים של Intent וסשן

כשפרמטר מכל סוג מוגדר בזמן הריצה, הפרמטר נכתב בסשן והופך לפרמטר של סשן.

כשהדף הופך לפעיל, ובמהלך התקופה שבה הוא פעיל, כל פרמטר של טופס עם שם זהה לפרמטר של סשן מוגדר באופן אוטומטי לערך פרמטר של הסשן.

זה יכול לקרות עם פרמטר של כוונה תואמת בנתיב כוונה או בהפצת פרמטרים.

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

הגדרות קבועות מראש של פרמטרים למילוי הזמנות

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

הגדרת פרמטרים של תגובה לפעולה מאתר אחר (webhook)

ה-webhook יכול להגדיר את הערכים של הפרמטרים של הטופס בזמן הריצה. אפשר לראות את השדה pageInfo.formInfo.parameterInfo בתגובת ה-Webhook.

קבלת פרמטרים של טופס

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של הטופס. אפשר לעיין בשדה התגובה queryResult.parameters של השיטה detectIntent לגבי הסוג Session.

בוחרים פרוטוקול וגרסה להפניה לסשן:

פרוטוקול V3 V3beta1
REST משאב הסשן משאב הסשן
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ערכי הפרמטרים של הטופס מתקבלים ב-Webhook. אפשר לראות את השדה pageInfo.formInfo.parameterInfo בבקשת ה-webhook.

רכיבי handler של בקשות חוזרות למילוי טפסים

גורמים מטפלים בשאלות חוזרות, שנקראים גם גורמים מטפלים באירועים ברמת הפרמטר, משמשים להגדרת התנהגות מורכבת של בקשות לפרמטרים נדרשים. לדוגמה, אפשר להשתמש ב-reprompt handlers כדי לשנות את הבקשה אם משתמש הקצה לא מספק ערך אחרי הבקשה הראשונית, ולעבור לדף אחר אחרי N ניסיונות כושלים.

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

אם משתמש הקצה מגיב בקלט לא צפוי, מופעל אירוע sys.no-match-* או sys.no-input-*, ונקראים כל הגורמים המטפלים בבקשות חוזרות שהוגדרו לאירועים האלה.

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

  • מילוי בקשה כדי לספק הודעת בקשה חוזרת למשתמש הקצה ופרמטר מוגדר מראש.
  • יעד מעבר לשינוי הדף הנוכחי.

פרמטרים של סשנים

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

פרמטרים של סשן הפניה

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

  • מילוי של רשומת דף
  • מילוי הזמנות במסלול
  • מילוי בקשות של גורמים מטפלים באירועים
  • מילוי טפסים באמצעות הנחיות
  • מילוי בקשה חוזרת בטופס

אפשר להשתמש בקובצי העזר גם:

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

סקלר

כדי לגשת לפרמטר עם סוג ישות סקלרי:

$session.params.parameter-id

לדוגמה, אם מזהה הפרמטר הוא date, אתם יכולים להפנות לערך בתור $session.params.date.

מרוכב

  • כדי לגשת לאיבר של פרמטר עם סוג ישות מורכב:

    $session.params.parameter-id.member-name

    לדוגמה, אם מזהה הפרמטר הוא location, אתם יכולים להפנות לערך של האיבר zip-code בתור $session.params.location.zip-code.

  • כדי לגשת לערך המקורי של פרמטר עם סוג ישות מורכב:

    $session.params.parameter-id.original
  • כדי לגשת לאובייקט המלא של פרמטר עם סוג ישות מורכב, משתמשים בפונקציית המערכת IDENTITY.

רשימה

  • כדי לגשת לרשימה המלאה של הרכיבים:

    $session.params.parameter-id

    לדוגמה, אם מזהה הפרמטר של הרשימה הוא colors והערכים שחולצו משאילתת המשתמש הם ["red", "blue", "yellow"], אפשר להפנות לכל הערכים בתור $session.params.colors.

  • כדי לגשת לאלמנט ה-i של פרמטר רשימה:

    $session.params.parameter-id[i]

    לדוגמה, אם מזהה הפרמטר של הרשימה הוא colors, אפשר להפנות לערך הראשון בתור $session.params.colors[0].

הגדרת פרמטרים של סשן

כשהמילוי של הטופס מסתיים, הפרמטרים שמולאו נכתבים בסשן על ידי Dialogflow CX.

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

ה-webhook יכול להגדיר את הערכים של הפרמטרים של הסשן בזמן הריצה. אפשר לעיין בשדה sessionInfo.parameters בתגובה הרגילה של ה-webhook או בתגובה הגמישה של ה-webhook.

אינטראקציות עם ה-API יכולות להגדיר ערכי פרמטרים של סשן. אפשר לעיין בשדה הבקשה queryParams.parameters של ה-method‏ detectIntent לסוג Session.

בוחרים פרוטוקול וגרסה להפניה לסשן:

פרוטוקול V3 V3beta1
REST משאב הסשן משאב הסשן
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

קבלת פרמטרים של סשן

אינטראקציות עם ה-API יחזירו את ערכי הפרמטרים של הסשן. אפשר לעיין בשדה התגובה queryResult.parameters של השיטה detectIntent לגבי הסוג Session.

בוחרים פרוטוקול וגרסה להפניה לסשן:

פרוטוקול V3 V3beta1
REST משאב הסשן משאב הסשן
RPC ממשק הסשן ממשק הסשן
C++‎ SessionsClient לא זמין
C#‎ SessionsClient לא זמין
המשך SessionsClient לא זמין
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP לא זמין לא זמין
Python SessionsClient SessionsClient
Ruby לא זמין לא זמין

ה-webhooks מקבלים ערכים של פרמטרים של סשנים. אפשר לראות את השדה sessionInfo.parameters בבקשת ה-webhook.

השבתת זיהוי הדיבור בטלפון

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

כדי לקבל רק קלט DTMF, מגדירים את הפרמטר telephony_disable_voice_processing של הסשן לערך true. החל מהתור הבא בשיחה, Dialogflow CX מתעלם מקלט דיבור ומעבד רק קלט DTMF. ההגדרה הזו נשארת בתוקף עד סוף הסשן. כדי להפעיל מחדש את זיהוי הדיבור, מגדירים את הפרמטר כ-false.

מומלץ להשתמש בפרמטר הזה כחלופה, ולא בתחילת השיחה. לדוגמה, אחרי שמשתמש הקצה מפעיל שני אירועים רצופים של "אין התאמה" או "אין קלט", משתמשים בפרמטר מוגדר מראש למילוי בקשה כדי להגדיר את הפרמטר לערך true, ואז מבקשים ממשתמש הקצה להשתמש בלוח המקשים. חשוב לוודא שהאפשרות DTMF מופעלת לפרמטרים שמשתמש הקצה צריך לספק.

העברת פרמטרים

כשקלט של משתמש קצה מספק ערך פרמטר, הפרמטר עשוי להתפשט לרמות אחרות:

  • כשפרמטר של Intent מוגדר על ידי התאמת Intent, פרמטרים של טופס עם שם דומה בדף הפעיל מוגדרים לאותו ערך. סוג הישות של הפרמטר נקבע לפי ההגדרה של פרמטר ה-Intent.
  • כשפרמטר של Intent מוגדר על ידי התאמת Intent, או כשפרמטר של טופס מוגדר בזמן מילוי טופס, הפרמטר הופך לפרמטר של סשן.

‫DTMF לשילובים של טלפוניה

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

כדי לצמצם את חוסר הבהירות, אפשר לפרש קלט DTMF גם בצורה רגילה וגם בצורה ספציפית ל-DTMF (מומלץ):

  • הצורה הרגילה היא הערכים של לוח המקשים כפי שהוזנו על ידי משתמש הקצה. לדוגמה, 123#.
  • הטופס הספציפי ל-DTMF ממיר את הקלט ל-dtmf_digits_[digits], כאשר [digits] הוא ספרות ה-DTMF המקוריות, * מוחלף ב-star ו-# מוחלף ב-pound. לדוגמה, 123# מפורש בתור dtmf_digits_123pound.

כשמתאימים סוגי ישויות לפרמטר, Dialogflow CX ינסה להתאים גם את הצורות הרגילות וגם את הצורות הספציפיות ל-DTMF. כשמשתמשים בסוג ישות לקלט DTMF, מומלץ להגדיר מילים נרדפות כמו dtmf_digits_123 כדי לשפר את ההתאמה של ה-NLU.

אם קלט ה-DTMF לא עומד בתנאי הסיום (לא הגיע לאורך המקסימלי של הספרות או לא הסתיים בספרת הסיום), סוכן Dialogflow CX ימשיך להמתין לקלט נוסף. במהלך התקופה הזו, אם מופעל זמן קצוב לתפוגה ללא דיבור, הנציג יפעיל במקום זאת אירוע ללא קלט. אם מזוהה רק אמירה בדיבור, הנציג מתאים לקלט הדיבור. אם המערכת מזהה גם דיבור וגם קלט DTMF, היא מתעלמת מהדיבור ומתייחסת רק לקלט ה-DTMF.

כדי להפעיל ולהתאים אישית את DTMF לפרמטר:

המסוף

  1. מפעילים את Advanced settings ב-agent speech and IVR settings, אם עדיין לא הפעלתם אותן.
  2. יוצרים פרמטר דף.
  3. בחלונית הפרמטרים, מפעילים את האפשרות Enable DTMF.
  4. מגדירים את Max digits למספר הספרות המקסימלי שמשתמש הקצה יכול לספק לפרמטר הזה.
  5. מגדירים את Finish digit לערך של לוח המקשים שיסיים את קלט ה-DTMF של הפרמטר. בדרך כלל משתמשים ב-# בהגדרה הזו. ספרת הסיום לא מתווספת לשאילתה של Dialogflow CX בנציג. לכן, אם ספרת הסיום היא # והקלט הוא #123, הקלט בפועל של השאילתה יהיה "123".

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

פרמטרים ברמת התהליך

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

כדי להגדיר פרמטר ברמת התהליך או להפנות אליו, משתמשים בתחביר הבא:

$flow.parameter-name

לדוגמה, אם שם הפרמטר הוא date, אפשר להגדיר את הפרמטר או להפנות אליו בתור $flow.date.

שימו לב שהשימוש בקידומת $ כשמגדירים פרמטרים שונה מסוגי פרמטרים אחרים שלא משתמשים ב-$ להגדרות של פרמטרים.

דוגמה להגדרה של פרמטר ברמת התהליך: איור של הגדרת פרמטר ברמת התהליך.

משך החיים של ערך הפרמטר ברמת התהליך

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

השאלה אם ערכי הפרמטרים ברמת התהליך נשמרים כשהתהליך הופך ללא פעיל ואז שוב לפעיל תלויה במחסנית התהליכים ובמופעי התהליך במחסנית.

  • כשמתבצע מעבר מתהליך א' לתהליך ב' באמצעות יעד מעבר ספציפי, תהליך א' (תהליך ההורה) נשאר במחסנית, תהליך א' שומר על ערכי הפרמטרים ברמת התהליך, ומופע חדש של תהליך ב' (תהליך הצאצא) מתווסף למחסנית.
  • כש-flow צאצא עובר חזרה ל-flow הורה באמצעות יעד מעבר סמלי (לדוגמה, END_FLOW), ה-flow הצאצא מוסר מהמחסנית, כל ערכי הפרמטרים ברמת ה-flow הצאצא נמחקים וכל ערכי הפרמטרים ברמת ה-flow ההורה נשמרים.
  • באמצעות סדרה של מעברים עם יעדי מעבר ספציפיים, מחסנית התהליך יכולה להכיל כמה מופעים של סוג תהליך אחד. לכל מופע של סוג התהליך יש ערכי פרמטרים ייחודיים ברמת התהליך. לדוגמה: A1 -> B1 -> C1 -> B2, כאשר A,‏ B ו-C הם סוגי תהליכים, והמספרים מציינים מופעים של סוגי התהליכים האלה. בדוגמה הזו, B1 ו-B2 הם מופעים שונים של תהליך B, ויש להם פרמטרים ייחודיים ברמת התהליך.

דוגמאות:

מעברים תוצאת הסריקה
תהליך א' (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך B חוזר לתהליך A‏ (A1) שהפעיל אותו באמצעות יעד מעבר סמלי.
בתהליך א' נשמרים ערכי הפרמטרים.
תהליך א' (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
מתבצע מעבר מתהליך B למופע חדש של תהליך A‏ (A2) באמצעות יעד מעבר ספציפי.
למופע החדש של תהליך A‏ (A2) בחלק העליון של המחסנית אין גישה לערכי הפרמטרים של תהליך A‏ (A1) בחלק התחתון של המחסנית.
תהליך א' (A1) הופך לפעיל.
תהליך B‏ (B1) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך A‏ (A1) הופך לפעיל באמצעות יעד מעבר סמלי.
תהליך B‏ (B2) הופך לפעיל באמצעות יעד מעבר ספציפי.
תהליך B‏ (B2) לא שומר את ערכי הפרמטרים שהוגדרו כשהוא היה פעיל אחרי המעבר השני (B1).

פרמטרים ברמת הבקשה

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

הפרמטרים ברמת הבקשה נוצרים על ידי Dialogflow CX בשביל התכונות הבאות.

פרמטרים מובנים

אתם יכולים לגשת לנתונים השונים שמשויכים לבקשה באמצעות:

חומרי עזר תיאור
$request.agent-id המזהה של הנציג.
$request.session-id המזהה של הסשן.
$request.project-id המזהה של הפרויקט.
$request.location-id המזהה של מיקום הנציג.
$request.language קוד השפה שצוין ב-QueryInput.language_code.
$request.resolved-language קוד השפה בפועל שבו הנציג משתמש במהלך העיבוד. השפה שנבחרה יכולה להיות שונה מהשפה שצוינה בבקשה. לדוגמה, אם הנציג תומך רק ב-"en", והשפה שצוינה בבקשה היא "en-US", השפה שתוגדר היא "en".
$request.user-utterance האמירה הנוכחית של המשתמש שצוינה בבקשה.
$request.last-agent-utterance האמירה האחרונה שנשלחה על ידי הנציג.
$request.nlu-confidence-score ציון המהימנות הנוכחי של סיווג ה-NLU.
$request.end-user-metadata המטא-נתונים של משתמש הקצה שצוינו בבקשה.
$request.webhook_status_code קוד הסטטוס של ה-HTTP של הקריאה ל-webhook.

מטען ייעודי (payload) מותאם אישית

כשמגדירים את QueryParameters.payload, אפשר לגשת לפרמטר התואם באמצעות $request.payload.param-id.

ניתוח סנטימנטים

ההפניות הבאות לסנטימנט זמינות כשניתוח הסנטימנטים מופעל:

חומרי עזר סוג תיאור
$request.sentiment.score מספר ציון סנטימנט בין ‎-1.0 (סנטימנט שלילי) ל-1.0 (סנטימנט חיובי).
$request.sentiment.magnitude מספר מציין את העוצמה הכוללת של הרגש (חיובי ושלילי כאחד) בין 0.0 ל-‎+inf. בניגוד לציון, עוצמת הרגש לא מנורמלת. כל ביטוי של רגש בקלט של משתמש הקצה (חיובי ושלילי כאחד) תורם לעוצמת הרגש של הקלט. לקלטים ארוכים יותר יכולים להיות ערכים גבוהים יותר.
$request.sentiment.succeeded בוליאני ‫True אם ניתוח הסנטימנטים הצליח, אחרת False.

צנזור פרמטרים

בכל פרמטר של כוונה או טופס, אתם יכולים להפעיל צנזור פרמטרים, שיצנזר את נתוני הפרמטרים של משתמשי הקצה בזמן הריצה מהיומנים ומהאחסון הפנימי של Dialogflow CX. פרמטרים מצונזרים מוצגים ביומנים בתור $parameter-name_redacted.

לדוגמה, אם משתמש הקצה מזין את הטקסט "הכתובת שלי היא רחוב הרצל 30", הפרמטר address יישלח ל "רחוב הרצל 30". הטקסט שיירשם ביומן יהיה "My address is $address_redacted".

כדי להפעיל צמצום חשיפה של פרמטרים:

המסוף

מסמנים את התיבה צנזור ביומן כשיוצרים או מעדכנים פרמטר.

API

מגדירים את השדה parameters[].redact כ-true לסוג Intent.

בוחרים פרוטוקול וגרסה להפניה ל-Intent:

פרוטוקול V3 V3beta1
REST משאב Intent משאב Intent
RPC ממשק Intent ממשק Intent
C++‎ IntentsClient לא זמין
C#‎ IntentsClient לא זמין
המשך IntentsClient לא זמין
Java IntentsClient IntentsClient
Node.js IntentsClient IntentsClient
PHP לא זמין לא זמין
Python IntentsClient IntentsClient
Ruby לא זמין לא זמין

מגדירים את השדה form.parameters[].redact כ-true לסוג Page.

בחירת פרוטוקול וגרסה להפניה לדף:

פרוטוקול V3 V3beta1
REST משאב דף משאב דף
RPC ממשק הדף ממשק הדף
C++‎ PagesClient לא זמין
C#‎ PagesClient לא זמין
המשך PagesClient לא זמין
Java PagesClient PagesClient
Node.js PagesClient PagesClient
PHP לא זמין לא זמין
Python PagesClient PagesClient
Ruby לא זמין לא זמין

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