בדף הזה נסביר איך ליצור אפליקציה ל-Google Chat שיכולה להבין את השפה הטבעית ולהגיב באמצעותה באמצעות Dialogflow. במדריך הזה השתמשנו ב-Dialogflow CX, עם שילוב ישיר עם Google Chat, שזמין בתצוגה המקדימה למפתחים. אפשר גם להשתמש ב-Dialogflow ES כדי ליצור אפליקציית Google Chat ב-Google Chat. לשם כך, פועלים לפי ההוראות במדריך Dialogflow ES Google Chat.
לדוגמה, כדאי לשקול אפליקציה ל-Chat שעוזרת לאנשים לשכור רכב. משתמש יכול לכתוב, "אני רוצה לשכור רכב". אפליקציית Chat עשויה לענות בשאלה כמו "איפה תרצו לאסוף את הרכב?", שמתחילה שיחה דמוית אדם עם המשתמש, שבה אפליקציית Chat מבינה דיבור אנושי ומגיבה בו בזמן הזמנת הרכב.
זו רק דוגמה אחת. האפליקציות של Dialogflow Chat שימושיות בכל סוגי האינטראקציות. אם נדרש דיבור אנושי טבעי, צריך להשתמש באפליקציה של Dialogflow Chat. הנציגים המוכנים מראש יעזרו לכם להתחיל, במהירות, ויוצגו לכם מה Dialogflow הוא יכול לעשות. למשל:
- הזמנת טיסות
- קביעת תורים לרופאים
- הזמנת משלוחי אוכל
- עונים על שאלות לגבי קטלוג מוצרים קמעונאיים, למשל אם הפריטים זמינים בצבעים אחרים
-
איור 2. בדיקת הסוכן ב-Dialogflow CX כדי לוודא שהלוגיקה וההגדרות של הסוכן פועלות כמצופה. בתרשים מוצגת קבוצה רציפה של דפים בנושא מסוים שקשורים לשלבים ספציפיים בשיחה, כמו הגדרת מיקום איסוף והחזרה עבור רכב ששכרתם, ומוגדרת הלוגיקה שמחברת ביניהם. השיחה נבדקת בסימולטור. -
איור 3. הגדרה של אפליקציה ל-Chat לעיבוד תשובות באמצעות סוכן Dialogflow CX בדף ההגדרה של Chat API במסוף Google Cloud. -
איור 4. שיחה לגבי הזמנת רכב שכור עם אפליקציית Dialogflow Chat ב-Google Chat.
מטרות
- הגדרת הסביבה.
- יצירה ופריסה של סוכן Dialogflow CX
- יצירה ופריסה של אפליקציית Chat שמופעלת על ידי סוכן Dialogflow CX.
- בדיקת האפליקציה של Chat.
דרישות מוקדמות
- חשבון Google Workspace עם גישה ל-Google Chat.
- פרויקט ב-Google Cloud.
- חשוב לוודא שהפעלת את החיוב בפרויקט שלך ב-Cloud. איך מאמתים את סטטוס החיוב של הפרויקטים?
ארכיטקטורה
בתרשים הבא מוצגת הארכיטקטורה של אפליקציית Chat שנוצרה באמצעות Dialogflow:
בתרשים הקודם, משתמש שמקיים אינטראקציה עם אפליקציית Dialogflow מציג את המידע הבא:
- משתמש שולח הודעה ב-Chat לאפליקציית Chat, בצ'אט אישי או במרחב משותף ב-Chat.
- סוכן וירטואלי של Dialogflow, שנמצא ב-Google Cloud, מקבל ומעבד את ההודעה כדי ליצור תשובה.
- אופציונלי: באמצעות Dialogflow webhook, הנציג של Dialogflow יכול להשתמש בשירותים חיצוניים של צד שלישי, כמו מערכת לניהול פרויקטים או כלי למכירת כרטיסים.
- הנציג של Dialogflow שולח תשובה בחזרה לשירות של אפליקציית Chat ב-Chat.
- התשובה תישלח למרחב המשותף ב-Chat.
הגדרת הסביבה
כדי להשתמש ב-Google APIs, צריך להפעיל אותם בפרויקט ב-Google Cloud. אפשר להפעיל ממשק API אחד או יותר בפרויקט אחד ב-Google Cloud.במסוף Google Cloud, מפעילים את Google Chat API ואת Dialogflow API.
מוודאים שאתם מפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud, ולוחצים על Next.
מוודאים שאתם מפעילים את ממשקי ה-API הנכונים ולוחצים על Enable (הפעלה).
יצירת נציג של Dialogflow CX
סוכן של Dialogflow CX הוא סוכן וירטואלי שמטפל בשיחות מקבילות עם משתמשי הקצה. זהו מודול להבנת שפה טבעית (NLP) שמבין את הניואנסים של השפה האנושית. באמצעות Dialogflow, אתם יכולים לתרגם טקסט של משתמשי קצה במהלך שיחה לנתונים מובְנים שהאפליקציות והשירותים שלכם יכולים להבין. אתם מתכננים ויוצרים סוכן של Dialogflow כדי לטפל בסוגי השיחות הנדרשות למערכת שלכם.
הנציג של Dialogflow הוא כמו נציג אנושי במוקד טלפוני. אפשר לאמן את שניהם להתמודד עם תרחישי שיחות צפויים, והאימון לא צריך להיות מפורש מדי.
כך יוצרים סוכן Dialogflow CX:
במסוף Dialogflow CX, פותחים את מסוף CX של Dialogflow. לוחצים על תפריט > Dialogflow CX.
בוחרים פרויקט ב-Google Cloud. כדי למצוא את הפרויקט, יכול להיות שתצטרכו ללחוץ על All ולחפש אותו.
עכשיו אפשר לבחור נציג שהוכן מראש או ליצור נציג משלכם. אם אתם מעדיפים לקרוא לעומק את ההתאמה האישית של הנציגים, תוכלו לבחור אחד מהנציגים מוכנים מראש, שיעזור גם להבין מה הם יכולים לעשות.
כדי לבחור נציג שהוכן מראש:
- לוחצים על שימוש בנציגים מוכנים מראש.
צריך לבחור נציג שהוכן מראש. למדריך זה, בוחרים באפשרות נסיעות: השכרת רכב.
הנציגים מדורגים כמתחילים, ברמת ביניים או ברמה מתקדמת על סמך מספר התכונות שבהן הנציג משתמש ועל סמך השילוב המתוחכם של לוגיקת השיחה. כדי לבחור סוכן ביניים או סוכן מתקדם, יכול להיות שתצטרכו לבצע התאמות אישיות והגדרות ספציפיות לסוכן, כולל הפעלת תכונות וממשקי API במסוף Google Cloud.
לוחצים על ייבוא כנציג.
כדי ליצור נציג משלכם:
- לוחצים על יצירת נציג.
- בוחרים באפשרות Auto-generate כדי ליצור סוכן של מאגר נתונים או באפשרות Build your own כדי ליצור סוכנים מסוגים אחרים.
להדרכה מפורטת בנושא תהליך בניית הנציגים, ראו יצירת נציג CX ב-Dialogflow.
קביעת הגדרות בסיסיות של סוכן:
- בשדה Display name, הזן את השם המוצג.
- בוחרים את המיקום המועדף. אם רוצים לשנות את הגדרות המיקום המתקדמות, לוחצים על Edit.
- בוחרים את אזור הזמן המועדף.
- יש לבחור את שפת ברירת המחדל של הנציג. אי אפשר לשנות את שפת ברירת המחדל של נציג אחרי שיוצרים אותו.
לוחצים על יצירה. יצירת הנציג מתחילה ב-Dialogflow CX, ואז מוצג תהליך ההתחלה שמוגדר כברירת מחדל לנציג.
אפשר להתאים אישית את הנציג. להדרכה מפורטת בנושא תהליך ההתאמה האישית של הסוכן, ראו יצירת סוכן CX של Dialogflow.
מומלץ לבדוק את הנציג:
- לוחצים על בדיקת הסוכן.
- בוחרים באפשרות בדיקת סוכן בסביבה.
- בסביבה, בוחרים באפשרות טיוטה.
- ב'זרימת', בחר באפשרות ברירת מחדל של זרימת התחלה.
- בדף, בוחרים באפשרות דף פתיחה.
- בשורת הכתיבה של דבר אל נציג, מקלידים
Hello
ומקישים על Enter. הנציג מציג את עצמו בתשובה. - כדי להשלים את הבדיקה, אפשר לקיים שיחת בדיקה לדוגמה.
נציג ה-CX של Dialogflow נוצר. חוזרים למסוף Dialogflow CX. לוחצים על תפריט > Dialogflow CX.
בקטע Agents, לוחצים על > Copy name. כדאי לשמור את השם הזה כפי שאתם משתמשים בו כשמגדירים את אפליקציית Chat.
אפשר ליצור אפליקציה ל-Chat ולחבר אותה לנציג של Dialogflow
אחרי שיוצרים נציג ב-Dialogflow CX, צריך לבצע את הפעולות הבאות כדי להפוך אותו לאפליקציית Chat:
נכנסים ל-Google Chat API במסוף Google Cloud. מחפשים את Google Chat API, לוחצים על Google Chat API ואז לוחצים על Manage (ניהול).
לוחצים על הגדרה ומגדירים את אפליקציית Chat:
- בקטע שם האפליקציה, מזינים
Dialogflow App
. - בקטע כתובת URL של הדמות, מזינים
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - בתיאור, מזינים
Responds to real human conversation
. - בקטע פונקציונליות, בוחרים באפשרות קבלת הודעות אישיות ובאפשרות הצטרפות למרחבים משותפים ולשיחות קבוצתיות.
- בקטע הגדרות חיבור, בוחרים באפשרות Dialogflow.
- בקטע Dialogflow settings (הגדרות של Dialogflow), בוחרים באפשרות Dialogflow CX.
- בשדה Agent or Environment resource name, מדביקים את השם של סוכן Dialogflow CX שהעתקתם בסוף יצירת סוכן CX של Dialogflow.
- צריך להגדיר את אפליקציית Chat כזמינה לקבוצות ולאנשים ספציפיים בדומיין, ולהזין את כתובת האימייל שלכם.
- בקטע Logs (יומנים), בוחרים באפשרות Log errors to Logging.
- בקטע שם האפליקציה, מזינים
לוחצים על שמירה.
אפליקציית Chat מוכנה לקבל הודעות ב-Chat ולהשיב להן.
בדיקת האפליקציה של Chat
אפשר לבדוק את אפליקציית Dialogflow CX Chat באמצעות שליחת הודעות ב-Google Chat.
פותחים את Google Chat באמצעות חשבון Google Workspace שסיפקתם כשהוספתם את עצמכם כבודקים נאמנים.
- לוחצים על צ'אט חדש.
- בשדה אפשר לצרף אנשים נוספים, כותבים את השם של אפליקציית Chat.
בוחרים את אפליקציית Chat מתוך תוצאות החיפוש. תיפתח צ'אט אישי.
בצ'אט האישי החדש עם האפליקציה, כותבים
Hello
ומקישים עלenter
.אפליקציית Dialogflow Chat מגיבה בכך שמציגה את עצמה.
- כדי להשלים את הבדיקה, תוכלו לקיים שיחת בדיקה לדוגמה.
שיחת בדיקה לדוגמה
כדי לבדוק את אפליקציית Dialogflow CX Chat במסוף של Dialogflow CX או ב-Google Chat, אתם יכולים לערוך את השיחה הבאה. ההסבר עוזר להבין איך הנציג של Dialogflow CX מפרש את השפה הטבעית של המשתמש ויוצר תגובה טבעית משלו בכל שלב בשיחה. השיחה לדוגמה מבוססת על הנציג/ה שיצרנו מראש ונקרא נסיעות: השכרת רכב.
תיבת דו-שיח | הסבר |
---|---|
משתמש קצה: שלום סוכן: שלום! אני סוכנות השכרת הרכב הווירטואלית. אוכל לעזור לך להתחיל הזמנה חדשה של השכרת רכב. איך אוכל לעזור לך היום? |
|
משתמש קצה: אני רוצה לשכור רכב. סוכן: איפה לאסוף את הרכב? |
|
משתמש קצה: תל אביב סוכן: בסדר, האיסוף יהיה בלאס וגאס. סוכן: האם מיקום ההחזרה שונה מנקודת האיסוף? |
|
משתמש קצה: כן. אני אוריד את הרכב בתל אביב. סוכן: בסדר, ההחזרה תהיה בחיפה. נציג: באילו תאריך ושעה אתם רוצים לאסוף את הרכב? |
|
משתמש קצה: אני רוצה לאסוף את הרכב ב-5 במרץ בצהריים. נציג: באילו תאריך ושעה להחזיר את הרכב? |
|
משתמש קצה: 15 במרץ בצהריים. סוכן: כדי לאשר: הרכב יאסוף את הרכב בלאס וגאס 2024-03-05 12:00:00 ויוריד אותו בלוס אנג'לס 2024-03-15 12:00:00 נשמע נכון? |
|
משתמש קצה: כן, תודה. סוכן: מעולה! עכשיו נבחר רכב. סוכנות: רוצה רכב בסיסי או יוקרתי? |
|
משתמש קצה: רק כלכלה. סוכן: היית רוצה את מצילת המצלה או את טנדר המצילות? |
|
משתמש קצה: משאית מצילות. סוכן: עלות של 50.33 $ליום עבור משאית המצלה. הוא מתאים ל-4 אנשים ויש בו רדיו AM/FM. רוצה להמשיך לתשלום? משתמש קצה: כן, בבקשה. |
|
סוכן: באיזה סוג כרטיס תשתמשו? משתמש קצה: Altostrat סוכן: יש להזין את מספר הכרטיס. משתמש קצה: 1234 1234 1234 1234 סוכן: מה השם שמופיע בכרטיס? משתמש קצה: עופרי סוכן: מה הכתובת לחיוב? משתמש קצה: 1800 Amphibious Blvd. Mountain View, CA סוכן: מה המיקוד לחיוב? משתמש קצה: 94045 סוכן: בוחרים את Cymbal Car בלאס וגאס ב-2024-03-05 12:00:00, ואז מחזירים אותה ב-2024-03-15 12:00:00. הסכום הכולל של הנסיעה הזו יהיה 175.38$. סוכן: תודה ששכרת איתנו, שיהיה לך יום מצוין! |
|
שליחת הודעות לגבי כרטיסים מ-Dialogflow
Dialogflow יכול להגיב באמצעות הודעות טקסט או כרטיס. על מנת להגיב באמצעות הודעת כרטיס, עליכם לציין אותה כמטען ייעודי (payload) בהתאמה אישית במילוי.
קובץ ה-JSON הבא מראה איך לשלוח הודעת כרטיס בתור מטען ייעודי (payload) בהתאמה אישית במילוי הבקשה:
json
{
'cardsV2': [{
'cardId': 'createCardMessage',
'card': {
'header': {
'title': 'A card message!',
'subtitle': 'Sent from Dialogflow',
'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
'imageType': 'CIRCLE'
},
'sections': [
{
'widgets': [
{
'buttonList': {
'buttons': [
{
'text': 'Read the docs!',
'onClick': {
'openLink': {
'url': 'https://developers.google.com/workspace/chat'
}
}
}
]
}
}
]
}
]
}
}]
}
מגבלות ושיקולים
- התמיכה באירועי אינטראקציה בצ'אט מוגבלת, ויש שיקולים מסוימים שכדאי להביא בחשבון:
- אפשר להשתמש בסוגים הבאים של אירועי אינטראקציה:
MESSAGE
ADDED_TO_SPACE
- קלט השאילתה שנשלח לסוכן Dialogflow תואם לערך של השדה
argumentText
בהודעה ב-Chat. אם ההודעה כוללת פקודה לוכסן, המערכת תשתמש בערך של השדהtext
במקום זאת. - המטען הייעודי (payload) המלא ב-JSON של כל אירוע אינטראקציה ב-Chat נשלח ל-Dialogflow כמטען ייעודי (payload) בהתאמה אישית בפרמטר של השאילתה, ואפשר לגשת אליו באמצעות Dialogflow webhook באמצעות שאילתות על הערך בשדה
WebhookRequest.payload
.
- אפשר להשתמש בסוגים הבאים של אירועי אינטראקציה:
- התמיכה בפקודות Slash מוגבלת:
- באפליקציות של Dialogflow Chat אין תמיכה בפקודות דרך שורת הפקודות שפותחים תיבות דו-שיח.
- כשאפליקציות צ'אט של Dialogflow מקבלות הודעה עם פקודת לוכסן, קלט השאילתה מכיל רק את הערך מהשדה
text
. השדהtext
מתחיל בשם של פקודת הלוכסן (לדוגמה,/command
), שבו אפשר להשתמש כדי להגדיר את הכוונה של סוכן Dialogflow לזהות פקודה של שורת הפקודות. - אם הסוכן Dialogflow צריך לעבד את המטען הייעודי (payload) של JSON של אירוע אינטראקציה ב-Chat של פקודת ה-Chat,, אפשר לעשות זאת באמצעות תגובה לפעולה מאתר אחר של Dialogflow כדי לבדוק את המטען הייעודי (payload) המותאם אישית בפרמטר של השאילתה.
- תצוגות מקדימות של קישורים לא נתמכות.
- אם הנציג של Dialogflow משיב עם הודעה אחת בלבד, ההודעה נשלחת ל-Google Chat באופן סינכרוני. אם הנציג של Dialogflow משיב עם כמה הודעות, כל ההודעות נשלחות ל-Chat באופן אסינכרוני באמצעות קריאה ל-method
create
במשאבspaces.messages
ב-Chat API פעם אחת לכל הודעה.
פתרון בעיות
כשמוצגת הודעת שגיאה באפליקציה או בכרטיס של Google Chat, מוצגת בממשק של Chat ההודעה "משהו השתבש" או "לא ניתן לעבד את הבקשה שלך". לפעמים לא מוצגת הודעת שגיאה בממשק המשתמש של Chat, אבל קיבלתי תוצאה לא צפויה באפליקציה או בכרטיס של Chat. למשל, יכול להיות שלא תופיע הודעה על כרטיס.
יכול להיות שהודעת השגיאה לא תוצג בממשק המשתמש של Chat, אבל יש הודעות שגיאה תיאוריות ונתוני יומן שיכולים לעזור לכם לתקן שגיאות כשמפעילים רישום שגיאות באפליקציות של Chat. לקבלת עזרה בהצגה, בניפוי באגים ובתיקון שגיאות, אפשר להיעזר במאמר פתרון בעיות ותיקון שגיאות ב-Google Chat.
הסרת המשאבים
על מנת לא לצבור חיובים לחשבון Google Cloud עבור המשאבים שבהם השתמשתם במדריך הזה, מומלץ למחוק את הפרויקט ב-Cloud.
- במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM ואדמין > ניהול משאבים.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
נושאים קשורים
- באמצעות Dialogflow CX, הגישה לעיצוב של סוכני Dialogflow היא מכונת מצב, שמעניקה שליטה ברורה ומפורשת בשיחה, חוויית משתמש טובה יותר וזרימת עבודה טובה יותר לפיתוח. כשיוצרים אפליקציית Dialogflow ל-Chat, מומלץ להשתמש ב-Dialogflow CX.
- למידע נוסף על יצירת סוכנים והגדרתם, תוכלו לקרוא את המאמר סוכני CX של Dialogflow.
- להדרכה מפורטת שמסבירה איך ליצור ולהגדיר סוכנים, ראו את המאמר יצירת סוכן Dialogflow CX.
- אפשר להשתמש ב-Dialogflow ES גם ב-Dialogflow באפליקציית Chat.