یک برنامه Dialogflow CX Google Chat بسازید که درک کند و با زبان طبیعی پاسخ دهد

این صفحه نحوه ساخت یک برنامه Google Chat را توضیح می‌دهد که می‌تواند زبان طبیعی را هم درک کند و هم با استفاده از Dialogflow پاسخ دهد. این راهنما از Dialogflow CX استفاده می‌کند که مستقیماً با Google Chat ادغام می‌شود. همچنین می‌توانید با دنبال کردن راهنمای Dialogflow ES Google Chat، از Dialogflow ES برای ساخت یک برنامه Dialogflow ES Google Chat استفاده کنید.

برای مثال، یک برنامه چت را در نظر بگیرید که به افراد در اجاره خودرو کمک می‌کند. یک کاربر ممکن است بنویسد: «می‌خواهم یک ماشین اجاره کنم». برنامه چت ممکن است با سوالی مانند «کجا می‌خواهید وسیله نقلیه را تحویل بگیرید؟» پاسخ دهد که مکالمه‌ای شبیه به انسان را با کاربر آغاز می‌کند که در آن برنامه چت هنگام رزرو اجاره خودرو، هم گفتار انسان را می‌فهمد و هم با آن پاسخ می‌دهد.

این فقط یک مثال است. برنامه‌های چت Dialogflow در انواع تعاملات مفید هستند. اگر به گفتار طبیعی انسان نیاز باشد، به یک برنامه چت Dialogflow نیاز است. عوامل از پیش ساخته شده به شما کمک می‌کنند تا سریع شروع کنید و آنچه Dialogflow می‌تواند انجام دهد را نشان می‌دهند، مانند:

  • رزرو پرواز
  • تعیین وقت ملاقات با پزشک
  • سفارش تحویل غذا
  • پاسخ به سوالاتی در مورد کاتالوگ محصولات خرده فروشی، مانند اینکه آیا اقلام در رنگ های دیگر موجود است یا خیر
  • صفحه انتخاب عامل از پیش ساخته شده Dialogflow.
    شکل ۱. انتخاب یک عامل از پیش ساخته شده برای برنامه چت Dialogflow.
  • تست عامل در Dialogflow CX.
    شکل ۲. آزمایش عامل در Dialogflow CX برای اطمینان از اینکه منطق و پیکربندی عامل طبق برنامه کار می‌کند. نمودار مجموعه‌ای متوالی از صفحات موضوعی را نشان می‌دهد که مربوط به مراحل خاصی در مکالمه هستند، مانند تعیین محل تحویل و بازگشت برای یک ماشین کرایه‌ای، و منطقی را که آنها را به هم متصل می‌کند پیکربندی می‌کند. مکالمه در یک شبیه‌ساز آزمایش می‌شود.
  • پیکربندی یک برنامه چت Dialogflow.
    شکل ۳. پیکربندی یک برنامه چت برای پردازش پاسخ‌ها با استفاده از عامل Dialogflow CX در صفحه پیکربندی Chat API در کنسول Google Cloud.
  • آزمایش برنامه چت Dialogflow CX
    شکل ۴. مکالمه‌ای در مورد رزرو ماشین کرایه‌ای با برنامه Dialogflow Chat در Google Chat.

اهداف

  • محیط خود را تنظیم کنید.
  • یک عامل Dialogflow CX ایجاد و مستقر کنید.
  • یک برنامه چت با پشتیبانی عامل Dialogflow CX ایجاد و مستقر کنید.
  • برنامه چت را آزمایش کنید.

پیش‌نیازها

معماری

نمودار زیر معماری یک برنامه چت ساخته شده با Dialogflow را نشان می‌دهد:

معماری یک برنامه چت که با Dialogflow پیاده‌سازی شده است.

در نمودار قبلی، کاربری که با یک برنامه چت Dialogflow تعامل دارد، جریان اطلاعات زیر را دارد:

  1. کاربر پیامی را در چت به یک برنامه چت، چه در پیام مستقیم و چه در فضای چت، ارسال می‌کند.
  2. یک عامل مجازی Dialogflow که در Google Cloud قرار دارد، پیام را دریافت و پردازش می‌کند تا پاسخی تولید کند.
  3. به صورت اختیاری، با استفاده از یک وب‌هوک Dialogflow ، عامل Dialogflow می‌تواند با سرویس‌های شخص ثالث خارجی، مانند یک سیستم مدیریت پروژه یا یک ابزار تیکتینگ، تعامل داشته باشد.
  4. عامل Dialogflow پاسخی را به سرویس برنامه Chat در Chat ارسال می‌کند.
  5. پاسخ به فضای چت ارسال می‌شود.

