בדף הזה נסביר איך ליצור אפליקציה ל-Google Chat שיכולה להבין שפה טבעית ולהשיב בהתאם באמצעות Dialogflow. המדריך הזה משתמש ב-Dialogflow CX, שכולל שילוב ישיר עם Google Chat. אפשר גם להשתמש ב-Dialogflow ES כדי ליצור אפליקציית Google Chat של Dialogflow ES. לשם כך, פועלים לפי ההוראות במדריך Dialogflow ES Google Chat.
לדוגמה, אפליקציית Chat שעוזרת לאנשים לשכור מכוניות. משתמש יכול לכתוב "אני רוצה לשכור רכב". אפליקציית Chat עשויה להשיב בשאלה כמו "איפה תרצה לאסוף את הרכב?", וכך להתחיל שיחה עם המשתמש שדומה לשיחה עם בן אדם. במהלך השיחה, אפליקציית Chat מבינה את מה שהמשתמש אומר ומשייכת לו תשובות בצורת דיבור אנושי, בזמן ביצוע ההזמנה של השכרת הרכב.
זו רק דוגמה אחת. אפליקציות Chat של Dialogflow שימושיות בכל סוגי האינטראקציות. אם נדרשת דיבור אנושי טבעי, היא משתמשת ב-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 מסוג Business או Enterprise עם גישה ל-Google Chat.
- פרויקט ב-Google Cloud שבו החיוב מופעל. כדי לבדוק אם החיוב מופעל בפרויקט קיים, קראו את המאמר אימות סטטוס החיוב של הפרויקטים. כדי ליצור פרויקט ולהגדיר חיוב, קראו את המאמר יצירת פרויקט ב-Google Cloud.
ארכיטקטורה
התרשים הבא מציג את הארכיטקטורה של אפליקציית Chat שנוצרה באמצעות Dialogflow:
בתרשים הקודם, כשמשתמש מקיים אינטראקציה עם אפליקציית Chat של 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 הוא סוכן וירטואלי שמטפל בשיחות במקביל עם משתמשי הקצה שלכם. זהו מודול להבנת שפה טבעית שמבין את הניואנסים של השפה האנושית. Dialogflow מתרגם את הטקסט של משתמש הקצה במהלך השיחה לנתונים מובְנים שהאפליקציות והשירותים שלכם יכולים להבין. אתם מתכננים ובונים נציג של Dialogflow כדי לטפל בסוגי השיחות שנדרשות למערכת שלכם.
נציג ב-Dialogflow הוא כמו נציג אנושי במוקד טלפוני. אתם מארגנים אימון לשני המודלים כדי לטפל בתרחישי שיחה צפויים, והאימון לא צריך להיות מפורט מדי.
כך יוצרים את הסוכן של Dialogflow CX:
במסוף Dialogflow CX, פותחים את מסוף Dialogflow CX. לוחצים על תפריט > Dialogflow CX.
בוחרים פרויקט ב-Google Cloud. יכול להיות שתצטרכו ללחוץ על הכול ואז לחפש את הפרויקט.
עכשיו יש לכם אפשרות לבחור סוכן שנוצר מראש או ליצור סוכן משלכם. אם אתם מעדיפים לבדוק את ההתאמה האישית של הנציגים בהמשך, תוכלו לבחור באחד מהנציגים שנוצרו מראש. הם גם יעזרו לכם להבין מה הנציגים יכולים לעשות.
כדי לבחור סוכן שנוצר מראש:
- לוחצים על שימוש בנציגים שהוגדרו מראש.
בוחרים סוכן שנוצר מראש. במדריך הזה, בוחרים באפשרות נסיעות: השכרת רכב.
הנציגים מדורגים כמתחילים, ברמה בינונית או ברמה מתקדמת, בהתאם למספר התכונות שבהן הם משתמשים ולמורכבות של לוגיקה של השיחה. אם בוחרים סוכן ברמה בינונית או מתקדמת, יכול להיות שתצטרכו לבצע התאמות אישיות והגדרות ספציפיות לסוכן, כולל הפעלת תכונות וממשקי API במסוף Google Cloud.
לוחצים על ייבוא כסוכן.
כדי ליצור סוכן משלכם:
- לוחצים על יצירת נציג.
- בוחרים באפשרות Auto-generate כדי ליצור סוכן של מאגר נתונים, או באפשרות Build your own כדי ליצור סוכנים מסוגים אחרים.
במאמר יצירת נציג ב-Dialogflow CX מוסבר בפירוט איך יוצרים נציגים.
מגדירים את ההגדרות הבסיסיות של הסוכנים:
- בשדה Display name, מזינים שם מוצג.
- בוחרים את המיקום המועדף. כדי לשנות את הגדרות המיקום המתקדמות, לוחצים על עריכה.
- בוחרים את אזור הזמן המועדף.
- בוחרים את שפת ברירת המחדל של הנציג. אי אפשר לשנות את שפת ברירת המחדל של נציג אחרי היצירה שלו.
לוחצים על יצירה. מערכת Dialogflow CX תתחיל ליצור את הסוכן, ואז תוצג תהליך ההתחלה שמוגדר כברירת מחדל לסוכן.
אפשר גם להתאים אישית את הנציג. במאמר יצירת נציג של Dialogflow CX מוסבר בפירוט איך להתאים אישית את הנציג.
מומלץ לבדוק את הסוכן:
- לוחצים על Test agent.
- בוחרים באפשרות בדיקת סוכן בסביבה.
- בקטע Environment (סביבה), בוחרים באפשרות Draft (טיוטה).
- ב-Flow, בוחרים באפשרות Default Start Flow.
- בקטע 'דף', בוחרים באפשרות דף הפתיחה.
- בשורת הכתיבה שיחה עם נציג, מקלידים
Hello
ומקישים על Enter. הנציג מציג את עצמו. - כדי להשלים את הבדיקה, צריך לנהל שיחת בדיקה לדוגמה.
הנציג של Dialogflow CX נוצר. חוזרים למסוף Dialogflow CX. לוחצים על סמל התפריט > Dialogflow CX.
בקטע סוכנים, לוחצים על > העתקת השם. שומרים את השם הזה, כי תצטרכו להשתמש בו כשמגדירים את אפליקציית Chat.
יצירת אפליקציה של Chat וחיבור שלה לנציג Dialogflow
אחרי שיוצרים נציג Dialogflow CX, אפשר לבצע את הפעולות הבאות כדי להפוך אותו לאפליקציית Chat:
נכנסים לדף Google Chat API במסוף Google Cloud. מחפשים את 'Google Chat API' ולוחצים על Google Chat API ואז על ניהול.
לוחצים על Configuration (הגדרה) ומגדירים את אפליקציית Chat:
- בשדה App name, מזינים
Dialogflow App
. - בקטע Avatar URL, מזינים את הערך
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - בשדה Description, מזינים
Responds to real human conversation
. - בקטע פונקציונליות, בוחרים באפשרויות קבלת הודעות בצ'אט אישי והצטרפות למרחבים משותפים ולשיחות קבוצתיות.
- בקטע Connection settings (הגדרות החיבור), בוחרים באפשרות Dialogflow.
- בקטע הגדרות של Dialogflow, בוחרים באפשרות Dialogflow CX.
- בשדה Agent or Environment resource name, מדביקים את שם הסוכן של Dialogflow CX שהעתקתם בסוף הקטע יצירת סוכן של Dialogflow CX.
- מגדירים את אפליקציית Chat הזו כזמינה לאנשים ולקבוצות ספציפיים בדומיין ומזינים את כתובת האימייל שלכם.
- בקטע יומנים, בוחרים באפשרות רישום שגיאות ביומן.
- בשדה App name, מזינים
לוחצים על שמירה.
אפליקציית Chat מוכנה לקבל הודעות ולענות להן ב-Chat.
בדיקת אפליקציית Chat
כדי לבדוק את אפליקציית Dialogflow CX Chat, שולחים לה הודעה ב-Google Chat.
פותחים את Google Chat באמצעות חשבון Google Workspace שסיפקתם כשהוספת את עצמכם כבודקים מהימנים.
- לוחצים על צ'אט חדש.
- בשדה Add 1 or more people, מקלידים את שם אפליקציית Chat.
בוחרים את אפליקציית Chat בתוצאות. תיפתח צ'אט אישי.
בצ'אט האישי החדש עם האפליקציה, מקלידים
Hello
ומקישים עלenter
.התגובה של אפליקציית Dialogflow Chat מציגה את עצמה.
- כדי להשלים את הבדיקה, צריך לנהל שיחת בדיקה לדוגמה.
שיחה לדוגמה לבדיקה
כדי לבדוק את האפליקציה Dialogflow CX Chat במסוף של Dialogflow CX או ב-Google Chat, מבצעים את השיחה הבאה. ההסבר עוזר לכם להבין איך הסוכן של Dialogflow CX מפרש את השפה הטבעית של המשתמש ויוצר תשובה משלו בשפה טבעית בכל שלב בשיחה. השיחה לדוגמה הזו מבוססת על הסוכן שנוצר מראש שנקרא Travel: car rental.
תיבת דו-שיח | הסבר |
---|---|
משתמש קצה: שלום נציג: שלום! אני הסוכנות הווירטואלית להשכרת רכב. אוכל לעזור לך להתחיל הזמנה של השכרת רכב חדשה. איך אוכל לעזור לך? |
|
משתמש קצה: אני רוצה לשכור רכב. נציג: איפה תרצה לאסוף את הרכב? |
|
משתמש קצה: לאס וגאס נציג: בסדר, האיסוף יהיה בלאס וגאס. נציג/ה: האם מיקום המסירה שונה ממיקום האיסוף? |
|
משתמש קצה: כן. אחזיר את הרכב בלוס אנג'לס. נציג/ה: בסדר, האיסוף יהיה בלוס אנג'לס. נציג/ה: באיזה תאריך ושעה ברצונך לאסוף את הרכב? |
|
משתמש קצה: אני רוצה לאסוף את הרכב ב-5 במרץ בשעה 12:00. נציג/ה: מהו התאריך והשעה שבהם ברצונך להביא את הרכב? |
|
משתמש קצה: 15 במרץ בשעה 12:00. נציג: אז כדי לאשר: אתה תאסוף את הרכב בלאס וגאס 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 נציג: מה השם שמופיע בכרטיס? משתמש קצה: רון נציג: מהו הרחוב של הכתובת לחיוב? משתמש קצה: שדרות 1800 Amphibious Blvd. Mountain View, CA סוכן: מהו המיקוד לחיוב? משתמש קצה: 94045 נציג: עליך לאסוף את הרכב של Cymbal ב-Las Vegas ב-05 במרץ 2024 בשעה 12:00:00 ולהחזיר אותו ב-15 במרץ 2024 בשעה 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 צריך לעבד את המטען הקונטייננטי בפורמט JSON של אירוע אינטראקציה בצ'אט, הוא יכול לעשות זאת באמצעות Dialogflow webhook כדי לבדוק את המטען הקונטייננטי המותאם אישית בפרמטר השאילתה.
- כדי להציג תיבת דו-שיח מנציג Dialogflow, צריך להשיב עם עומס נתונים מותאם אישית אחד בפורמט JSON שכולל הודעה עם תגובת פעולה מסוג
DIALOG
. - כדי לעבד נתונים שהוזנו מכרטיסים, סוכן Dialogflow יכול לזהות כוונות שמתחילות בטקסט
CARD_CLICKED
ולהשיב באמצעות עומס נתונים יחיד של 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.