בדף הזה מוסבר איך ליצור אפליקציית Google Chat כתוסף ל-Google Workspace שמשתמש ב-Dialogflow ES כדי להבין שפה טבעית ולהגיב לה. אפשר גם להשתמש ב-Dialogflow CX, שמשולב ישירות עם Google Chat, כדי ליצור אפליקציית Google Chat של Dialogflow CX. לשם כך, צריך לפעול לפי ההוראות במדריך 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.
- לוחצים על יצירת סוכן.
- נותנים לו שם, בוחרים שפת ברירת מחדל ואזור זמן.
- משייכים אותו לפרויקט ב-Cloud.
- לוחצים על יצירה.
- יוצרים את הכוונות והישויות לפי הצורך לזרימת השיחה באפליקציית Chat. אפשר להתחיל עם כוונת שיחה.
- רושמים את מזהה הפרויקט.
מדריך מפורט זמין במאמר יצירת סוכן.
יצירת אפליקציה ל-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 שציינתם כשנוספתם כבודקים מהימנים.
- לוחצים על צ'אט חדש.
- בשדה הוספת אדם אחד או יותר, מקלידים את השם של אפליקציית Chat.
בוחרים את אפליקציית Chat מתוך התוצאות. ייפתח צ'אט ישיר.
בצ'אט הישיר החדש עם האפליקציה, כותבים
Helloולוחצים עלenter.אפליקציית הצ'אט של Dialogflow מגיבה בהודעת פתיחה.
תשובות בהודעת טקסט
תשובות טקסט נשלחות ל-Google Chat כהודעות טקסט. בעזרת העיצוב הזה אפשר להדגיש טקסט או להטות אותו על ידי הוספת סימנים מסוימים (Markdown Light) מסביב לטקסט.
התגובה בהודעת הטקסט נראית בדיוק כמו התגובה הטקסטואלית שמוגדרת כברירת מחדל במסוף Dialogflow. עם זאת, התשובה הגולמית של ה-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 (מטען ייעודי (payload) בהתאמה אישית ב-Google Chat) אפשר ליצור כרטיסים מתקדמים יותר. כרטיס אחד יכול להכיל קטע אחד או כמה קטעים. לכל קטע יכולה להיות כותרת. כדי לראות כמה מהשילובים שאפשר ליצור, אפשר לעיין במדריך העזר בנושא הרחבת כרטיסי Chat באמצעות תוספים ל-Google Workspace. עם זאת, אם משתמשים במטענים ייעודיים (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 Workspace עם Dialogflow, יש מגבלות ושיקולים לגבי
- אובייקטים של אירועים ב-Chat
- אירועים בדף הבית של האפליקציה: עדיין אין תמיכה באירועים מסוג
APP_HOME. - Dialogflow Query Input: הטקסט שנשלח כקלט לשאילתה לסוכן 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 של אירוע האינטראקציה בצ'אט, הוא יכול לעשות זאת באמצעות webhook של Dialogflow כדי לבדוק את המטען הייעודי (payload) בפרמטר השאילתה.
- כדי להציג תיבת דו-שיח מסוכן Dialogflow, צריך להשיב עם מטען ייעודי (payload) יחיד של JSON בהתאמה אישית שמכיל אובייקט
RenderActionsעם הניווטpushCard. - כדי לעבד נתונים שמוזנים מכרטיסים, אפשר להשתמש בwebhook של Dialogflow ולהגיב באמצעות מטען ייעודי (payload) יחיד של JSON מותאם אישית שמכיל את הפעולה המתאימה.
create במשאב spaces.messages ב-Chat API פעם אחת לכל הודעה.פתרון בעיות
כדי לנפות באגים באפליקציית Chat, כדאי להתחיל בבדיקת יומני השגיאות. האפליקציה הזו משתמשת ב-Dialogflow, ולכן יש לכם כמה משאבים לרישום ביומן ולפתרון בעיות:
יומנים של תוספים ל-Google Workspace: יומני שאילתות שמכילים מידע מפורט על ההתנהגות של התוסף, כולל האינטראקציות שלו עם Chat. פרטים נוספים זמינים במאמר בנושא יומני שאילתות לתוספים ל-Google Workspace.
שגיאות באפליקציית Google Chat: לפתרון בעיות ושגיאות כלליות באפליקציית Chat, אפשר לעיין במאמר פתרון בעיות ושגיאות באפליקציית Chat.
היסטוריית השיחות ב-Dialogflow ES: היסטוריה | Dialogflow ES
פתרון בעיות כללי ב-Dialogflow: פתרון בעיות | Dialogflow
הסרת המשאבים
כדי להימנע מחיובים בחשבון על המשאבים שבהם השתמשתם במדריך הזה, מומלץ למחוק את פרויקט Cloud.
- במסוף Google API, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
נושאים קשורים
- Dialogflow CX היא דרך נוספת להשתמש ב-Dialogflow עם אפליקציית צ'אט.