מאגר ידע מייצג אוסף של מסמכי ידע שאתם מספקים ל-Dialogflow. מסמכי הידע שלכם מכילים מידע שעשוי להיות שימושי במהלך שיחות עם משתמשי קצה. חלק מהתכונות של Dialogflow משתמשות במאגרי מידע כדי למצוא תשובה לביטוי של משתמש קצה. במדריך הזה מוסבר איך ליצור ולנהל מאגרי מידע.
לפני שמתחילים
לפני שתקראו את המדריך הזה:
- מידע בסיסי על Dialogflow
- לבצע את השלבים להגדרה.
יצירת מאגר ידע
בדוגמאות שלמטה מוסבר איך ליצור מאגר ידע באמצעות Dialogflow Console, API בארכיטקטורת REST (כולל שורת פקודה) או ספריות לקוח.
כדי להשתמש ב-API, מפעילים את method create בסוג KnowledgeBase.
ממשק משתמש באינטרנט
כדי ליצור מאגר ידע באמצעות Dialogflow Console:- עוברים אל מסוף Dialogflow ES.
- Select an agent
- בתפריט הצדדי שמימין, לוחצים על ידע.
- לוחצים על יצירת מאגר ידע.
- הזנת שם למאגר הידע
- לוחצים על שמירה
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 Console, API בארכיטקטורת REST (כולל שורת פקודה) או ספריות לקוח.
כדי להשתמש ב-API, מפעילים את method create בסוג Document.
ממשק משתמש באינטרנט
כדי ליצור מסמך ידע באמצעות Dialogflow Console:- אם אתם לא ממשיכים מהשלבים שלמעלה,
עוברים להגדרות של מאגר הידע:
- עוברים אל מסוף Dialogflow ES.
- Select an agent
- בתפריט הצדדי שמימין, לוחצים על ידע.
- לוחצים על השם של מאגר הידע.
- לוחצים על מסמך חדש או על יצירת המסמך הראשון.
- מזינים שם למסמך
- בוחרים באפשרות text/html בשדה Mime Type (סוג 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.
כדי לרענן ידנית תוכן גולמי שהועלה, צריך להשתמש בשיטות delete ו-create בסוג Document כדי ליצור מחדש את המסמך.
רשימת מסמכי ידע
אתם יכולים להציג רשימה של כל מסמכי הידע במאגר הידע.
כדי להשתמש ב-API, מפעילים את method list בסוג Document.
מחיקת מסמכי ידע
אתם יכולים למחוק מסמכי ידע ממאגר הידע.
כדי להשתמש ב-API, מפעילים את method delete בסוג Document.
אם אין לכם את מזהה המסמך,
אתם יכולים לפרט את המסמכים כמו שמתואר למעלה.
תוכן נתמך
אלה סוגי המסמכים של מאגר הידע שנתמכים:
- שאלות נפוצות: תוכן המסמך מכיל זוגות של שאלות ותשובות בפורמט HTML או CSV. פורמטים רגילים של שאלות נפוצות ב-HTML מנותחים בצורה מדויקת, אבל יכול להיות שפורמטים לא רגילים לא ינותחו. בקובץ CSV השאלות צריכות להיות בעמודה הראשונה והתשובות בעמודה השנייה, ללא כותרת. בגלל הפורמט המפורש הזה, תמיד מתבצע ניתוח מדויק שלהם.
- שאילתות חילוץ וניתוח (QA): מסמכים שמהם מחולץ טקסט לא מובנה ומשמש למענה לשאלות.
בטבלה הבאה מוצגים סוגי ה-MIME הנתמכים לפי סוג הידע והמקור.
| ידע סוג \ מקור | קובץ שהועלה (Document.content) (לא מומלץ) | קובץ שהועלה (Document.raw_content) (מומלץ) | קובץ מ-Cloud Storage (Document.contentUri) | קובץ מכתובת URL ציבורית (Document.contentUri) |
|---|---|---|---|---|
| שאלות נפוצות | text/csv | text/csv | text/csv | text/html |
| Extractive QA | 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 ולהשתמש בטקסט פשוט כשזה אפשרי.
- יש מגבלה של 640 תווים לכל בועת צ'אט בתשובות של Google Assistant, לכן תשובות ארוכות נחתכות כשמשלבים אותן עם Google Assistant.
- הגודל המקסימלי של המסמך הוא 50MB.
- כשמשתמשים בקבצים ב-Cloud Storage, צריך להשתמש בכתובות URI ציבוריות או בכתובות URI פרטיות שלחשבון המשתמש או לחשבון השירות יש גישה אליהן.
שאלות ספציפיות לגבי שאלות נפוצות:
- בקובץ CSV השאלות צריכות להיות בעמודה הראשונה והתשובות בעמודה השנייה, ללא כותרת.
- מומלץ להשתמש ב-CSV כשאפשר, כי הניתוח של קובצי CSV הוא הכי מדויק.
- אין תמיכה בתוכן HTML ציבורי עם זוג אחד של שאלות ותשובות.
- מספר זוגות השאלות והתשובות במסמך אחד לא יכול לחרוג מ-2,000.
- אין תמיכה בשאלות כפולות עם תשובות שונות.
- אפשר להשתמש בכל מסמך שאלות נפוצות. מנתח השאלות הנפוצות יכול לטפל ברוב הפורמטים של שאלות נפוצות.
ספציפי ל-Extractive QA:
- התכונה 'שאלות ותשובות עם חילוץ מידע' נמצאת כרגע בשלב ניסיוני. היא מבוססת על טכנולוגיות דומות שנבדקו ב-Google במוצרים כמו חיפוש Google ו-Assistant. נשמח לקבל ממך משוב על התפקוד של התכונה ב-Dialogflow.
- התכונה פועלת בצורה הטובה ביותר בתוכן עם טקסט צפוף. אל תשתמשו בתוכן עם הרבה פסקאות של משפט אחד.
- אין תמיכה בטבלאות וברשימות.
- מספר הפסקאות במסמך אחד לא יכול לחרוג מ-2,000.
- אם המאמר ארוך (יותר מ-1,000 מילים), כדאי לנסות לפצל אותו לכמה מאמרים קצרים יותר. אם המאמר עוסק בכמה בעיות, אפשר לפצל אותו למאמרים קצרים יותר שעוסקים בבעיות הספציפיות. אם המאמר עוסק רק בבעיה אחת, צריך להתמקד בתיאור הבעיה ולתת פתרון קצר.
- מומלץ לספק רק את תוכן הליבה של מאמר (תיאור הבעיה והפתרון). תוכן נוסף כמו שם המחבר, היסטוריית השינויים, קישורים קשורים ומודעות לא חשוב.
- כדאי לכלול תיאור של הבעיות שהמאמר יכול לעזור לפתור, ו/או דוגמאות לשאילתות שהמאמר יכול לענות עליהן.
שימוש ב-Cloud Storage
אם התוכן שלכם לא גלוי לכולם, האפשרות המומלצת היא לשמור אותו ב-Cloud Storage. כשיוצרים מסמכי ידע, מציינים את כתובות ה-URL של האובייקטים ב-Cloud Storage.
יצירת קטגוריות ואובייקטים ב-Cloud Storage
כשיוצרים את הקטגוריה של Cloud Storage:
- מוודאים שבחרתם את פרויקט GCP שבו אתם משתמשים ב-Dialogflow.
- מוודאים שלחשבון המשתמש או לחשבון השירות שבהם אתם משתמשים בדרך כלל כדי לגשת ל-Dialogflow API יש הרשאות קריאה לאובייקטים של הדלי.
- שימוש בסוג האחסון הרגיל.
- מגדירים את מיקום הקטגוריה למיקום הקרוב ביותר למיקום שלכם.
תצטרכו את מזהה המיקום (לדוגמה,
us-west1) לחלק מהקריאות ל-API, לכן חשוב לשים לב לבחירה שלכם.
פועלים לפי ההוראות שבמדריך למתחילים בנושא Cloud Storage כדי ליצור קטגוריה ולהעלות קבצים.
העברת אובייקט מ-Cloud Storage למסמך במאגר מידע
כדי לספק את התוכן:
- יוצרים מאגר ידע כפי שמתואר למעלה.
- יוצרים מסמך ידע כמו שמתואר למעלה.
כשקוראים ל-method
createבסוגDocument, צריך להגדיר את השדהcontentUriלכתובת ה-URL של המסמך ב-Cloud Storage. הפורמט של כתובת ה-URL הזו הואgs://bucket-name/object-name.