יצירת נציג Dialogflow ES
אפשר להשתמש במסוף Dialogflow ES כדי ליצור סוכן ולבדוק אותו.
לפני שמתחילים
לפני שמתחילים, צריך לבצע את השלבים הבאים:
- מידע בסיסי על Dialogflow
- משלימים את השלבים להגדרה.
יצירת סוכן
- עוברים אל מסוף Dialogflow ES.
- אם תתבקשו, היכנסו ל-Dialogflow Console. מידע נוסף זמין במאמר בנושא סקירה כללית של מסוף Dialogflow.
- בתפריט הצד, לוחצים על סוכנים.
- לוחצים על הכרטיסייה הסוכנים הפרוסים שלך.
- לוחצים על יצירת סוכן.
- מזינים את שם הסוכן, שפת ברירת המחדל ואזור הזמן שמוגדר כברירת מחדל.
- מזינים פרויקט קיים. כדי לאפשר למסוף Dialogflow ליצור פרויקט, בוחרים באפשרות Create a new Google project (יצירת פרויקט חדש ב-Google).
- לוחצים על יצירה.
כוונות
כוונות מסווגות את הכוונה של משתמש קצה בתור אחד של שיחה. לכל סוכן מגדירים הרבה כוונות, שביחד מטפלות בשיחה מלאה.
כוונות ברירת מחדל
כשיוצרים סוכן, מערכת Dialogflow יוצרת בשבילכם שני Intent שמוגדרים כברירת מחדל:
- כוונת הפתיחה שמוגדרת כברירת מחדל: הכוונה הזו מופעלת כשמשתמש הקצה מתחיל שיחה עם הנציג. היא מחזירה תגובה שמאפשרת למשתמש הקצה לדעת מה הנציג עושה או מה הוא יכול להגיד כדי להתחיל שיחה.
- Default Fallback Intent: התכונה הזו מופעלת כשהסוכן לא מצליח להתאים את הביטוי של משתמש הקצה לאף כוונה אחרת.
כדי לראות את הכוונות האלה, עוברים לרשימת הכוונות של הסוכן:
- עוברים אל מסוף Dialogflow ES.
- בוחרים את הסוכן שיצרתם.
- בתפריט הצד, לוחצים על כוונות.
באמצע מסוף Dialogflow מוצגת רשימת הישויות של הסוכן.

בדיקת כוונת ברירת המחדל להחזרה למצב הראשוני (fallback)

הסימולטור של Dialogflow נמצא בצד ימין של המסוף. בעזרת הסימולטור, אתם יכולים לבדוק את הנציג על ידי דיבור או הקלדה של הודעות.
רוצים לנסות את הסוכן?
- לוחצים על השדה רוצים לנסות?.
- מקלידים
What is your name?. - לוחצים על Enter.
התשובה של הסוכן מופיעה בקטע תשובת ברירת מחדל. מאחר שהקלט שלך לא תאם לאף כוונה, התקבלה התאמה לכוונה של ברירת המחדל למקרה של חוסר התאמה, וקיבלת אחת מתשובות ברירת המחדל.
יצירת כוונה
השלבים בקטע הזה יוצרים כוונה שעונה על השאלה "מה השם שלך?" לכל כוונת משתמש מגדירים הרבה משפטי אימון. משפט אימון הוא דוגמה למה שמשתמש קצה עשוי להקליד או לומר לסוכן שלכם, שנקרא גם ביטוי של משתמש קצה. הגדרת ביטויי אימון שעוזרים ל-Dialogflow להתאים ביטויים ליעד.
יצירת כוונה:
- בסרגל הצד, לוחצים על לחצן הוספת כוונת המשתמש ליד כוונות משתמש.
- מזינים
get-agent-nameבשדה Intent name. - בקטע Training Phrases (משפטים לאימון), לוחצים על Add training phrases (הוספת משפטים לאימון).
מזינים את הביטויים הבאים לאימון:
What is your name?Do you have a name?Tell me your name

בקטע תשובות, מזינים את הטקסט הבא בקטע תשובה בטקסט:
My name is Dialogflow!

לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
בדיקת הכוונה