محیط را تنظیم کنید

قبل از استفاده از APIهای گوگل، باید آنها را در یک پروژه گوگل کلود فعال کنید. می‌توانید یک یا چند API را در یک پروژه گوگل کلود فعال کنید.
  1. در کنسول گوگل کلود، Google Chat API و Dialogflow API را فعال کنید.

    فعال کردن APIها

  2. تأیید کنید که APIها را در پروژه Cloud صحیح فعال می‌کنید، سپس روی Next کلیک کنید.

  3. تأیید کنید که API های صحیح را فعال می‌کنید، سپس روی فعال کردن کلیک کنید.

یک عامل تجربه مشتری (CX) از Dialogflow ایجاد کنید

یک عامل Dialogflow CX یک عامل مجازی است که مکالمات همزمان با کاربران نهایی شما را مدیریت می‌کند. این یک ماژول درک زبان طبیعی است که ظرافت‌های زبان انسان را درک می‌کند. 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. روی ایجاد عامل کلیک کنید.
    2. برای ایجاد یک عامل ذخیره‌سازی داده، گزینه «تولید خودکار» را انتخاب کنید یا برای ایجاد انواع دیگر عامل‌ها، گزینه «ساختن عامل خودتان» را انتخاب کنید.

    برای مشاهده جزئیات بیشتر در مورد فرآیند ساخت نماینده، به بخش «ایجاد یک نماینده Dialogflow CX» مراجعه کنید.

  4. تنظیمات اولیه عامل را پیکربندی کنید:

    1. در قسمت نام نمایشی ، یک نام نمایشی وارد کنید.
    2. مکان مورد نظر خود را انتخاب کنید. اگر می‌خواهید تنظیمات پیشرفته مکان را تغییر دهید، روی ویرایش کلیک کنید.
    3. منطقه زمانی دلخواه خود را انتخاب کنید.
    4. زبان پیش‌فرض را برای نماینده خود انتخاب کنید. شما نمی‌توانید زبان پیش‌فرض یک نماینده را پس از ایجاد تغییر دهید.
  5. روی ایجاد کلیک کنید. Dialogflow CX شروع به ایجاد عامل می‌کند و سپس جریان شروع پیش‌فرض عامل را نمایش می‌دهد.

  6. در صورت تمایل، می‌توانید عامل را سفارشی کنید. برای مشاهده جزئیات فرآیند سفارشی‌سازی عامل، به «ایجاد یک عامل Dialogflow CX» مراجعه کنید.

  7. به عنوان بهترین روش، عامل را آزمایش کنید:

    1. روی عامل تست کلیک کنید.
    2. عامل تست را در محیط انتخاب کنید.
    3. در محیط، پیش‌نویس را انتخاب کنید.
    4. در بخش Flow، گزینه Default Start Flow را انتخاب کنید.
    5. در صفحه، صفحه شروع را انتخاب کنید.
    6. در نوار نوشتن گفتگو با عامل ، Hello را تایپ کنید و Enter را فشار دهید. عامل با معرفی خود پاسخ می‌دهد.
    7. آزمون را با انجام مکالمه آزمایشی نمونه تکمیل کنید.
  8. عامل Dialogflow CX ایجاد شده است. به کنسول Dialogflow CX برگردید. روی menu > Dialogflow CX کلیک کنید.

    به کنسول Dialogflow CX بروید

  9. در قسمت Agents ، روی > Copy name کلیک کنید. این نام را ذخیره کنید، زیرا هنگام پیکربندی برنامه چت از آن استفاده می‌کنید.

یک برنامه چت ایجاد کنید و آن را به عامل Dialogflow متصل کنید

