בדף הזה מוסבר איך לפתח אפליקציה של Google Chat שיכולה להבין ולהגיב בשפה טבעית באמצעות Dialogflow. במדריך הזה נעשה שימוש Dialogflow CX, שכולל שילוב ישיר עם Google Chat. אפשר גם להשתמש Dialogflow ES לפיתוח אפליקציית Dialogflow ES Google Chat באמצעות מעקב ה Google Chat ב-Dialogflow ES מותאמת אישית.
לדוגמה, כדאי לנסות אפליקציית Chat שעוזרת לאנשים להשכיר מכוניות. משתמש עשוי לכתוב, "אני רוצה לשכור מכונית". אפליקציית Chat עשויה לתת תשובה לשאלה כמו "איפה היית רוצה לאסוף את הרכב?" שמתחיל תרחיש כמו שיחה עם המשתמש שבו גם אפליקציית Chat יכול להבין בדיבור אנושי בזמן שמזמין השכרת רכב, ולהגיב לו.
זו רק דוגמה אחת. האפליקציות של Dialogflow Chat מועילות לכולם שונים של אינטראקציות. אם נדרשת דיבור אנושי טבעי, אפליקציית Dialogflow Chat. נציגים שהוגדרו מראש יעזרו לכם להתחיל במהירות ולהציג לראווה מה אפשר לעשות ב-Dialogflow, למשל:
- הזמנת טיסות
- קביעת תורים לרופא
- הזמנת משלוחי אוכל
- לענות על שאלות לגבי קטלוג מוצרים קמעונאיים, למשל אם מדובר בפריטים זמינים בצבעים אחרים
-
איור 1. בחירת נציג מוגדר מראש לאפליקציית Dialogflow Chat. -
איור 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 שמופעל בו חיוב. כדי לבדוק אם החיוב מופעל בפרויקט קיים: ראה אימות סטטוס החיוב של הפרויקטים שלכם. כדי ליצור פרויקט ולהגדיר חיוב: יוצרים פרויקט ב-Google 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. כדי למצוא את הפרויקט שלכם, ייתכן שתצטרכו לוחצים על הכול ומחפשים אותו.
עכשיו אתם יכולים לבחור נציג תמיכה מוגדר מראש או איך ליצור המרה משלכם. אני רוצה לנסות את הכלי להתאמה אישית מפורטת מאוחר יותר, בחר אחד נציגים שהוגדרו מראש, אפשר להיעזר בהן גם כדי לגלות מה נציגים יכולים לעשות.
כדי לבחור נציג תמיכה שנוצר מראש, פועלים לפי השלבים הבאים:
- לוחצים על שימוש בנציגים שהוגדרו מראש.
צריך לבחור נציג תמיכה שנוצר מראש. למדריך הזה, בוחרים נסיעות: השכרת רכב.
הנציגים מסווגים כמתחילים, בינונית או מתקדמת, בהתאם לכמות התכונות שהנציג משתמש בהן ורמת התחכום של לוגיקת השיחה. בחירה של ייתכן שסוכן ביניים או נציג מתקדם ידרוש מידע ספציפי לנציג התאמות אישיות והגדרות, כולל הפעלת תכונות וממשקי API מסוף Google Cloud.
לוחצים על ייבוא כסוכן.
כדי ליצור נציג משלכם:
- לוחצים על יצירת נציג.
- בוחרים באפשרות יצירה אוטומטית כדי ליצור סוכן של מאגר נתונים או לבחור באפשרות יצירת נציגים משלכם כדי ליצור נציגים מסוגים אחרים.
להדרכה מפורטת על תהליך בניית הנציגים אפשר איך יוצרים נציג של Dialogflow CX
ההגדרות הבסיסיות של הנציג:
- בקטע Display name, מזינים שם לתצוגה.
- בחירת האפשרות המועדפת מיקום. אם רוצים לשנות את ההגדרות המתקדמות הגדרות מיקום, לוחצים על עריכה.
- בוחרים את אזור הזמן המועדף.
- צריך לבחור את שפת ברירת המחדל של הנציג. אי אפשר לשנות את שפת ברירת המחדל של הנציג אחרי היצירה.
לוחצים על יצירה. Dialogflow CX מתחיל ליצור את הנציג, ולאחר מכן הצגת תהליך ההתחלה שהוגדר כברירת מחדל לסוכן.
אפשר גם להתאים אישית את הנציג. להדרכה מפורטת של הנציג של תהליך ההתאמה האישית, איך יוצרים נציג של Dialogflow CX
מומלץ לבדוק את הנציג:
- לוחצים על סוכן בדיקה.
- בוחרים באפשרות בדיקת סוכן בסביבה.
- בסביבה, בוחרים באפשרות טיוטה.
- בתהליך העבודה, בוחרים באפשרות תהליך ברירת המחדל להתחלת התהליך.
- בדף, בוחרים באפשרות דף הפתיחה.
- בשורת הכתיבה שיחה עם נציג, מקלידים
Hello
ומקישים על Enter. הנציג עונה ומציג את עצמו. - מבצעים את הבדיקה באמצעות שיחת הבדיקה לדוגמה.
הנציג של Dialogflow CX נוצר. חוזרים למסוף Dialogflow CX. לוחצים על סמל התפריט > Dialogflow CX.
בקטע סוכנים, לוחצים על > העתקת השם. שמור שם זה, בשם משתמשים בה כשמגדירים את אפליקציית Chat.
יצירת אפליקציה של Chat וחיבור שלה לנציג של Dialogflow
אחרי שיוצרים נציג Dialogflow CX, פועלים לפי השלבים הבאים כדי להפוך אותו אפליקציית Chat:
במסוף Google Cloud, נכנסים ל-Google Chat API. חיפוש Google Chat API וגם לוחצים על Google Chat API ואז על Manage (ניהול).
לוחצים על הגדרות אישיות ומגדירים את אפליקציית Chat:
- בשדה App name, מזינים
Dialogflow App
. - בשדה כתובת URL של הדמות, מזינים
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
. - בשדה Description, מזינים
Responds to real human conversation
. - בקטע פונקציונליות, בוחרים באפשרות קבלת הודעות 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 הרצויה מהתוצאות. A ההודעה תיפתח.
בצ'אט האישי החדש עם האפליקציה, מקלידים
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 זה נשמע לך נכון? |
|
משתמש קצה: כן, תודה. נציג: מעולה! עכשיו נבחר רכב. נציג/ה: האם ברצונך להציג כלכלה או יוקרה? הרכב? |
|
משתמש קצה: משלוח בסיסי, בבקשה. סוכן: ברצונך לקבל את מכונית המצילים או את משאית המצילים? |
|
משתמש קצה: Cymbal Truck. סוכן: משאית Cymbal Truck עולה 50.33 $ליום. היא מתאימה ל-4 אנשים וכוללת רדיו AM/FM. רוצה להמשיך לתשלום? משתמש קצה: כן, בבקשה. |
|
סוכן: באיזה סוג כרטיס בכוונתך להשתמש? משתמש קצה: Altostrat סוכן: הזן את מספר הכרטיס. משתמש קצה: 1234 1234 1234 1234 נציג: מה השם שמופיע בכרטיס? משתמש קצה: Charlie נציג: מהי הכתובת לחיוב? משתמש קצה: שדרות רוטשילד 1800 מאונטן ויו, קליפורניה נציג: מה המיקוד לצורכי חיוב? משתמש קצה: 94045 סוכן: אתם בוחרים את מכונית המצילות בלאס וגאס, 2024-03-05 12:00:00 ואז מוסרים אותו, 2024-03-15 12:00:00. הסכום הכולל לנסיעה הזו יהיה 703.42 ש"ח. נציג: תודה ששכרת אותנו ושיהיה לך יום נפלא! |
|
שליחת הודעות בכרטיס מ-Dialogflow
התשובה של Dialogflow היא text או הודעות בכרטיס. כדי להשיב באמצעות כרטיס יש לציין אותו מטען ייעודי (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
של אובייקט פעולה מצורף לרכיב הכרטיס האינטראקטיבי (כמו לחצן). - המטען הייעודי (payload) המלא של JSON של כל אירוע של אינטראקציה ב-Chat
נשלחת ל-Dialogflow כמטען ייעודי (payload) מותאם אישית בפרמטר של השאילתה, וגם
ניתן לגשת אליהם באמצעות
תגובה לפעולה מאתר אחר (webhook) של Dialogflow
באמצעות שאילתה על הערך של השדה
WebhookRequest.payload
.
- הבאים
סוגים של אירועי אינטראקציה
נתמכים:
- שיקולים לתגובה
פקודות קוליות וגם
קבלת נתונים מכרטיסים או מתיבות דו-שיח:
- מה קורה באפליקציות של Dialogflow Chat שמוצגות בהן הודעה עם קו נטוי
הפקודה, קלט השאילתה מכיל רק את הערך של השדה
text
. השדהtext
מתחיל בשם של פקודת הלוכסן (לדוגמה,/command
), אפשר להשתמש בו כדי להגדיר את הכוונה של נציג Dialogflow כדי לזהות פקודה של שורת הפקודות. - אם הסוכן Dialogflow צריך לעבד את מטען ייעודי (payload) של אירוע אינטראקציה בצ'אט, הוא יכול לעשות זאת באמצעות webhook של Dialogflow כדי לבדוק את המטען הייעודי (payload) המותאם אישית בפרמטר של השאילתה.
- כדי להציג תיבת דו-שיח
Dialogflow Agent, מגיב עם מטען ייעודי (payload) מותאם אישית אחד של JSON
כולל הודעה שמכילה
DIALOG
תגובה לפעולה. - כדי לעבד נתונים שהוזנו מכרטיסים, הסוכן Dialogflow יכול לזהות
Intent שמתחיל בטקסט
CARD_CLICKED
ומגיב מטען ייעודי (payload) אחד בהתאמה אישית של JSON שמכיל את פעולה.
- מה קורה באפליקציות של Dialogflow Chat שמוצגות בהן הודעה עם קו נטוי
הפקודה, קלט השאילתה מכיל רק את הערך של השדה
- אי אפשר להשתמש בתצוגות מקדימות של קישורים.
- אם הנציג של Dialogflow ישיב עם הודעה אחת בלבד, תוצג ההודעה
נשלחת ל-Google Chat באופן סינכרוני. אם הנציג של Dialogflow מגיב
עם כמה הודעות, כל ההודעות נשלחות ל-Chat
באופן אסינכרוני על ידי קריאה
create
במשאבspaces.messages
ב-Chat API פעם אחת לכל הודעה. - כשמשתמשים בשילוב של Dialogflow CX עם Chat, צריך להגדיר את הנציג של Dialogflow ואת אפליקציית Chat באותו פרויקט ב-Google Cloud. אם אתם צריכים להגדיר את Dialogflow ול-Chat בפרויקטים שונים ב-Cloud, ואז תוכלו להגדיר שרת ביניים כדי להקל על החיבור. כדי ללמוד איך עושים את זה, לראות את זה דוגמה לשילוב של Chat ב-Dialogflow CX ב-GitHub.
פתרון בעיות
כשאפליקציית Google Chat או אפליקציית Google Chat הפונקציה card מחזירה שגיאה, בממשק של Chat מוצגת ההודעה "משהו השתבש". או "לא ניתן לעבד את הבקשה שלך". לפעמים בממשק המשתמש של Chat לא מציגה הודעות שגיאה, אבל אפליקציית Chat או והכרטיס מפיק תוצאה לא צפויה: לדוגמה, הודעה בכרטיס יופיעו.
יכול להיות שלא תופיע הודעת שגיאה בממשק המשתמש של Chat, אבל יש הודעות שגיאה תיאוריות ונתוני יומן זמינים כדי לעזור לכם לתקן שגיאות כשמופעלת רישום שגיאות ביומן של אפליקציות ל-Chat. כדי לקבל עזרה בצפייה: לניפוי באגים ולתיקון שגיאות: פתרון בעיות ותיקון שגיאות ב-Google Chat
הסרת המשאבים
כדי להימנע מצבירת חיובים בחשבון Google Cloud עבור במשאבים שנעשה בהם שימוש במדריך הזה, מומלץ למחוק את פרויקט בענן.
- במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin (אדמין) > לניהול משאבים
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על הסמל. מחיקה של .
- כדי למחוק, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על 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.