בסימולטור, מקלידים What's your name? ומקישים על Enter.
הסוכן מגיב לביטוי בצורה נכונה, למרות שהביטוי שונה מעט מביטויי ההדרכה שסופקו.
Dialogflow משתמש בביטויי אימון כדוגמאות למודל של למידת מכונה, כדי להתאים בין ביטויים של משתמשי קצה לבין כוונות. המודל בודק את הביטוי מול כל כוונת משתמש בסוכן, מקצה ציון לכל כוונת משתמש ומתאים את כוונת המשתמש עם הציון הכי גבוה. אם לכוונת המשתמש עם הניקוד הכי גבוה יש ניקוד נמוך מאוד, המערכת מתאימה את כוונת המשתמש לכוונת ברירת המחדל.
פרמטרים וישויות
כשמזוהה כוונה בזמן הריצה, Dialogflow מספק את הערכים שחולצו מהביטוי של משתמש הקצה כפרמטרים. לכל פרמטר יש סוג שנקרא סוג הישות, והוא קובע בדיוק איך הנתונים מחולצים. בניגוד לקלט גולמי של משתמשי קצה, פרמטרים הם נתונים מובנים שאפשר להשתמש בהם בקלות כדי לבצע לוגיקה מסוימת או ליצור תשובות.כדי לשלוט באופן חילוץ הנתונים כשיוצרים סוכן, צריך להוסיף הערות לחלקים של הביטויים לאימון ולהגדיר את הפרמטרים המשויכים.
יצירת פרמטרים
יוצרים פרמטרים של כוונות:
- לוחצים על לחצן הפלוס לצד Intents בתפריט סרגל הצד.
- נותנים שם ל-Intent
set-languageבחלק העליון של טופס ה-Intent. - מוסיפים את הביטויים הבאים לאימון:
I know EnglishI speak FrenchI know how to write in German
לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.

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

- חובה: לא מסומן. הפרמטר הזה הוא אופציונלי.
- שם הפרמטר: השם
languageנוצר אוטומטית כי המערכת מזהה אותו כשפה. - ישות: מזוהה כישות מערכת
@sys.language. - ערך: המזהה שמשמש כשמפנים לערך של הפרמטר הזה.
- Is List: לא מסומן; הפרמטר הזה הוא לא רשימה.
שימוש בנתוני פרמטרים בתשובה
אתם יכולים להשתמש בערך של פרמטר בתשובות שלכם. לדוגמה, אתם יכולים להשתמש בהפניה לפרמטר $language בתשובות שלכם כשאתם יוצרים סוכן. בזמן הריצה, הסוכן מחליף אותו בשפה שצוינה בביטוי של משתמש הקצה.
כדי להוסיף תשובה שמשתמשת בפרמטר:
- עוברים לקטע תשובות.
- בקטע Text Response (תשובה טקסטואלית), מוסיפים את הטקסט הבא:
Wow! I didn't know you knew $language. - לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
בדיקת הפרמטר

בסימולטור, מקלידים I know Russian. אפשר לראות ש-Dialogflow מחלץ נכון את הפרמטר language עם הערך Russian, ושהערך Russian הוכנס נכון במקום שבו נעשה שימוש בהפניה לפרמטר בתגובה.
יצירת ישויות משלכם
ברוב המקרים, צריך לאסוף נתונים ספציפיים מהמשתמשים שלא מסופקים על ידי ישויות המערכת. כדי לטפל בזה, אפשר ליצור ישויות בהתאמה אישית.
כדי ליצור ישות בהתאמה אישית:
- לוחצים על לחצן הוספת הישות לצד יחידות בתפריט סרגל הצד.
- מזינים
language-programmingכשם הישות. מוסיפים את רשומות הישות (השורות) הבאות:
ערך ההפניה מילים נרדפות JavaScript JavaScript, js, ECMAScript Java Java Python Python, py לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.

Dialogflow יכול לטפל במקרים פשוטים כמו ריבוי ואותיות רישיות. מוסיפים את כל המילים הנרדפות האפשריות לערכים. ככל שמוסיפים יותר מילים נרדפות, כך הסוכן יכול לזהות את הישויות בצורה טובה יותר.
שימוש בישות החדשה
מוסיפים משפטי הדרכה לset-language הכוונה שמשתמשים בישות החדשה:
- בתפריט הצד, לוחצים על כוונות.
- לוחצים על
set-languageהכוונה. - מוסיפים את הביטויים הבאים לאימון:
I know javascriptI know how to code in Java
- שימו לב ששפות התכנות בביטויים האלה להדרכה מתויגות באופן אוטומטי ונוספות לפרמטרים בקטע פעולה ופרמטרים.
- בקטע תשובות, מוסיפים את התשובה השנייה הבאה:
$language-programming is an excellent programming language. - לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
בדיקת הישות החדשה

