איך מפתחים אפליקציית Dialogflow CX ל-Google Chat שמבינה ומגיבה בשפה טבעית

בדף הזה נסביר איך ליצור אפליקציה ל-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, למשל:

  • הזמנת טיסות
  • קביעת תורים לרופאים
  • הזמנת משלוח אוכל
  • לענות על שאלות לגבי קטלוג מוצרים קמעונאיים, למשל אם הפריטים זמינים בצבעים אחרים
  • דף הבחירה של נציג Dialogflow שנוצר מראש.
    איור 1. בחירת נציג מובנה מראש לאפליקציית Chat של Dialogflow.
  • בדיקת הנציג ב-Dialogflow CX.
    איור 2. בדיקת הסוכן ב-Dialogflow CX כדי לוודא שהלוגיקה וההגדרות של הסוכן פועלות כצפוי. בדיאגרמה מוצגת קבוצה של דפים בנושאים שונים, שמתייחסים לשלבים ספציפיים בשיחה, כמו הגדרת מיקום איסוף והחזרה של רכב שכור, והיא קובעת את הלוגיקה שמקשרת ביניהם. השיחה נבדקת בסימולטור.
  • הגדרת אפליקציית Chat של Dialogflow.
    איור 3. הגדרת אפליקציית Chat לעיבוד תשובות באמצעות הסוכן של Dialogflow CX בדף ההגדרה של Chat API במסוף Google Cloud.
  • בדיקת אפליקציית Chat של Dialogflow CX
    איור 4. שיחה על הזמנת רכב שכור באמצעות אפליקציית Dialogflow Chat ב-Google Chat.

מטרות

  • מגדירים את הסביבה.
  • יצירה ופריסה של סוכן Dialogflow CX.
  • איך יוצרים ומפרסים אפליקציה ל-Chat שמבוססת על סוכן Dialogflow CX.
  • בודקים את אפליקציית Chat.

דרישות מוקדמות

ארכיטקטורה

התרשים הבא מציג את הארכיטקטורה של אפליקציית Chat שנוצרה באמצעות Dialogflow:

הארכיטקטורה של אפליקציית Chat שמיושמת באמצעות Dialogflow.

בתרשים הקודם, כשמשתמש מקיים אינטראקציה עם אפליקציית Chat של Dialogflow, מתרחש תהליך העברת המידע הבא:

  1. משתמש שולח הודעה ב-Chat לאפליקציית Chat, בצ'אט אישי או במרחב משותף ב-Chat.
  2. נציג וירטואלי של Dialogflow שנמצא ב-Google Cloud מקבל את ההודעה ומעבד אותה כדי ליצור תשובה.
  3. אפשר גם להשתמש בDialogflow webhook כדי לאפשר לסוכן של Dialogflow לקיים אינטראקציה עם שירותים חיצוניים של צד שלישי, כמו מערכת ניהול פרויקטים או כלי ליצירת כרטיסים.
  4. הנציג של Dialogflow שולח תשובה בחזרה לשירות של אפליקציית Chat ב-Chat.
  5. התשובה תישלח למרחב המשותף ב-Chat.

הגדרת הסביבה

לפני שמשתמשים ב-Google APIs, צריך להפעיל אותם בפרויקט ב-Google Cloud. אפשר להפעיל ממשק API אחד או יותר בפרויקט אחד ב-Google Cloud.
  1. במסוף Google Cloud, מפעילים את Google Chat API ואת Dialogflow API.

    הפעלת ממשקי ה-API

  2. מוודאים שאתם מפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud ולוחצים על הבא.

  3. מוודאים שאתם מפעילים את ממשקי ה-API הנכונים ולוחצים על Enable.

יצירת סוכן ב-Dialogflow CX

נציג CX של Dialogflow הוא נציג וירטואלי שמטפל בשיחות בו-זמניות עם משתמשי הקצה. זהו מודול להבנת שפה טבעית שמבין את הניואנסים של השפה האנושית. Dialogflow מתרגם את הטקסט של משתמש הקצה במהלך השיחה לנתונים מובְנים שהאפליקציות והשירותים שלכם יכולים להבין. אתם מתכננים ויוצרים נציג של Dialogflow שיטפל בסוגי השיחות הנדרשים למערכת שלכם.

