בדף הזה מוסבר איך לפתח אפליקציית Google Chat שיכולה גם להבין וגם להשיב בשפה טבעית באמצעות Dialogflow. המדריך הזה משתמש ב-Dialogflow CX, שכולל שילוב ישיר עם Google Chat. אפשר גם להשתמש ב-Dialogflow ES כדי ליצור אפליקציית Google Chat באמצעות Dialogflow ES 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, בצ'אט אישי או במרחב ב-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 הנכונים ולוחצים על הפעלה.
יצירת נציג של Dialogflow CX
סוכן Dialogflow CX הוא סוכן וירטואלי שמטפל בשיחות במקביל עם משתמשי הקצה שלכם. זהו מודול להבנת שפה טבעית (NLP) שמבין את הניואנסים של השפה האנושית. Dialogflow מתרגמת טקסט של משתמשי קצה במהלך שיחה לנתונים מובְנים שהאפליקציות והשירותים שלכם יכולים להבין. אתם מתכננים ובונים נציג של Dialogflow כדי לטפל בסוגי השיחות שנדרשות למערכת שלכם.
נציג של Dialogflow הוא כמו נציג אנושי של מוקד טלפוני. מאמנים את שניהם לטפל בתרחישי שיחה צפויים, וההדרכה לא צריכה להיות מפורשת מדי.
כך יוצרים נציג של Dialogflow CX:
פותחים את מסוף Dialogflow CX במסוף Dialogflow CX. לוחצים על תפריט > Dialogflow CX.
בוחרים פרויקט בענן של Google. כדי למצוא את הפרויקט, יכול להיות שתצטרכו ללחוץ על All ואז לחפש אותו.
עכשיו אתם יכולים לבחור נציג שנוצר מראש או ליצור נציג משלכם. אם אתם מעדיפים לבחון לעומק את תהליך ההתאמה האישית של הנציגים בשלב מאוחר יותר, תוכלו לבחור באחד מהנציגים המוכנים מראש. כך תוכלו גם לדעת מה הנציגים יכולים לעשות.
כדי לבחור נציג תמיכה שנוצר מראש, פועלים לפי השלבים הבאים:
- לוחצים על שימוש בנציגים שהוגדרו מראש.
צריך לבחור נציג תמיכה שנוצר מראש. במדריך הזה, בוחרים באפשרות נסיעות: השכרת רכב.
נציגי התמיכה מסווגים בתור מתחילים, בינוניים או מתקדמים על סמך מספר התכונות שהנציג משתמש בהן ובהתאם ללמידת האלגנטיות של השיחה. כדי לבחור סוכן ביניים או סוכן מתקדם, יכול להיות שיהיה צורך לבצע התאמות אישיות והגדרות ספציפיות לסוכן, כולל הפעלת תכונות וממשקי API במסוף Google Cloud.
לוחצים על ייבוא כסוכן.
כדי ליצור נציג משלכם:
- לוחצים על יצירת נציג.
- בוחרים באפשרות Auto-generate כדי ליצור סוכן מאגר נתונים, או באפשרות Build your your כדי ליצור סוגים נוספים של סוכנים.
במאמר יצירת נציג של Dialogflow CX תוכלו לקרוא הסבר מפורט על תהליך בניית הנציגים.
ההגדרות הבסיסיות של הנציג:
- בקטע Display name, מזינים שם לתצוגה.
- בוחרים את המיקום המועדף. אם רוצים לשנות הגדרות מיקום מתקדמות, לוחצים על Edit.
- בוחרים את אזור הזמן המועדף.
- צריך לבחור את שפת ברירת המחדל של הנציג. אי אפשר לשנות את שפת ברירת המחדל של הנציג אחרי היצירה.
לוחצים על יצירה. Dialogflow CX מתחיל ליצור את הנציג, ואז מציג את תהליך ההתחלה שמוגדר כברירת מחדל לנציג.
אפשר גם להתאים אישית את הנציג. במאמר יצירת סוכן של Dialogflow CX תוכלו לקרוא הסבר מפורט על תהליך ההתאמה האישית של הנציגים.
מומלץ לבדוק את הנציג:
- לוחצים על סוכן בדיקה.
- בוחרים באפשרות בדיקת סוכן בסביבה.
- בסביבה, בוחרים באפשרות טיוטה.
- בתהליך העבודה, בוחרים באפשרות תהליך ברירת המחדל להתחלת התהליך.
- בדף, בוחרים באפשרות דף הפתיחה.
- בשורת הכתיבה שיחה עם נציג, מקלידים
Hello
ומקישים על Enter. הנציג עונה ומציג את עצמו. - מבצעים את הבדיקה באמצעות שיחת הבדיקה לדוגמה.
הנציג של Dialogflow CX נוצר. חוזרים למסוף Dialogflow CX. לוחצים על תפריט > Dialogflow CX.
בקטע Agents, לוחצים על > Copy name. כדאי לשמור את השם הזה כמו שאתם משתמשים בו כשמגדירים את אפליקציית Chat.
יצירת אפליקציה של Chat וחיבור שלה לנציג של Dialogflow
אחרי שיוצרים נציג Dialogflow CX, אפשר לבצע את הפעולות הבאות כדי להפוך אותו לאפליקציית Chat:
במסוף Google Cloud, נכנסים ל-Google Chat API. מחפשים את Google Chat API, לוחצים על Google Chat API ואז על Manage.
לוחצים על הגדרות אישיות ומגדירים את אפליקציית Chat:
- בשדה App name, מזינים
Dialogflow App
. - בשדה Avatar URL, מזינים
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - בשדה Description, מזינים
Responds to real human conversation
. - בקטע Functionality, בוחרים באפשרות קבלת הודעות 1:1 ו-הצטרפות למרחבים משותפים ולשיחות קבוצתיות.
- בקטע הגדרות חיבור, בוחרים באפשרות Dialogflow.
- בקטע הגדרות של Dialogflow, בוחרים באפשרות Dialogflow CX.
- בשדה שם המשאב של הסוכן או הסביבה, מדביקים את השם של סוכן Dialogflow CX שהעתקתם בסוף יצירת סוכן Dialogflow CX.
- אפשר להשתמש באפליקציית Chat הזו לאנשים ספציפיים ולקבוצות ספציפיות בדומיין שלכם ולהזין את כתובת האימייל שלכם.
- בקטע Logs (יומנים), בוחרים באפשרות Log errors to Logging (רישום שגיאות ביומן).
- בשדה App name, מזינים
לוחצים על שמירה.
אפליקציית 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 מפרש את השפה הטבעית של המשתמש ומפיק תשובה בשפה טבעית משלו בכל שלב בשיחה. השיחה לדוגמה הזו מבוססת על הסוכן המוכנה מראש שנקרא נסיעות: השכרת רכב.
תיבת דו-שיח | הסבר |
---|---|
משתמש קצה: שלום Agent: שלום! אני הסוכנות הווירטואלית להשכרת רכב. אוכל לעזור לך להתחיל הזמנה של השכרת רכב חדשה. איך אוכל לעזור לך היום? |
|
משתמש קצה: אני רוצה לשכור רכב. נציג: איפה היית רוצה לאסוף את הרכב? |
|
משתמש קצה: תל אביב נציג: בסדר, האיסוף יהיה בתל אביב. נציג: האם נקודת האיסוף שונה ממיקום האיסוף? |
|
משתמש קצה: כן. אני אוריד את הרכב בלוס אנג'לס. נציג: בסדר, ההורדה תהיה בלוס אנג'לס. סוכן: באילו תאריך ושעה ברצונך לאסוף את הרכב? |
|
משתמש קצה: אני רוצה לאסוף את הרכב ב-5 במרץ בצהריים. סוכן: מהם התאריך והשעה שבהם תרצו להשאיר את הרכב? |
|
משתמש קצה: 15 במרץ בצהריים. סוכן: אז כדי לאשר: אתה תאסוף את הרכב בלאס וגאס 2024-03-05 12:00:00 ותעביר אותו בלוס אנג'לס 2024-03-15 12:00:00 נכון? |
|
משתמש קצה: כן, תודה. נציג: מעולה! עכשיו נבחר רכב. נציג: רוצה רכב בסיסי או יוקרתי? |
|
משתמש קצה: משלוח בסיסי, בבקשה. סוכן: מתאים לך מכונית המצילה או משאית המצילים? |
|
משתמש קצה: Cymbal Truck. סוכן: משאית Cymbal Truck עולה 50.33 $ליום. היא מתאימה ל-4 אנשים וכוללת רדיו AM/FM. רוצה להמשיך לתשלום? משתמש קצה: כן, בבקשה. |
|
סוכן: באיזה סוג כרטיס בכוונתך להשתמש? משתמש קצה: Altostrat סוכן: צריך להזין את מספר הכרטיס. משתמש קצה: 1234 1234 1234 1234 נציג: מה השם שמופיע בכרטיס? משתמש קצה: Charlie Agent: What is the billing center address? משתמש קצה: 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
CARD_CLICKED
- באירועים מסוג
MESSAGE
אוADDED_TO_SPACE
, קלט השאילתה שנשלח לסוכן של Dialogflow תואם לערך של השדהargumentText
בהודעה ב-Chat. אם ההודעה כוללת פקודה של לוכסן, נשתמש במקום זאת בערך של השדהtext
. - באירועי
CARD_CLICKED
, קלט השאילתה שנשלח לסוכן Dialogflow מופיע בפורמטCARD_CLICKED.functionName
, כאשרfunctionName
תואם לערך בשדהfunction
של אובייקט ה-Action שמצורף לרכיב הכרטיס האינטראקטיבי (כמו לחצן). - המטען הייעודי (payload) המלא של JSON עם כל אירוע של אינטראקציה ב-Chat נשלח ל-Dialogflow כמטען ייעודי (payload) מותאם אישית בפרמטר השאילתה, וניתן לגשת אליו באמצעות Dialogflow webhook
על ידי שליחת שאילתה על הערך של השדה
WebhookRequest.payload
.
- אלו הסוגים של אירועי אינטראקציה שנתמכים:
- שיקולים למענה לפקודות של לוכסנים ולקבלת נתונים מכרטיסים או מתיבות דו-שיח:
- כשהאפליקציות של Dialogflow Chat מקבלות הודעה עם פקודת קו נטוי, קלט השאילתה מכיל רק את הערך של השדה
text
. השדהtext
מתחיל בשם של פקודת הלוכסן (לדוגמה,/command
), ואפשר להשתמש בו כדי להגדיר את הכוונה של סוכן Dialogflow לזהות פקודה של קו נטוי. - אם הנציג ב-Dialogflow צריך לעבד את המטען הייעודי (payload) של אירוע אינטראקציה בצ'אט, הוא יכול לעשות זאת באמצעות Dialogflow webhook כדי לבדוק את המטען הייעודי (payload) המותאם אישית בפרמטר של השאילתה.
- כדי להציג תיבת דו-שיח מ-Dialogflow Agent, צריך להשיב עם מטען ייעודי (payload) מותאם אישית אחד של JSON שכולל הודעה שמכילה
DIALOG
תגובה של פעולה. - כדי לעבד נתונים שהוזנו מכרטיסים, הסוכן Dialogflow יכול לזהות בקשות המתחילות בטקסט
CARD_CLICKED
, ולהגיב באמצעות מטען ייעודי (payload) מותאם אישית אחד של JSON שמכיל את הפעולה המתאימה.
- כשהאפליקציות של Dialogflow Chat מקבלות הודעה עם פקודת קו נטוי, קלט השאילתה מכיל רק את הערך של השדה
- אי אפשר להשתמש בתצוגות מקדימות של קישורים.
- אם הנציג של Dialogflow ישיב עם הודעה אחת בלבד, ההודעה תישלח ל-Google Chat באופן סינכרוני. אם הנציג של Dialogflow מתייחס למספר הודעות, כל ההודעות נשלחות ל-Chat באופן אסינכרוני באמצעות קריאה ל-method
create
במשאבspaces.messages
ב-Chat API פעם אחת בכל הודעה. - כשמשתמשים בשילוב של Dialogflow CX עם Chat, צריך להגדיר את הנציג של Dialogflow ואת אפליקציית Chat באותו פרויקט ב-Google Cloud. אם אתם צריכים להגדיר את Dialogflow ואת Chat בפרויקטים שונים ב-Cloud, אתם יכולים להגדיר שרת ביניים כדי לאפשר את החיבור. למידע נוסף, תוכלו להיעזר בדוגמה הזו לשילוב של Chat ב-Dialogflow CX ב-GitHub.
פתרון בעיות
כשאפליקציית 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.
- למידע נוסף על יצירה והגדרה של סוכנים, ראו סוכני Dialogflow CX.
- כדי לקבל הדרכה מפורטת שמסבירה איך ליצור ולהגדיר סוכנים, ראו יצירת סוכן Dialogflow CX.
- בניית אפליקציות ל-Google Chat בעזרת Gemini. Codelab: רוצה דוגמה לאופן שבו אפשר לפתח סוכן מאגר נתונים של Dialogflow CX? אפשר לראות את אפליקציית הידע של Chat מ-Codelab
- איך מפתחים אפליקציות ל-Google Chat בעזרת Gemini. Codelab: דוגמה לאופן שבו יוצרים נציג שיחה ב-Dialogflow CX אפשר לראות את המשוב באפליקציית Chat ב-Codelab
- Dialogflow ES היא דרך נוספת להשתמש ב-Dialogflow עם אפליקציית Chat.