בדף הזה מוסבר איך ליצור אפליקציית Chat ל-Google Chat שמשתמשת ב-Dialogflow ES כדי להבין שפה טבעית ולהגיב לה. אפשר גם להשתמש ב-Dialogflow CX, שיש לו שילוב ישיר עם Google Chat, כדי ליצור אפליקציית Dialogflow CX ל-Google Chat. לשם כך, אפשר להיעזר במדריך Dialogflow CX ל-Google Chat.
מטרות
- מגדירים את הסביבה.
- יוצרים ופורסים סוכן Dialogflow ES.
- יצירה ופריסה של אפליקציה ל-Chat שמבוססת על סוכן Dialogflow ES.
- בודקים את אפליקציית Chat.
דרישות מוקדמות
- חשבון Google Workspace בתוכנית Business או Enterprise עם גישה ל-Google Chat.
- פרויקט ב-Google Cloud שהחיוב בו מופעל. כדי לבדוק אם החיוב מופעל בפרויקט קיים, אפשר לעיין במאמר אימות סטטוס החיוב של הפרויקטים. כדי ליצור פרויקט ולהגדיר חיוב, אפשר לעיין במאמר בנושא יצירת פרויקט ב-Google Cloud.
ארכיטקטורה
התרשים הבא מציג את הארכיטקטורה של אפליקציית צ'אט שנבנתה באמצעות Dialogflow:
בתרשים שלמעלה, משתמש שמקיים אינטראקציה עם אפליקציית צ'אט של Dialogflow, נהנה מזרימת המידע הבאה:
- משתמש שולח הודעה באפליקציית Chat, בצ'אט ישיר או במרחב ב-Chat.
- נציג וירטואלי של Dialogflow, שנמצא ב- , מקבל את ההודעה ומעבד אותה כדי ליצור תשובה.
- אפשר גם להשתמש בווּבּהוּק של Dialogflow כדי שהסוכן של Dialogflow יוכל ליצור אינטראקציה עם שירותים חיצוניים של צד שלישי, כמו מערכת לניהול פרויקטים או כלי לניהול כרטיסים.
- סוכן Dialogflow שולח תשובה בחזרה לשירות של אפליקציית Chat ב-Chat.
- התשובה נשלחת למרחב ב-Chat.
הגדרת הסביבה
לפני שאתם משתמשים בממשקי Google API, אתם צריכים להפעיל אותם בפרויקט ב-Google Cloud. בכל פרויקט אפשר להפעיל ממשק API אחד או יותר.ב-Google API Console, מפעילים את Google Chat API ואת Dialogflow API.
מוודאים שאתם מפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud, ואז לוחצים על הבא.
מוודאים שמפעילים את ממשקי ה-API הנכונים ולוחצים על הפעלה.
יצירת נציג Dialogflow ES
אם אין לכם סוכן קיים ב-Dialogflow ES:
- עוברים אל מסוף Dialogflow ES.
- לוחצים על יצירת סוכן.
- נותנים לו שם, בוחרים שפת ברירת מחדל ואזור זמן.
- משייכים אותו לפרויקט בענן.
- לוחצים על יצירה.
- יוצרים את הכוונות והישויות לפי הצורך לזרימת השיחה באפליקציית Chat. אפשר להתחיל עם כוונת ברכה.
- רושמים את מזהה הפרויקט.
מדריך מפורט זמין במאמר יצירת סוכן.
יצירת אפליקציית צ'אט וקישור שלה לסוכן Dialogflow
אחרי שיוצרים סוכן Dialogflow ES, פועלים לפי השלבים הבאים כדי להפוך אותו לאפליקציית צ'אט:
ב-Google API Console, עוברים אל Google Chat API. מחפשים את Google Chat API ולוחצים על Google Chat API ואז על ניהול.
לוחצים על Configuration (הגדרה) ומגדירים את אפליקציית Chat:
- בשדה App name, מזינים
Dialogflow App. - בקטע כתובת ה-URL של האווטאר, מזינים את הערך
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - בשדה תיאור, מזינים
Responds to real human conversation. - בקטע פונקציונליות, בוחרים באפשרות הצטרפות למרחבים ולשיחות קבוצתיות.
- בקטע הגדרות חיבור, בוחרים באפשרות Dialogflow.
- בקטע הגדרות Dialogflow, בוחרים באפשרות Dialogflow ES.
- האפליקציה הזו של Chat תהיה זמינה לאנשים ולקבוצות ספציפיים בדומיין שלכם, ואז מזינים את כתובת האימייל שלכם.
- בקטע יומנים, בוחרים באפשרות רישום שגיאות ביומן.
- בשדה App name, מזינים
לוחצים על שמירה.
אפליקציית Chat מוכנה לקבל הודעות ב-Chat ולענות עליהן.
בדיקת אפליקציית Chat
בודקים את אפליקציית הצ'אט של Dialogflow ES על ידי שליחת הודעה אליה ב-Google Chat.
פותחים את Google Chat באמצעות חשבון Google Workspace שציינתם כשנרשמתם כבודקים מהימנים.
- לוחצים על צ'אט חדש.
- בשדה Add 1 or more people (הוספת אדם אחד או יותר), מקלידים את השם של אפליקציית Chat.
בוחרים את אפליקציית Chat מתוך התוצאות. ייפתח צ'אט ישיר.
בצ'אט הישיר החדש עם האפליקציה, כותבים
Helloולוחצים עלenter.אפליקציית הצ'אט של Dialogflow מגיבה בהודעת פתיחה.
תשובות בהודעת טקסט
תשובות טקסט נשלחות ל-Google Chat כהודעות טקסט. בעזרת העיצוב הזה אפשר להדגיש טקסט או להטות אותו על ידי הוספת סימנים מסוימים (בפורמט Markdown Light) מסביב לטקסט.
התגובה בהודעת SMS נראית בדיוק כמו התגובה הטקסטואלית שמוגדרת כברירת מחדל ב-Dialogflow Console. עם זאת, התשובה הגולמית של ה-API תיראה קצת שונה. היא גם מגדירה את תצורת הפלטפורמה ל-GOOGLE_HANGOUTS, וזה יכול להיות שימושי כשיוצרים סוכנים לכמה שילובים.
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
כרטיסים
תשובות לכרטיסים נשלחות ל-Google Chat בתור הודעות כרטיס.
תמונות
תשובות עם תמונות נשלחות ל-Google Chat בתור ווידג'טים של תמונות ב-Google Chat.
מטען ייעודי (payload) בהתאמה אישית
כדי לשלוח סוגים אחרים של הודעות צ'אט ב-Google Chat, אפשר להשתמש בpayload בהתאמה אישית.
Google Chat Custom Payload מאפשר ליצור כרטיסים מתקדמים יותר. כרטיס אחד יכול לכלול קטע אחד או כמה קטעים. לכל סעיף יכולה להיות כותרת. במדריך להודעות בכרטיסים אפשר לראות כמה מהשילובים שאפשר ליצור באמצעות התכונה הזו. עם זאת, אם משתמשים במטענים ייעודיים (payloads) מותאמים אישית, צריך לספק את פורמט ה-JSON.
דוגמה למטען ייעודי (payload) ליצירת הודעה עם כרטיס:
{ "hangouts": { "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "cardsV2": [{ "cardId": "pizza", "card": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "textParagraph": { "text": " Your pizza is here!" }}]}] } }]}} }}}}
מגבלות ושיקולים
- כשמשתמשים באפליקציות של Google Chat עם Dialogflow, יש כמה מגבלות ושיקולים שצריך לקחת בחשבון לגבי אובייקטים של אירועים ב-Chat:
- אירועים בדף הבית של האפליקציה: עדיין אין תמיכה באירועים מסוג
APP_HOME. - קלט שאילתה ב-Dialogflow: הטקסט שנשלח כקלט שאילתה לסוכן Dialogflow תלוי בסוג האירוע:
-
MESSAGE: הערך של השדהargumentTextמהודעת הצ'אט. -
APP_COMMAND: המחרוזת"APP_COMMAND_PAYLOAD". -
ADDED_TO_SPACE: נשלח אירוע ברירת מחדל של קבלת פנים. -
REMOVED_FROM_SPACE: המחרוזת"REMOVED_FROM_SPACE_PAYLOAD". -
CARD_CLICKED: המחרוזת"BUTTON_CLICKED_PAYLOAD". -
WIDGET_UPDATED: המחרוזת"WIDGET_UPDATED_PAYLOAD"(משמשת להשלמה אוטומטית).
-
- מטען ייעודי (payload) מלא של האירוע: מטען ייעודי (payload) מלא של אירוע האינטראקציה בצ'אט בפורמט JSON נשלח אל Dialogflow בשדה
WebhookRequest.payload. אפשר לגשת לזה ב-webhook של Dialogflow. מידע נוסף מופיע במאמרי העזרה בנושא בקשות webhook ב-Dialogflow ES.
- אירועים בדף הבית של האפליקציה: עדיין אין תמיכה באירועים מסוג
- שיקולים לגבי תגובה לפקודות וקבלת נתונים מכרטיסים או מתיבות דו-שיח:
- אם סוכן Dialogflow צריך לעבד את מטען ה-JSON של אירוע האינטראקציה בצ'אט, הוא יכול לעשות זאת באמצעות Dialogflow webhook כדי לבדוק את המטען הייעודי (payload) בפרמטרים של שאילתה.
- כדי להציג תיבת דו-שיח מסוכן Dialogflow, צריך להשיב עם מטען ייעודי (payload) יחיד של JSON בהתאמה אישית שמכיל אובייקט
RenderActionsעם הניווטpushCard. - כדי לעבד נתונים שהוזנו מכרטיסים, אפשר להשתמש בwebhook של Dialogflow ולהגיב באמצעות מטען ייעודי (payload) יחיד של JSON בהתאמה אישית שמכיל את הפעולה המתאימה.
- אין תמיכה בתצוגה מקדימה של קישורים.
- אם סוכן Dialogflow משיב בהודעה אחת בלבד, ההודעה נשלחת ל-Google Chat באופן סינכרוני. אם נציג Dialogflow מגיב עם כמה הודעות, כל ההודעות נשלחות ל-Chat באופן אסינכרוני על ידי קריאה לשיטה
createבמשאבspaces.messagesב-Chat API פעם אחת לכל הודעה. - כשמשתמשים בשילוב של Dialogflow ES עם Chat, הסוכן של Dialogflow ואפליקציית Chat צריכים להיות מוגדרים באותו פרויקט בענן של Google.
פתרון בעיות
כדי לנפות באגים באפליקציית Chat, כדאי להתחיל בבדיקת יומני השגיאות. האפליקציה הזו משתמשת ב-Dialogflow, ולכן יש לכם כמה משאבים לרישום ביומן ולפתרון בעיות:
יומני רישום של תוספים ל-Google Workspace: אפשר להריץ שאילתות ביומני הרישום כדי לקבל מידע מפורט על ההתנהגות של אפליקציית Chat, כולל האינטראקציות שלה עם Chat. פרטים נוספים זמינים במאמר בנושא יומני שאילתות לתוספים של Google Workspace.
שגיאות באפליקציית Google Chat: לפתרון בעיות כלליות והודעות שגיאה באפליקציית Chat, אפשר לעיין במאמר פתרון בעיות באפליקציית Chat.
היסטוריית השיחות ב-Dialogflow ES: היסטוריה | Dialogflow ES
פתרון בעיות כללי ב-Dialogflow: פתרון בעיות | Dialogflow
הסרת המשאבים
כדי להימנע מחיובים בחשבון על המשאבים שבהם השתמשתם במדריך הזה, מומלץ למחוק את פרויקט בענן.
- במסוף Google API, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על מחיקה .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
נושאים קשורים
- Dialogflow CX היא דרך נוספת להשתמש ב-Dialogflow עם אפליקציית צ'אט.