נציג ב-Dialogflow הוא כמו נציג אנושי במוקד טלפוני. אתם מארגנים אימון לשני המודלים כדי לטפל בתרחישי שיחה צפויים, והאימון לא צריך להיות מפורט מדי.

כך יוצרים את הסוכן של Dialogflow CX:

  1. במסוף Dialogflow CX, פותחים את מסוף Dialogflow CX. לוחצים על תפריט > Dialogflow CX.

    כניסה למסוף Dialogflow CX

  2. בוחרים פרויקט ב-Google Cloud. יכול להיות שתצטרכו ללחוץ על הכול ואז לחפש את הפרויקט.

  3. עכשיו יש לכם אפשרות לבחור סוכן שנוצר מראש או ליצור סוכן משלכם. אם אתם מעדיפים לבדוק את ההתאמה האישית של הנציגים בהמשך, תוכלו לבחור באחד מהנציגים שנוצרו מראש. הם גם יכולים לעזור לכם להבין מה הנציגים יכולים לעשות.

    כדי לבחור סוכן שנוצר מראש:

    1. לוחצים על שימוש בסוכנים מוכנים מראש.
    2. בוחרים סוכן שנוצר מראש. במדריך הזה, בוחרים באפשרות נסיעות: השכרת רכב.

      הנציגים מדורגים כמתחילים, ברמה בינונית או ברמה מתקדמת, בהתאם למספר התכונות שבהן הם משתמשים ולמורכבות של לוגיקה של השיחה. אם בוחרים סוכן ברמה בינונית או מתקדמת, יכול להיות שתצטרכו לבצע התאמות אישיות והגדרות ספציפיות לסוכן, כולל הפעלת תכונות וממשקי API במסוף Google Cloud.

    3. לוחצים על ייבוא כסוכן.

    כדי ליצור סוכן משלכם:

    1. לוחצים על Create agent.
    2. בוחרים באפשרות Auto-generate כדי ליצור סוכן של מאגר נתונים, או באפשרות Build your own כדי ליצור סוכנים מסוגים אחרים.

    למדריך מפורט על תהליך היצירה של נציג, קראו את המאמר יצירת נציג ב-Dialogflow CX.

  4. מגדירים את ההגדרות הבסיסיות של הסוכנים:

    1. בשדה Display name, מזינים שם מוצג.
    2. בוחרים את המיקום המועדף. כדי לשנות את הגדרות המיקום המתקדמות, לוחצים על Edit.
    3. בוחרים את אזור הזמן המועדף.
    4. בוחרים את שפת ברירת המחדל של הנציג. אי אפשר לשנות את שפת ברירת המחדל של נציג אחרי היצירה שלו.
  5. לוחצים על יצירה. מערכת Dialogflow CX תתחיל ליצור את הסוכן, ואז תוצג תהליך ההתחלה שמוגדר כברירת מחדל לסוכן.

  6. אפשר גם להתאים אישית את הסוכן. במאמר יצירת נציג של Dialogflow CX מוסבר בהרחבה על תהליך ההתאמה אישית של הנציג.

  7. מומלץ לבדוק את הסוכן:

    1. לוחצים על Test agent.
    2. בוחרים באפשרות בדיקת הסוכן בסביבה.
    3. בקטע Environment (סביבה), בוחרים באפשרות Draft (טיוטה).
    4. ב-Flow, בוחרים באפשרות Default Start Flow.
    5. בקטע 'דף', בוחרים באפשרות דף הפתיחה.
    6. בסרגל הכתיבה Talk to agent, מקלידים Hello ומקישים על Enter. הנציג מציג את עצמו.
    7. כדי להשלים את הבדיקה, צריך לנהל שיחת בדיקה לדוגמה.
  8. נוצר הנציג ב-Dialogflow CX. חוזרים למסוף Dialogflow CX. לוחצים על סמל התפריט > Dialogflow CX.

    כניסה למסוף Dialogflow CX

  9. בקטע סוכנים, לוחצים על > העתקת השם. שומרים את השם הזה, כי תצטרכו להשתמש בו כשמגדירים את אפליקציית Chat.

יצירת אפליקציית צ'אט וקישור שלה לנציג של Dialogflow