בסימולטור, מזינים I know how to code in py. Dialogflow מחלץ את py בצורה נכונה עבור הפרמטר language-programming, מזהה אותו כישות Python ומוסיף את הערך לתגובה.
הקשרים
כדי לשלוט במהלך השיחה, אפשר להשתמש בהקשרים.
הוספת כוונת המשך
כוונות למעקב מאפשרות לכם לשלוט בשיחה בלי ליצור ולנהל הקשרים באופן ידני.
כשיוצרים כוונת מעקב, הקשר הפלט מתווסף לכוונת האב, והקשר הקלט עם אותו שם מתווסף לכוונת הבן. כלומר, כוונת ההמשך תותאם רק אם הכוונה הראשית תותאם בתור הקודם של השיחה.
מוסיפים כוונת מעקב מותאמת אישית לכוונת set-language:
- בוחרים את כוונת המשתמש
set-languageשיצרתם בשלבים הקודמים. - בקטע תשובה, מעדכנים את תשובת הטקסט:
Wow! I didn't know you knew $language. How long have you known $language?
- לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
- בתפריט הצד, לוחצים על כוונות.
- מצביעים עם הסמן על הכוונה
set-languageולוחצים על הוספת כוונה למעקב. - לוחצים על בהתאמה אישית ברשימה.
- לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
מערכת Dialogflow נותנת אוטומטית את השם set-language - custom ל-intent ההמשך.

התאמה לכוונה באמצעות כוונות המשך
התאמה של כוונות מעקב מתבצעת רק אחרי התאמה של כוונת האב. כי כוונת המשתמש set-language - custom תואמת רק אחרי כוונת המשתמש set-language, ולכן המשתמש נשאל את השאלה 'כמה זמן אתה דובר $language?' מוסיפים ביטויי אימון לתשובות סבירות של משתמשים לשאלה הזו:
- בתפריט הצד, לוחצים על כוונות.
- לוחצים על
set-language - customהכוונה. - מוסיפים את הביטויים הבאים לאימון:
3 yearsabout 4 daysfor 5 years
- לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
בדיקה של כוונת המעקב
מזינים I know French בסימולטור, ואז עונים על השאלה How long have you known French עם about 2 weeks.
למרות שלא התקבלה תשובה לביטוי השני (about 2 weeks), אפשר לראות שהביטוי תואם ליעד הנכון (set-language - custom), ושהפרמטר duration מנותח בצורה נכונה (2 weeks).
כוונות והקשרים
בודקים את הכוונה set-language כדי לוודא ש-set-language-followup מופיע כהקשר פלט עם הקידומת 2. המספר הזה נקרא משך החיים.

אחרי שזוהה set-languageהכוונה, ההקשר set-language-followupפעיל ומצורף לשיחה למשך שני תורים (משך החיים הוא 2).
לכן, כשמשיבים לשאלה כמו How long have you known $language?, ההקשר set-language-followup פעיל.
בודקים את set-language - custom הכוונה כדי לראות ש-set-language-followup
מופיע כהקשר קלט, שהוא זהה להקשר הפלט של הכוונה set-language.
לכל כוונות עם הקשר קלט שתואם להקשר פעיל יש עדיפות כש-Dialogflow מתאים כוונות.
הקשרים והפרמטרים
ההקשרים מאחסנים ערכי פרמטרים, ואפשר לגשת לערכי הפרמטרים שהוגדרו ב-set-language intent כשההקשר של הפלט שלו פעיל. בכוונת התגובה
set-language - custom, ביקשת רק את משך הזמן שהמשתמש מכיר את השפה, ולא את השפה עצמה.
כדי להוסיף הפניה לשפה בתשובה:
- תעדכן את התשובה הכתובה של כוונת
set-language - customלI can't believe you've known #set-language-followup.language for $duration! - לוחצים על הלחצן שמירה ומחכים עד שתיבת הדו-שיח Agent Training (אימון הסוכן) מציינת שהאימון הושלם.
ההפניה #set-language-followup.language היא הפניה לפרמטר בהקשר פעיל.
בדיקת פרמטר ההקשר
מזינים I know French בסימולטור, ואז משיבים על השאלה עם 1 week. שימו לב שערך הפרמטר language מאוחזר מההקשר.
ייצור
לפני שמריצים את הסוכן בסביבת הייצור, כדאי להטמיע את השיטות המומלצות לשימוש בסביבת הייצור.
המאמרים הבאים
אפשר לנסות את המדריך להתחלה מהירה בנושא מילוי הזמנות.