מאגר ידע מייצג אוסף של מסמכי ידע שאתם מספקים ל-Dialogflow. מסמכי הידע מכילים מידע שיכול להיות שימושי במהלך שיחות עם משתמשי קצה. חלק מהתכונות של Dialogflow משתמשות במאגרי ידע כשמחפשים תשובה לביטוי של משתמש קצה. במדריך הזה מוסבר איך ליצור ולנהל מאגרי ידע.
מאגר ידע מוחל ברמת הנציג.
לפני שמתחילים
לפני שתקראו את המדריך הזה:
- מידע בסיסי על Dialogflow
- לבצע את השלבים להגדרה.
יצירת מאגר ידע
הדוגמאות הבאות מראות איך להשתמש במסוף Dialogflow, ב-API בארכיטקטורת REST (כולל שורת הפקודה) או בספריות הלקוח כדי ליצור מאגר ידע.
כדי להשתמש ב-API, צריך להפעיל את ה-method create בסוג KnowledgeBase.
ממשק משתמש באינטרנט
כדי ליצור מאגר ידע, משתמשים במסוף Dialogflow:- נכנסים למסוף Dialogflow ES.
- בחירת סוכן
- בתפריט סרגל הצד הימני, לוחצים על ידע.
- לוחצים על Create Knowledge Base.
- צריך להזין שם למאגר הידע
- לוחצים על שמירה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב-GCP
- KNOWLEDGE_BASE_DISPLAY_NAME: השם הרצוי של מאגר הידע
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases
תוכן בקשת JSON:
{
"displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
"displayName": "KNOWLEDGE_BASE_DISPLAY_NAME"
}
שימו לב לערך של השדה name.
זה השם של מאגר הידע החדש.
החלק בנתיב שאחרי knowledgeBases הוא המזהה החדש של מאגר הידע.
שמרו את המזהה הזה לבקשות הבאות.
Java
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
הוספת מסמך למאגר הידע
במאגר הידע החדש אין כרגע מסמכים, אז צריך להוסיף לו מסמך. בקטע תוכן נתמך שבהמשך מפורטות כל אפשרויות התוכן הנתמכות. בדוגמה הזו אפשר להשתמש במסמך שאלות נפוצות על Cloud Storage.
הדוגמאות הבאות מראות איך להשתמש במסוף Dialogflow, ב-API בארכיטקטורת REST (כולל שורת הפקודה) או בספריות הלקוח כדי ליצור מסמך ידע.
כדי להשתמש ב-API, מפעילים את ה-method create בסוג Document.
ממשק משתמש באינטרנט
כדי ליצור מסמך ידע, משתמשים במסוף Dialogflow:- אם אתם לא ממשיכים מהשלבים שלמעלה, עברו להגדרות של מאגר הידע:
- נכנסים למסוף Dialogflow ES.
- בחירת סוכן
- בתפריט סרגל הצד הימני, לוחצים על ידע.
- לוחצים על השם של מאגר הידע.
- לוחצים על מסמך חדש או על יצירת המסמך הראשון.
- צריך לכתוב את שם המסמך
- בוחרים באפשרות text/html בשדה סוג MIME.
- בוחרים באפשרות שאלות נפוצות בשדה סוג הידע.
- בוחרים באפשרות כתובת URL בתור מקור הנתונים.
- בשדה URL מזינים את הכתובת https://cloud.google.com/storage/docs/faq.
- לוחצים על יצירה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב-GCP
- KNOWLEDGE_BASE_ID: המזהה של מאגר הידע שהוחזר מהבקשה הקודמת
- DOCUMENT_DISPLAY_NAME: השם הרצוי של מסמך הידע
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dialogflow.googleapis.com/v2beta1/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
תוכן בקשת JSON:
{
"displayName": "DOCUMENT_DISPLAY_NAME",
"mimeType": "text/html",
"knowledgeTypes": "FAQ",
"contentUri": "https://cloud.google.com/storage/docs/faq"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA"
}
החלק בנתיב שאחרי operations הוא מזהה הפעולה.
Java
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Dialogflow CX, צריך להגדיר את Application Default Credentials. למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
יצירת מסמך היא פעולה ממושכת, ולכן יכול להיות שייקח זמן רב עד שהיא תסתיים. אפשר לדגום את הסטטוס של הפעולה הזו כדי לראות אם היא הושלמה. בסיום, הפעולה מכילה את מזהה המסמך החדש שנוצר. שמרו את המזהה הזה לעיבוד עתידי. מידע נוסף זמין במאמר פעולות ממושכות.
ניהול מסמכי הידע
עדכון התוכן של מסמך הידע
אם תעדכנו את התוכן שמסמך הידע מפנה אליו, יכול להיות שמסמך הידע לא יתעדכן באופן אוטומטי. התוכן מתרענן באופן אוטומטי רק אם הוא מסופק ככתובת URL ציבורית ואם סימנתם את האפשרות הפעלת טעינה מחדש אוטומטית במסמך.
כדי לרענן באופן ידני את התוכן של מסמך ב-Cloud Storage או בכתובת URL ציבורית, מפעילים את השיטה reload בסוג Document.
כדי לרענן באופן ידני תוכן גולמי שהועלה, משתמשים ב-methods delete ו-create בסוג Document כדי ליצור מחדש את המסמך.
הצגת רשימה של מסמכי ידע
אתם יכולים להציג את כל מסמכי הידע במאגר הידע שלכם.
כדי להשתמש ב-API, מפעילים את ה-method list בסוג Document.
מחיקת מסמכי ידע
אתם יכולים למחוק מסמכי ידע ממאגר הידע שלכם.
כדי להשתמש ב-API, מפעילים את ה-method delete בסוג Document.
אם אין לכם את מזהה המסמך, אתם יכולים לרשום את המסמכים כמו שמתואר למעלה.
תוכן נתמך
אלה סוגי מסמכי הידע שנתמכים:
- שאלות נפוצות: תוכן המסמך מכיל זוגות של שאלות ותשובות בפורמט HTML או CSV. המערכת מנתחת במדויק פורמטים אופייניים של HTML לשאלות נפוצות, אבל יכול להיות שהיא לא תצליח לנתח פורמטים חריגים. בקובץ CSV השאלות צריכות להיות בעמודה הראשונה והתשובות בעמודה השנייה, ללא כותרת. בגלל הפורמט המפורש הזה, הם תמיד מנותחים בצורה מדויקת.
- שאלות ותשובות מחולצות: מסמכים שמהם מחולץ טקסט לא מובנה, שמשמש למענה על שאלות.
בטבלה הבאה מוצגים סוגי ה-MIME הנתמכים לפי סוג הידע והמקור.
| ידע סוג \ מקור | קובץ שהועלה (Document.content) (לא מומלץ) | קובץ שהועלה (Document.raw_content) (מומלץ) | קובץ מ-Cloud Storage (Document.contentUri) | קובץ מכתובת URL ציבורית (Document.contentUri) |
|---|---|---|---|---|
| שאלות נפוצות | text/csv | text/csv | text/csv | text/html |
| שאלות ותשובות מבוססות-חילוץ | text/plain, text/html | text/plain, text/html, application/pdf | text/plain, text/html, application/pdf | לא רלוונטי |
אלה הבעיות הידועות, המגבלות והשיטות המומלצות שקשורות לתוכן המסמך:
כללי:
- קבצים מכתובות URL ציבוריות חייבים להיסרק על ידי הסורק של אינדקס החיפוש של חיפוש Google, כדי שהם יהיו קיימים באינדקס החיפוש. אפשר לבדוק את זה באמצעות Google Search Console. חשוב לזכור שהמערכת לא מעדכנת את התוכן שלכם. אם התוכן של המקור משתנה, צריך לעדכן את מסמך הידע באופן מפורש.
- בקובצי CSV, צריך להשתמש בפסיקים כתווי הפרדה.
- ציוני המהימנות עדיין לא מכוילים בין שאלות נפוצות לבין מאמרים במאגר הידע, כך שאם משתמשים גם בשאלות נפוצות וגם במאמרים במאגר הידע, יכול להיות שהתוצאה הטובה ביותר לא תמיד תהיה הגבוהה ביותר.
- Dialogflow מסיר תגי HTML מהתוכן כשהוא יוצר תשובות. לכן, מומלץ להימנע מתגי HTML ולהשתמש בטקסט פשוט כשאפשר.
- התשובות של Google Assistant מוגבלות ל-640 תווים לכל בועת צ'אט, ולכן תשובות ארוכות נחתכות כשמשלבים אותן עם Google Assistant.
- גודל המסמך המקסימלי הוא 50MB.
- כשמשתמשים בקבצים של Cloud Storage, צריך להשתמש בכתובות URI ציבוריות או בכתובות URI פרטיות שלחשבון המשתמש או לחשבון השירות שלכם יש גישה אליהן.
ספציפית לשאלות נפוצות:
- בקובץ CSV השאלות צריכות להיות בעמודה הראשונה והתשובות בעמודה השנייה, ללא כותרת.
- מומלץ להשתמש ב-CSV כשאפשר, כי הניתוח של קובצי CSV הוא הכי מדויק.
- אין תמיכה בתוכן HTML ציבורי עם זוג אחד של שאלות ותשובות.
- מספר צמדי השאלות והתשובות במסמך אחד לא יכול להיות גדול מ-2,000.
- אי אפשר להוסיף שאלות כפולות עם תשובות שונות.
- אפשר להשתמש בכל מסמך של שאלות נפוצות. מנתח השאלות הנפוצות יכול לטפל ברוב הפורמטים של שאלות נפוצות.
ספציפית ל-Extractive QA:
- התכונה "שאלות ותשובות עם שליפת מידע" היא ניסיונית כרגע. הוא מבוסס על טכנולוגיות דומות שנבדקו ב-Google במוצרים כמו חיפוש ו-Assistant. נשמח לקבל מכם משוב על השימוש ב-Dialogflow.
- התכונה פועלת הכי טוב עם תוכן שיש בו הרבה טקסט. הימנעו מתוכן עם הרבה פסקאות של משפט אחד.
- אין תמיכה בטבלאות וברשימות.
- מספר הפסקאות במסמך אחד לא יכול להיות יותר מ-2,000.
- אם המאמר ארוך (יותר מ-1,000 מילים), כדאי לנסות לפצל אותו לכמה מאמרים קצרים יותר. אם המאמר עוסק בכמה נושאים, אפשר לפצל אותו למאמרים קצרים יותר שעוסקים בנושאים נפרדים. אם המאמר עוסק רק בבעיה אחת, צריך להתמקד בתיאור הבעיה ולקצר את הפתרון.
- רצוי לספק רק את התוכן העיקרי של המאמר (תיאור הבעיה והפתרון). תוכן נוסף כמו שם המחבר, היסטוריית השינויים, קישורים קשורים ומודעות לא חשוב.
- כדאי לכלול תיאור של הבעיות שהמאמר יכול לעזור לפתור, או שאילתות לדוגמה שהמאמר יכול לענות עליהן.
שימוש ב-Cloud Storage
אם התוכן שלכם לא ציבורי, מומלץ לאחסן אותו ב-Cloud Storage. כשיוצרים מסמכי ידע, צריך לספק את כתובות ה-URL של האובייקטים ב-Cloud Storage.
יצירת קטגוריות של Cloud Storage ואובייקטים
כשיוצרים את הקטגוריה של Cloud Storage:
- חשוב לוודא שבחרתם את הפרויקט ב-GCP שאתם משתמשים בו ל-Dialogflow.
- מוודאים שלחשבון המשתמש או לחשבון השירות שאתם משתמשים בו בדרך כלל כדי לגשת ל-Dialogflow API יש הרשאות קריאה לאובייקטים בקטגוריה.
- משתמשים בסוג האחסון Standard.
- מגדירים את מיקום הקטגוריה למיקום הקרוב ביותר אליכם.
תצטרכו את מזהה המיקום (לדוגמה,
us-west1) לחלק מהקריאות ל-API, אז שימו לב לבחירה שלכם.
פועלים לפי ההוראות במדריך למתחילים של Cloud Storage כדי ליצור קטגוריה ולהעלות קבצים.
הוספת אובייקט של Cloud Storage למסמך של מאגר ידע
כדי לספק את התוכן:
- יוצרים מאגר ידע כמו שמתואר למעלה.
- יוצרים מסמך ידע כמו שמתואר למעלה.
כשמפעילים את ה-method
createבסוגDocument, מגדירים בשדהcontentUriאת כתובת ה-URL של המסמך ב-Cloud Storage. הפורמט של כתובת ה-URL הזו הואgs://bucket-name/object-name.