אחרי שיוצרים סוכן של Dialogflow CX, מבצעים את השלבים הבאים כדי להפוך אותו לאפליקציית Chat:

  1. נכנסים לדף Google Chat API במסוף Google Cloud. מחפשים את 'Google Chat API' ולוחצים על Google Chat API ואז על ניהול.

    לדף Chat API

  2. לוחצים על Configuration (הגדרה) ומגדירים את אפליקציית Chat:

    1. בשדה App name, מזינים Dialogflow App.
    2. בקטע Avatar URL, מזינים את הערך https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png.
    3. בשדה Description, מזינים Responds to real human conversation.
    4. בקטע פונקציונליות, בוחרים באפשרויות קבלת הודעות בצ'אט אישי והצטרפות למרחבים משותפים ולשיחות קבוצתיות.
    5. בקטע Connection settings (הגדרות החיבור), בוחרים באפשרות Dialogflow.
    6. בקטע Dialogflow settings (הגדרות Dialogflow), בוחרים באפשרות Dialogflow CX.
    7. בשדה Agent or Environment resource name, מדביקים את שם הסוכן של Dialogflow CX שהעתקתם בסוף הקטע יצירת סוכן של Dialogflow CX.
    8. מגדירים את אפליקציית Chat הזו כזמינה לאנשים ולקבוצות ספציפיים בדומיין, ומזינים את כתובת האימייל שלכם.
    9. בקטע יומנים, בוחרים באפשרות רישום שגיאות ביומן.
  3. לוחצים על שמירה.

אפליקציית Chat מוכנה לקבל הודעות ולענות להן ב-Chat.

בדיקת אפליקציית Chat

כדי לבדוק את אפליקציית Dialogflow CX Chat, שולחים לה הודעה ב-Google Chat.

  1. פותחים את Google Chat באמצעות חשבון Google Workspace שסיפקתם כשהוספת את עצמכם כבודקים מהימנים.

    כניסה ל-Google Chat

  2. לוחצים על צ'אט חדש.
  3. בשדה Add 1 or more people, מקלידים את שם אפליקציית Chat.
  4. בוחרים את אפליקציית Chat בתוצאות. ייפתח צ'אט אישי.

  5. בצ'אט האישי החדש עם האפליקציה, מקלידים Hello ומקישים על enter.

    אפליקציית Dialogflow Chat תגיב על כך בהצגת עצמה.

  6. כדי להשלים את הבדיקה, צריך לנהל שיחת בדיקה לדוגמה.

שיחה לדוגמה לבדיקה

כדי לבדוק את אפליקציית Dialogflow CX Chat במסוף Dialogflow CX או ב-Google Chat, מנהלים את השיחה הבאה. ההסבר עוזר לכם להבין איך הסוכן של Dialogflow CX מפרש את השפה הטבעית של המשתמש ויוצר תשובה משלו בשפה טבעית בכל שלב בשיחה. השיחה לדוגמה מבוססת על הסוכן שנוצר מראש שנקרא Travel: car rental.