پس از ایجاد یک عامل Dialogflow CX، این مراحل را برای تبدیل آن به یک برنامه چت دنبال کنید:

  1. در کنسول گوگل کلود، به Google Chat API بروید. عبارت "Google Chat API" را جستجو کنید و روی Google Chat API کلیک کنید، سپس روی مدیریت کلیک کنید.

    به API چت بروید

  2. روی پیکربندی کلیک کنید و برنامه چت را تنظیم کنید:

    1. در قسمت App name ، Dialogflow App وارد کنید.
    2. در قسمت آدرس اینترنتی آواتار ، https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png را وارد کنید.
    3. در قسمت توضیحات ، Responds to real human conversation وارد کنید.
    4. در بخش عملکرد ، گزینه «پیوستن به فضاها و مکالمات گروهی» را انتخاب کنید.
    5. در قسمت تنظیمات اتصال ، گزینه Dialogflow را انتخاب کنید.
    6. در تنظیمات Dialogflow ، گزینه Dialogflow CX را انتخاب کنید.
    7. در قسمت Agent or Environment resource name ، نام عامل Dialogflow CX را که در انتهای Create a Dialogflow CX agent کپی کرده‌اید، جایگذاری کنید.
    8. این برنامه چت را برای افراد و گروه‌های خاص در دامنه خود در دسترس قرار دهید و آدرس ایمیل خود را وارد کنید.
    9. در قسمت گزارش‌ها ، گزینه ثبت خطاها را برای ثبت گزارش‌ها انتخاب کنید.
  3. روی ذخیره کلیک کنید.

برنامه چت آماده دریافت و پاسخ به پیام‌ها در چت است.

برنامه چت را آزمایش کنید

برنامه چت Dialogflow CX را با ارسال پیام به آن در Google Chat آزمایش کنید.

  1. با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان یک آزمایشگر مورد اعتماد ارائه دادید، Google Chat را باز کنید.

    به گوگل چت بروید

  2. روی گپ جدید کلیک کنید.
  3. در فیلد «افزودن ۱ یا چند نفر» ، نام برنامه چت خود را تایپ کنید.
  4. برنامه چت خود را از بین نتایج انتخاب کنید. یک پیام مستقیم باز می‌شود.

  5. در پیام مستقیم جدید با برنامه، Hello را تایپ کنید و enter فشار دهید.

    برنامه چت Dialogflow با معرفی خود پاسخ می‌دهد.

  6. آزمون را با انجام مکالمه آزمایشی نمونه تکمیل کنید.

نمونه مکالمه آزمایشی

برای آزمایش برنامه چت Dialogflow CX در کنسول Dialogflow CX یا در Google Chat، مکالمه زیر را انجام دهید. این توضیح به شما کمک می‌کند تا بفهمید که چگونه عامل Dialogflow CX زبان طبیعی کاربر را تفسیر می‌کند و در هر مرحله از مکالمه، پاسخ زبان طبیعی خود را تولید می‌کند. این مکالمه نمونه بر اساس عامل از پیش ساخته شده به نام Travel: car rental است.

گفتگو توضیح
کاربر نهایی: سلام
نماینده: سلام! من نماینده مجازی اجاره خودرو هستم. می‌توانم به شما در شروع رزرو جدید اجاره خودرو کمک کنم. امروز چطور می‌توانم به شما کمک کنم؟
  1. مسیر پیش‌فرض خوشامدگویی (Default Welcome Intent) در جریان پیش‌فرض شروع فراخوانی می‌شود.
  2. اجرای این کنترل‌کننده‌ی وضعیت ("سلام! من...") به صف پاسخ اضافه می‌شود.
  3. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: من می‌خواهم یک ماشین کرایه کنم.
مامور: از کجا می‌خواهید وسیله نقلیه را تحویل بگیرید؟
  1. مسیر هدف car_rental.reservation_create در صفحه شروع مطابقت دارد.
  2. جلسه به صفحه محل تحویل کالا منتقل می‌شود.
  3. فرم صفحه «محل تحویل» کامل نیست، بنابراین عامل از پارامتر pickup_location برای ارسال پیام به کاربر («از کجا می‌خواهید تحویل بگیرید...») استفاده می‌کند که به صف پاسخ اضافه می‌شود.
  4. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: لاس وگاس
مامور: بسیار خب، تحویل شما در لاس وگاس خواهد بود.
نماینده: آیا محل تحویل شما با محل تحویل گرفتن شما متفاوت است؟
  1. ورودی کاربر نهایی، پارامتر pickup_location درخواست شده توسط عامل در نوبت مکالمه قبلی را پر می‌کند.
  2. مسیر هدف car_rental.return_different_location در Default Start Flow تطبیق داده شده است.
  3. مسیر تکمیل فرم در صفحه «محل تحویل» ارزیابی و فراخوانی می‌شود. این مسیر یک «اجرا» ("Ok, your pick-up...") دارد که به صف پاسخ اضافه می‌شود و ارجاعات پارامترهای آن به مقادیر واقعی ارائه شده توسط کاربر نهایی تبدیل می‌شوند.
  4. جلسه به صفحه تأیید موقعیت مکانی منتقل می‌شود.
  5. صفحه تأیید مکان دارای یک تکمیل ورودی ("آیا محل تحویل شما متفاوت است...") است که به صف پاسخ اضافه می‌شود.
  6. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: بله. ماشین را در لس‌آنجلس تحویل می‌دهم.
