מחברי ידע משלימים את הכוונות המוגדרות. הם מנתחים מסמכי ידע (למשל, שאלות נפוצות או מאמרים) כדי למצוא תשובות אוטומטיות. כדי להגדיר אותם, מגדירים בסיסי ידע, שהם אוספים של מסמכי ידע.
אתם יכולים להפעיל מאגרי ידע לסוכן שלכם, כדי שכל הבקשות לזיהוי כוונות יוכלו למצוא תשובות אוטומטיות באמצעות מאגרי הידע שלכם. אפשר גם לציין בבקשות detect intent (זיהוי כוונת המשתמש) בנפרד מאגר ידע אחד או יותר.
בדרך כלל, סוכן שמשתמש במחברי ידע משתמש גם בכוונה מוגדרת. מחברי ידע מציעים פחות דיוק ושליטה בתשובות בהשוואה לכוונות. צריך להגדיר את הכוונות כך שיטפלו בבקשות מורכבות של משתמשים, ולאפשר למחברים של מקורות מידע לטפל בבקשות פשוטות.
רשימת השפות הנתמכות מופיעה בעמודה Knowledge Connectors בחומר העזר בנושא שפות.
מגבלות
התכונה 'מחברי ידע' זמינה רק בglobal
אזור.
הפעלת תכונות בגרסת בטא
מוודאים שתכונות בטא מופעלות:
- עוברים אל מסוף Dialogflow ES.
- בוחרים נציג תמיכה.
- לוחצים על לחצן ההגדרות settings לצד שם הסוכן.
- גוללים למטה בכרטיסייה כללי ומוודאים שהאפשרות תכונות בגרסת בטא מופעלת.
- אם ביצעתם שינויים, לוחצים על שמירה.
יצירת מאגר ידע ומסמך
פועלים לפי ההוראות במאמר איך ליצור מאגרי ידע כדי ליצור מאגר ידע ומסמך.
הגדרות של מחברי ידע
אתם יכולים להפעיל או להשבית בסיסי ידע עבור הסוכן שלכם. מאגרי ידע שמופעלים ייכללו בכל הבקשות להתאמת כוונות שלא מציינות מאגרי ידע. כדי להפעיל או להשבית את מאגרי הידע:
- עוברים אל מסוף Dialogflow ES.
- בוחרים נציג תמיכה.
- בסרגל הצד הימני, לוחצים על ידע.
- בוחרים מהרשימה מאגר ידע אחד או יותר.
- לוחצים על הפעלה או על השבתה.
אם ביטוי של משתמש קצה תואם גם לישות, אפשר לציין עד כמה אתם מעדיפים תוצאות ידע:
- גוללים למטה לקטע שינוי ההעדפה לגבי תוצאות ידע.
- מזיזים את פס ההזזה מהצד החלש יותר (עדיפות לכוונת המשתמש) לצד החזק יותר (עדיפות לידע). מידע נוסף זמין בקטע זיהוי תגובות של כוונות בהמשך המאמר.
הגדרת התשובות
כברירת מחדל, מאגר הידע מוגדר עם תשובה אחת של ברירת מחדל, שמכילה את התשובה הכי מתאימה מתוך מאגר הידע. אפשר לשנות את התשובה הזו ולהוסיף הודעות תשובה עשירות. תשובות ממאגר הידע יכולות לכלול עד שלוש תשובות לכל מאגר ידע, ואפשר להפנות לתשובות האלה בתשובות שהגדרתם. כדי להוסיף תשובות:
- בדף Knowledge, לוחצים על שם מאגר הידע.
- גוללים למטה לקטע תשובות ומוסיפים תשובות לפי הצורך:
- כשמגדירים את התגובה הראשונה, משתמשים ב-
$Knowledge.Question[1]וב-$Knowledge.Answer[1]במקום שבו רוצים שהשאלה והתשובה יופיעו. - האינדקס של
$Knowledge.Questionושל$Knowledge.Answerמתחיל ב-1, לכן צריך להגדיל את האינדקס הזה כשמוסיפים עוד תשובות.
- כשמגדירים את התגובה הראשונה, משתמשים ב-
- כשמסיימים לערוך, לוחצים על שמירה.
כשמגדירים תגובות, כדאי לקחת בחשבון את הנקודות הבאות:
- אם מספר התשובות המוגדרות גדול ממספר התשובות התואמות N של מחבר הידע, יוחזרו רק N תשובות.
- בהתחשב בכך שהדיוק עשוי להיות נמוך יותר מאשר התאמה לכוונות שהוגדרו באופן מפורש, מומלץ להחזיר למשתמשים שלוש תשובות כשאפשר.
דוגמה:

זיהוי כוונת המשתמש באמצעות מאגר ידע
כששולחים בקשה לזיהוי כוונת המשתמש, אפשר לציין בסיס ידע אחד או יותר לתשובה אפשרית. אם מציינים בבקשה בסיסי ידע באופן מפורש, ההגדרה של בסיסי ידע שמופעלים ומושבתים לא רלוונטית.
הדוגמאות הבאות מראות איך להשתמש במסוף Dialogflow, ב-API בארכיטקטורת REST (כולל שורת פקודה) או בספריות לקוח כדי לזהות כוונות (Intents).
כדי להשתמש ב-API, מפעילים את method detectIntent בסוג Sessions.
ממשק משתמש באינטרנט
אתם יכולים לקיים אינטראקציה עם הסוכן ולקבל תשובות מחיבור הידע באמצעות סימולטור Dialogflow:- פועלים לפי השלבים שלמעלה כדי להפעיל מאגר מידע.
- פועלים לפי השלבים שלמעלה כדי להגדיר את התשובות.
- מקלידים 'איך נרשמים?' בסימולטור.
REST
מבצעים קריאה ל-detectIntent בסוג Sessions ומציינים את מאגר הידע בשדה queryParams.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב-GCP
- KNOWLEDGE_BASE_ID: מזהה מאגר הידע
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/agent/sessions/123456789:detectIntent
תוכן בקשת JSON:
{
"queryInput": {
"text": {
"text": "How do I sign up?",
"languageCode": "en-US"
}
},
"queryParams": {
"knowledgeBaseNames": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
...
"queryResult": {
"queryText": "How do I sign up?",
"parameters": {},
"allRequiredParamsPresent": true,
"fulfillmentText": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.",
"intent": {
"name": "projects/my-gcp-project/agent/intents/487c7242-a769-408a-a339-47b95e10dac4",
"displayName": "Knowledge.KnowledgeBase.MzkzNTAyMDE3NDQxNDk3MDg4MA"
},
"intentDetectionConfidence": 0.99371547,
"languageCode": "en-us",
"knowledgeAnswers": {
"answers": [
{
"answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.",
"matchConfidenceLevel": "HIGH",
"matchConfidence": 0.99371547
},
{
"answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage and Cloud Bigtable).",
"matchConfidenceLevel": "LOW",
"matchConfidence": 0.0012244871
},
{
"answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.",
"matchConfidenceLevel": "LOW",
"matchConfidence": 0.0011537358
}
]
}
}
}
Java
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
זיהוי תגובות לכוונות
התשובה לשיטת detectIntent מסוג Sessions היא DetectIntentResponse.
יש כמה גורמים שמשפיעים על האופן שבו שדות התשובה מאוכלסים.
אם יש התאמה פוטנציאלית גם לכוונת מוגדרת וגם למאגר ידע, המערכת משתמשת במידת הביטחון של כל התאמה ובהעדפה של תוצאות ידע (ראו הגדרות של מחברי ידע) כדי לקבוע איזו התאמה היא ההתאמה שנבחרה.
ההתאמה שנבחרה מאוכלסת בשדה DetectIntentResponse.queryResult, והתאמות פוטנציאליות אחרות מאוכלסות בשדה DetectIntentResponse.alternativeQueryResults.
שני השדות האלה מכילים הודעות QueryResult.
אם מאגר ידע מספק התאמה פוטנציאלית:
- המאפיין
QueryResult.knowledgeAnswersמאוכלס ברשימה של תשובות פוטנציאליות לשאלות, מסודרות לפי רמת סמך יורדת להתאמה. - אם הוגדרו תשובות עשירות למאגר הידע,
QueryResult.fulfillmentMessagesמלא בהודעות של תשובות עשירות.
כשמבצעים בקשה לזיהוי כוונת המשתמש, יכול להיות שהשאילתה למאגר הידע תיכשל.
במקרה כזה, הכוונות המוגדרות ייבחרו, כך שהבקשה הכוללת לזיהוי כוונות לא תיכשל.
אפשר למצוא מידע על שגיאות בשאילתות ידע בשדה DetectIntentResponse.alternativeQueryResults[i].diagnosticInfo.