תיבת דו-שיח הסבר
משתמש קצה: שלום
נציג: שלום! אני הנציגה הווירטואלית של חברת השכרת הרכב. אוכל לעזור לך להתחיל להזמין רכב חדש. איך אוכל לעזור לך?
  1. מתבצע קריאה לנתיב Default Welcome Intent בDefault Start Flow.
  2. הביצוע של בורר המצב הזה ('היי! אני...") נוסף לתור התשובות.
  3. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: אני רוצה לשכור רכב.
נציג: איפה תרצה לאסוף את הרכב?
  1. מתבצע התאמה של מסלול הכוונה car_rental.reservation_create בדף ההתחלה.
  2. הסשן עובר לדף Pickup Location.
  3. הטופס בדף Pickup Location לא הושלם, ולכן הנציג משתמש בפרמטר pickup_location כדי לבקש מהמשתמש למלא אותו ("Where would you like to pick up..."‎), והיא תתווסף לתור התשובות.
  4. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: לאס וגאס
נציג: בסדר, האיסוף יהיה בלאס וגאס.
נציג/ה: האם מיקום המסירה שונה ממיקום האיסוף?
  1. הקלט של משתמש הקצה ממלא את הפרמטר pickup_location שהנציג ביקש בשלב הקודם של השיחה.
  2. מתבצע התאמה של מסלול הכוונה car_rental.return_different_location בתהליך ההתחלה שמוגדר כברירת מחדל.
  3. המערכת מבצעת הערכה של מסלול השלמת הטופס בדף Pickup Location ומפעילה אותו. יש לו השלמה ('בסדר, מועד האיסוף שלך...'), שמתווספת לתור התשובות עם הפניות הפרמטרים שלו שמוגדרות לערכים בפועל שסופקו על ידי משתמש הקצה.
  4. הסשן עובר לדף Confirm Location (אישור המיקום).
  5. בדף Confirm Location יש מילוי של שדה ('האם מיקום המסירה שונה…'), והיא תתווסף לתור התשובות.
  6. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: כן. אחזיר את הרכב בלוס אנג'לס.
נציג/ה: בסדר, האיסוף יהיה בלוס אנג'לס.
נציג/ה: באיזה תאריך ושעה ברצונך לאסוף את הרכב?
  1. מתבצע התאמה של מסלול הכוונה car_rental.return_different_location בתהליך ההתחלה שמוגדר כברירת מחדל.
  2. הסשן עובר לדף מיקום המסירה.
  3. הקלט של משתמש הקצה ממלא את הפרמטר drop_off_location שהנציג ביקש בשלב הקודם של השיחה.
  4. מתבצעת הערכה של המסלול להשלמת הטופס בדף Drop Off Location, והוא מופעל. יש לו השלמה ('בסדר, ההזמנה שלך תגיע...'), שמתווספת לתור התשובות.
  5. הסשן עובר לדף משך ההשכרה.
  6. בדף Rental Duration יש ערכי טפסים חלקיים, ולכן המשתמש מתבקש להזין את הפרמטר pickup_date_time ('What date and time would you like to pick up...'). והיא תתווסף לתור התשובות.
  7. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: אני רוצה לאסוף את הרכב ב-5 במרץ בשעה 12:00.
נציג/ה: מהו התאריך והשעה שבהם ברצונך להביא את הרכב?
  1. הקלט של משתמש הקצה ממלא את הפרמטר pickup_date_time שהנציג ביקש בשלב הקודם של השיחה.
  2. בדף Rental Duration חסר ערך נוסף בטופס, ולכן המשתמש מתבקש להזין את הפרמטר drop_off_date_time ("What date and time would you like to drop off..."). והיא תתווסף לתור התשובות.
  3. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: 15 במרץ בשעה 12:00.
נציג התמיכה: רק רציתי לוודא:

הרכב יאסוף בלאס וגאס בתאריך 05 במרץ 2024 בשעה 12:00:00 ויוחזר בלוס אנג'לס בתאריך 15 במרץ 2024 בשעה 12:00:00

זה נכון?
  1. הקלט של משתמש הקצה ממלא את הפרמטר drop_off_date_time שהנציג ביקש בשלב הקודם של השיחה.
  2. הסשן עובר לדף Confirm Rental Duration (אישור משך השכירות).
  3. בדף Confirm Rental Duration יש מילוי של שדה ('So to confirm…'), והיא תתווסף לתור התשובות.
  4. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: כן, תודה.
נציג: מצוין! עכשיו נבחר רכב.
נציג/ה: רוצה רכב חסכוני או רכב יוקרה?
  1. מתבצעת התאמה של מסלול הכוונה small_talk.confirmation.yes בדף Confirm Rental Duration.
  2. הנציג מאשר את הבחירה של המשתמש באמצעות הודעה ('נהדר! עכשיו נבחר..."), והיא תתווסף לתור התשובות.
  3. הסשן עובר לדף Vehicle Disambiguation.
  4. הטופס בדף Vehicle Disambiguation לא הושלם, ולכן הנציג משתמש בפרמטר vehicle_type כדי להציג למשתמש הודעה ("Would you like an economy or luxury..."), והיא תתווסף לתור התשובות.
  5. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: משלוח בסיסי, בבקשה.
נציג: רוצה את המכונית של Cymbal או את המשאית של Cymbal?
  1. מתבצע התאמה למסלול של כוונת הרכישה $session.params.vehicle_type="economy_vehicle".
  2. הסשן עובר לדף אפשרויות חסכוניות.
  3. בדף Economy Options יש מילוי של שדה ('Would you like the…‎'), והיא תתווסף לתור התשובות.
  4. הנציג שולח את תור התשובות למשתמש הקצה.
משתמש קצה: Cymbal Truck.
נציג: העלות של Cymbal Truck היא 50.33 $ליום. היא מתאימה ל-4 אנשים ומגיעה עם רדיו AM/FM. רוצה להמשיך לתשלום?
משתמש קצה: כן, בבקשה.
  1. מתבצע התאמה של מסלול ה-Intent‏ $session.params.vehicle_type="Cymbal Truck" והפרמטר vehicle_model מתמלא.
  2. הסשן עובר לדף Confirm Cymbal Truck.
  3. בדף Confirm Cymbal Truck יש מילוי של רשומה ('The Cymbal Truck is $50.33 per day…‎'), והיא תתווסף לתור התשובות.
  4. הנציג שולח את תור התשובות למשתמש הקצה.
  5. התשובה של המשתמש תואמת למסלול small_talk.confirmation.yes.
נציג: באיזה סוג כרטיס ברצונך להשתמש?
משתמש קצה: 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$‎.
נציג/ה: תודה ששכרת דירה דרך האתר שלנו. שיהיה לך יום מצוין!
  1. הסשן עובר לדף Payment.
  2. הטופס Payment לא הושלם, ולכן הנציג מבקש מהמשתמש את הפרמטרים card_type,‏ card_number, ‏ billing_name,‏ billing_street_address ו-billing_zip_code ("What card type will..."), הם מתווספים ברצף לתור התשובות ונשלחים כשהמשתמש מגיב. התשובות של המשתמש מגדירות את הערך של כל פרמטר.
  3. הסשן עובר לדף Rental Confirmation.
  4. בדף Rental Confirmation יש השלמת רשומה ('Ok, your pickup will be…'), והיא תתווסף לתור התשובות.
  5. הנציג שולח את תור התשובות למשתמש הקצה.
  6. הסשן עובר לדף סיום הסשן.

שליחת הודעות בכרטיסים מ-Dialogflow

Dialogflow יכול להשיב בהודעות טקסט או כרטיס. כדי להשיב באמצעות הודעת כרטיס, צריך לציין אותה כמטען נתונים מותאם אישית במילוי.

קובץ ה-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 שמצורף לרכיב הכרטיס האינטראקטיבי (כמו לחצן).
    • עומס העבודה המלא בפורמט JSON של כל אירוע אינטראקציה ב-Chat נשלח ל-Dialogflow כעומס עבודה מותאם אישית בפרמטר השאילתה. אפשר לגשת אליו באמצעות webhook של Dialogflow על ידי שליחת שאילתה לגבי הערך של השדה WebhookRequest.payload.
  • שיקולים שצריך לקחת בחשבון כשמשיבים לפקודות דרך שורת הפקודה ומקבלים נתונים מכרטיסים או מחלוניות דו-שיח:
    • כשאפליקציות Dialogflow Chat מקבלות הודעה עם פקודת קו נטוי, קלט השאילתה מכיל רק את הערך של השדה text. השדה text מתחיל בשם של פקודת הפסיק (למשל, /command). אפשר להשתמש בשם הזה כדי להגדיר את הכוונה של סוכן Dialogflow לזהות פקודת פסיק.
    • אם סוכני Dialogflow צריכים לעבד את המטען הקונטייננטי בפורמט JSON של אירוע אינטראקציה בצ'אט, הם יכולים לעשות זאת באמצעות Dialogflow webhook כדי לבדוק את המטען הקונטייננטי המותאם אישית בפרמטר השאילתה.
    • כדי להציג תיבת דו-שיח מנציג Dialogflow, צריך להשיב עם עומס נתונים מותאם אישית יחיד בפורמט JSON שכולל הודעה עם תגובת פעולה מסוג DIALOG.
    • כדי לעבד נתונים שהוזנו מכרטיסים, סוכן Dialogflow יכול לזהות כוונות שמתחילות בטקסט CARD_CLICKED ולהשיב באמצעות עומס נתונים יחיד של JSON בהתאמה אישית שמכיל את הפעולה המתאימה.
  • אי אפשר להשתמש בתצוגות מקדימות של קישורים.
  • אם הנציג של 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.

  1. במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin > Manage Resources.

    כניסה ל-Resource Manager

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.