مامور: بسیار خب، محل تحویل شما در لس‌آنجلس خواهد بود.
نماینده: چه تاریخ و ساعتی مایلید وسیله نقلیه را تحویل بگیرید؟
  1. مسیر هدف car_rental.return_different_location در Default Start Flow تطبیق داده شده است.
  2. جلسه به صفحه محل تحویل منتقل می‌شود.
  3. ورودی کاربر نهایی، پارامتر drop_off_location را که توسط عامل در نوبت مکالمه قبلی درخواست شده بود، پر می‌کند.
  4. مسیر تکمیل فرم در صفحه «مکان تحویل» ارزیابی و فراخوانی می‌شود. این مسیر یک «اجرا» ("خب، تحویل شما...") دارد که به صف پاسخ اضافه می‌شود.
  5. جلسه به صفحه مدت زمان اجاره منتقل می‌شود.
  6. صفحه «مدت زمان اجاره» مقادیر فرم ناقصی دارد، بنابراین از کاربر پارامتر pickup_date_time ("چه تاریخ و ساعتی را برای تحویل گرفتن می‌خواهید...") را درخواست می‌کند که به صف پاسخ اضافه می‌شود.
  7. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: من می‌خواهم ماشین را ظهر ۵ مارس تحویل بگیرم.
نماینده: چه تاریخ و ساعتی مایلید وسیله نقلیه را تحویل دهید؟
  1. ورودی کاربر نهایی، پارامتر pickup_date_time درخواست شده توسط عامل در نوبت مکالمه قبلی را پر می‌کند.
  2. صفحه Rental Duration یک مقدار فرم دیگر را از دست داده است، بنابراین از کاربر پارامتر drop_off_date_time ("چه تاریخ و ساعتی را می‌خواهید تحویل دهید...") را درخواست می‌کند که به صف پاسخ اضافه می‌شود.
  3. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: ظهر ۱۵ مارس.
نماینده: بنابراین برای تأیید:

شما وسیله نقلیه را در لاس وگاس در تاریخ 2024-03-05 ساعت 12:00:00 تحویل خواهید گرفت و در تاریخ 2024-03-15 ساعت 12:00:00 آن را در لس آنجلس تحویل خواهید داد.

آیا این درست به نظر می‌رسد؟
  1. ورودی کاربر نهایی، پارامتر drop_off_date_time را که توسط عامل در نوبت مکالمه قبلی درخواست شده بود، پر می‌کند.
  2. جلسه به صفحه تأیید مدت زمان اجاره منتقل می‌شود.
  3. صفحه تأیید مدت اجاره دارای یک تکمیل ورودی ("بنابراین برای تأیید ...") است که به صف پاسخ اضافه می‌شود.
  4. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: بله، متشکرم.
مامور: عالیه! حالا بیایید یک وسیله نقلیه انتخاب کنیم.
نماینده: آیا یک وسیله نقلیه اقتصادی یا لوکس می‌خواهید؟
  1. مسیر هدف small_talk.confirmation.yes در صفحه تأیید مدت زمان اجاره مطابقت دارد.
  2. عامل انتخاب کاربر را با پیامی ("عالی! حالا بیایید انتخاب کنیم...") تأیید می‌کند، که به صف پاسخ اضافه می‌شود.
  3. جلسه به صفحه ابهام‌زدایی خودرو منتقل می‌شود.
  4. فرم صفحه ابهام‌زدایی خودرو کامل نیست، بنابراین عامل از پارامتر vehicle_type برای پرسیدن سوال از کاربر استفاده می‌کند ("آیا خودروی اقتصادی می‌خواهید یا لوکس...") که به صف پاسخ اضافه می‌شود.
  5. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: لطفا کمی اقتصادی صحبت کنید.
مامور: ماشین سیمبال رو می‌خوای یا کامیون سیمبال رو؟
  1. مسیر اینتنت $session.params.vehicle_type="economy_vehicle" تطبیق داده شده است.
  2. جلسه به صفحه گزینه‌های اقتصادی منتقل می‌شود.
  3. صفحه گزینه‌های اقتصادی یک تکمیل ورودی ("آیا مایلید ...") دارد که به صف پاسخ اضافه می‌شود.
  4. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
کاربر نهایی: کامیون سیمبال.
نماینده: هزینه کامیون سیمبال روزانه ۵۰.۳۳ دلار است. ظرفیت ۴ نفر را دارد و دارای رادیو AM/FM است. آیا مایل به پرداخت هستید؟
کاربر نهایی: بله، بفرمایید.
  1. مسیر $session.params.vehicle_type="Cymbal Truck" با اینتنت تطبیق داده شده و پارامتر vehicle_model پر شده است.
  2. جلسه به صفحه تأیید کامیون سیمبال منتقل می‌شود.
  3. صفحه تأیید کامیون سیمبال یک تکمیل ورودی دارد ("کامیون سیمبال روزانه 50.33 دلار است...") که به صف پاسخ اضافه می‌شود.
  4. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
  5. پاسخ کاربر با مسیر small_talk.confirmation.yes مطابقت دارد.
نماینده: از چه نوع کارتی استفاده خواهید کرد؟
کاربر نهایی: آلتوسترات
متصدی: لطفا شماره کارت را وارد کنید.
کاربر نهایی: ۱۲۳۴ ۱۲۳۴ ۱۲۳۴ ۱۲۳۴
مامور: اسم روی کارت چیه؟
کاربر نهایی: چارلی
نماینده: آدرس خیابان صادرکننده صورتحساب چیست؟
کاربر نهایی: بلوار آمفیبیوس ۱۸۰۰، مانتین ویو، کالیفرنیا
نماینده: کد پستی محل صدور صورتحساب چیست؟
کاربر نهایی: ۹۴۰۴۵
نماینده: شما در تاریخ 2024-03-05 ساعت 12:00:00 سیمبال کار را در لاس وگاس تحویل خواهید گرفت و در تاریخ 2024-03-15 ساعت 12:00:00 آن را تحویل خواهید داد. جمع کل هزینه این سفر 175.38 دلار خواهد بود.
نماینده: از اینکه با ما اجاره کردید متشکریم و روز خوبی داشته باشید!
  1. جلسه به صفحه پرداخت منتقل می‌شود.
  2. فرم پرداخت کامل نیست، بنابراین عامل از کاربر پارامترهای card_type ، card_number ، billing_name ، billing_street_address و billing_zip_code ("چه نوع کارتی...") را درخواست می‌کند که به ترتیب به صف پاسخ اضافه شده و همزمان با پاسخ کاربر ارسال می‌شوند. پاسخ‌های کاربر، مقدار هر پارامتر را تعیین می‌کند.
  3. جلسه به صفحه تأیید اجاره منتقل می‌شود.
  4. صفحه تأیید اجاره دارای یک تکمیل ورودی ("بسیار خب، تحویل شما ..." خواهد بود) است که به صف پاسخ اضافه می‌شود.
  5. عامل، صف پاسخ را برای کاربر نهایی ارسال می‌کند.
  6. جلسه به صفحه پایان جلسه منتقل می‌شود.

ارسال پیام‌های کارت از Dialogflow

Dialogflow می‌تواند با پیام‌های متنی یا کارتی پاسخ دهد. برای پاسخ دادن با پیام کارتی، آن را به عنوان یک payload سفارشی در بخش completion مشخص کنید.

JSON زیر نحوه ارسال پیام کارت به عنوان یک payload سفارشی در حین انجام کار را نشان می‌دهد:

جیسون

{
  '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 مربوط به هر رویداد تعامل چت به عنوان یک بار داده سفارشی در پارامتر پرس و جو به Dialogflow ارسال می‌شود و با پرس و جو از مقدار فیلد WebhookRequest.payload می‌توان با یک وب‌هوک Dialogflow به آن دسترسی پیدا کرد.
  • ملاحظات مربوط به پاسخ به دستورات اسلش و دریافت داده از کارت‌ها یا دیالوگ‌ها :
    • وقتی برنامه‌های چت Dialogflow پیامی با دستور اسلش دریافت می‌کنند، ورودی پرس‌وجو فقط شامل مقدار فیلد text است. فیلد text با نام دستور اسلش (برای مثال، /command ) شروع می‌شود، که می‌توانید از آن برای پیکربندی قصد عامل Dialogflow برای تشخیص دستور اسلش استفاده کنید.
    • اگر عامل Dialogflow نیاز به پردازش رویداد تعامل چت (Chat interaction event) با محتوای JSON داشته باشد ، می‌تواند این کار را با استفاده از یک وب‌هوک Dialogflow برای بررسی محتوای سفارشی در پارامتر پرس‌وجو انجام دهد.
    • برای نمایش یک دیالوگ از Dialogflow Agent، با یک JSON payload سفارشی واحد که شامل پیامی حاوی پاسخ اکشن DIALOG است، پاسخ دهید.
    • برای پردازش داده‌های ورودی از کارت‌ها، عامل Dialogflow می‌تواند intentهایی را که با متن CARD_CLICKED شروع می‌شوند، شناسایی کند و با یک payload سفارشی JSON که حاوی action مناسب است، پاسخ دهد.
  • پیش‌نمایش لینک‌ها پشتیبانی نمی‌شود.
  • اگر عامل Dialogflow فقط با یک پیام پاسخ دهد، آن پیام به صورت همزمان به Google Chat ارسال می‌شود. اگر عامل Dialogflow با چندین پیام پاسخ دهد، تمام پیام‌ها به صورت غیرهمزمان با فراخوانی متد create از منبع spaces.messages در Chat API برای هر پیام، به Chat ارسال می‌شوند.
  • هنگام استفاده از ادغام Dialogflow CX با Chat، عامل Dialogflow و برنامه Chat باید در یک پروژه Google Cloud یکسان تنظیم شوند. اگر نیاز به تنظیم Dialogflow و Chat در پروژه‌های Cloud مختلف دارید، می‌توانید یک سرور واسط برای تسهیل اتصال راه‌اندازی کنید. برای یادگیری نحوه انجام این کار، به این مثال ادغام Chat برای Dialogflow CX در GitHub مراجعه کنید.

عیب‌یابی

وقتی یک برنامه یا کارت چت گوگل خطایی را برمی‌گرداند، رابط چت پیامی با عنوان «مشکلی پیش آمده است» یا «درخواست شما قابل پردازش نیست» نمایش می‌دهد. گاهی اوقات رابط کاربری چت هیچ پیام خطایی را نمایش نمی‌دهد، اما برنامه یا کارت چت نتیجه غیرمنتظره‌ای را ایجاد می‌کند؛ برای مثال، ممکن است پیام کارت ظاهر نشود.

اگرچه ممکن است پیام خطا در رابط کاربری چت نمایش داده نشود، پیام‌های خطای توصیفی و داده‌های گزارش برای کمک به شما در رفع خطاها هنگام فعال بودن ثبت خطا برای برنامه‌های چت در دسترس هستند. برای کمک به مشاهده، اشکال‌زدایی و رفع خطاها، به عیب‌یابی و رفع خطاهای گوگل چت مراجعه کنید.

تمیز کردن

برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می‌کنیم پروژه Cloud را حذف کنید.

  1. در کنسول گوگل کلود، به صفحه مدیریت منابع بروید. روی منو > مدیریت و دسترسی به منابع (IAM & Admin) > مدیریت منابع (Manage Resources) کلیک کنید.

    به مدیریت منابع بروید

  2. در لیست پروژه‌ها، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی «حذف کلیک کنید.
  3. در کادر محاوره‌ای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن (Shut down) کلیک کنید.
  • Dialogflow CX از رویکرد ماشین حالت (state machine) برای طراحی عامل Dialogflow استفاده می‌کند که به شما کنترل واضح و صریحی بر مکالمه، تجربه کاربری بهتر و گردش کار توسعه بهتری می‌دهد. هنگام ساخت یک برنامه چت Dialogflow، توصیه می‌کنیم از Dialogflow CX استفاده کنید.
    • برای کسب اطلاعات بیشتر در مورد ساخت و پیکربندی عامل‌ها، به Dialogflow CX Agents مراجعه کنید.
    • برای یک راهنمای جامع که نحوه ساخت و پیکربندی عامل‌ها را به شما آموزش می‌دهد، به بخش «ایجاد یک عامل Dialogflow CX» مراجعه کنید.
    • Codelab: برای مثالی از نحوه ساخت یک عامل ذخیره داده Dialogflow CX، به برنامه Knowledge Chat از codelab Build apps for Google Chat with Gemini مراجعه کنید.
    • Codelab: برای مثالی از نحوه ساخت یک عامل مکالمه‌ای Dialogflow CX، به بازخورد برنامه چت از codelab Build apps for Google Chat with Gemini مراجعه کنید.
  • Dialogflow ES روش دیگری برای استفاده از Dialogflow با یک برنامه چت است.