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

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

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

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

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

اهداف

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

پیش‌نیازها

معماری

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

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

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

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

راه‌اندازی محیط

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

    فعال کردن میاناهای برنامه‌سازی کاربردی

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

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

ایجاد عامل Dialogflow CX

عامل Dialogflow CX عامل مجازی‌ای است که مکالمه‌های هم‌زمان با کاربران نهایی شما را مدیریت می‌کند. این واحد درک زبان طبیعی است که تفاوت‌های ظریف زبان انسان را درک می‌کند. ‫Dialogflow نوشتار کاربر نهایی را درطول مکالمه به داده‌های ساختاریافته‌ای که برنامه‌ها و سرویس‌های شما می‌توانند درک کنند ترجمه می‌کند. شما یک عامل Dialogflow طراحی و ایجاد می‌کنید تا انواع مکالمات موردنیاز سیستم شما را مدیریت کند.

عامل Dialogflow مانند عامل مرکز تماس انسانی است. هر دو را آموزش می‌دهید تا از عهده سناریوهای مکالمه‌ای موردانتظار برآیند و آموزش شما نیاز ندارد بیش‌ازحد صریح باشد.

نحوه ایجاد عامل Dialogflow CX در اینجا آمده است:

  1. در کنسول Dialogflow CX، «کنسول Dialogflow CX» را باز کنید. روی منو > Dialogflow CX کلیک کنید.

    رفتن به کنسول Dialogflow CX

  2. پروژه Google Cloud را انتخاب کنید. برای پیدا کردن پروژه‌تان، ممکن است لازم باشد روی همه کلیک کنید و سپس آن را جستجو کنید.

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

    برای انتخاب یک عامل ازپیش‌ساخته، این مراحل را دنبال کنید:

    1. روی استفاده از عامل‌های پیش‌ساخته کلیک کنید.
    2. نماینده ازپیش ساخته‌شده‌ای را انتخاب کنید. برای این راهنما، سفر: اجاره خودرو را انتخاب کنید.

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

    3. روی وارد کردن به‌عنوان کارگزار کلیک کنید.

    برای ایجاد کردن کارگزار خودتان، این مراحل را دنبال کنید:

    1. روی ایجاد کارگزار کلیک کنید.
    2. برای ایجاد عامل فروشگاه داده ، تولید خودکار را انتخاب کنید یا برای ایجاد انواع دیگر عامل‌ها، ساختن عامل خودتان را انتخاب کنید.

    برای راهنمای گام‌به‌گام دقیق فرایند ساختن عامل، به ایجاد عامل Dialogflow CX مراجعه کنید.

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

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

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

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

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

    رفتن به کنسول Dialogflow CX

  9. در بخش کارگزاران، روی > کپی کردن نام کلیک کنید. این نام را ذخیره کنید، زیرا هنگام پیکربندی برنامه Chat از آن استفاده می‌کنید.

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

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

  1. در کنسول Google Cloud، به Google Chat API بروید. «میانای برنامه‌سازی کاربردی Google Chat» را جستجو کنید و روی میانای برنامه‌سازی کاربردی Google Chat کلیک کنید، سپس روی مدیریت کلیک کنید.

    رفتن به Chat API

  2. روی پیکربندی کلیک کنید و برنامه Chat را راه‌اندازی کنید:

    1. در نام برنامه، 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. در نام منبع «عامل» یا «محیط»، نام عامل Dialogflow CX را که در انتهای ایجاد عامل Dialogflow CX کپی کردید جای‌گذاری کنید.
    8. این برنامه Chat را برای افراد و گروه‌های خاصی دردامنه‌تان دردسترس قرار دهید و نشانی ایمیلتان را وارد کنید.
    9. در بخش گزارش‌ها، خطاهای گزارش به «گزارش‌گیری» را انتخاب کنید.
  3. روی ذخیره کلیک کنید.

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

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

برنامه «گپ Dialogflow CX» را با پیام دادن به آن در Google Chat آزمایش کنید.

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

    رفتن به Google Chat

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

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

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

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

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

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

کادر گفتگو توضیح
کاربر نهایی: سلام
نماینده: سلام! من عامل مجازی کرایه اتومبیل هستم. می‌توانم به شما کمک کنم رزرو جدیدی برای اجاره خودرو شروع کنید. امروز چطور می‌توانم به شما کمک کنم؟
  1. مسیر هدف خوشامدگویی پیش‌فرض در جریان شروع پیش‌فرض فراخوانده می‌شود.
  2. اجرای این مدیریت‌کننده حالت («سلام! من…» به صف پاسخ اضافه شد.
  3. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: می‌خواهم خودرویی اجاره کنم.
کارگزار: کجا می‌خواهید خودرو را تحویل بگیرید؟
  1. مسیر هدف car_rental.reservation_create در صفحه شروع مطابقت داده می‌شود.
  2. جلسه به صفحه مکان تحویل منتقل می‌شود.
  3. فرم صفحه مکان تحویل تکمیل نشده است، بنابراین عامل از پارامتر pickup_location برای پیام‌واره کاربر استفاده می‌کند («کجا می‌خواهید تحویل بگیرید…») که به صف پاسخ اضافه می‌شود.
  4. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: لاس‌وگاس
نماینده: بسیارخوب، شما را در لاس‌وگاس سوار می‌کنیم.
کارگزار: آیا مکان پیاده شدن شما با مکان تحویل گرفتن شما متفاوت است؟
  1. ورودی کاربر نهایی پارامتر pickup_location درخواست‌شده توسط عامل در نوبت مکالمه قبلی را تکمیل می‌کند.
  2. قصد car_rental.return_different_location مسیر در جریان شروع پیش‌فرض مطابقت داده می‌شود.
  3. مسیر تکمیل فرم در صفحه مکان سوار شدن ارزیابی و فراخوانی می‌شود. این درخواست دارای اجرا («باشه، تحویل شما…») است که به صف پاسخ اضافه می‌شود و ارجاع‌های پارامتر آن به مقادیر واقعی ارائه‌شده توسط کاربر نهایی تبدیل می‌شود.
  4. جلسه به صفحه تأیید مکان منتقل می‌شود.
  5. صفحه تأیید مکان دارای ورودی تکمیل («آیا مکان تحویل شما متفاوت است…») است، که به صف پاسخ اضافه می‌شود.
  6. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: بله. خودرو را در لس‌آنجلس تحویل می‌دهم.
نماینده: بسیارخوب، توقف شما در لس‌آنجلس خواهد بود.
کارگزار: چه تاریخ و ساعتی می‌خواهید وسیله نقلیه را تحویل بگیرید؟
  1. قصد car_rental.return_different_location مسیر در جریان شروع پیش‌فرض مطابقت داده می‌شود.
  2. جلسه به صفحه مکان تحویل منتقل می‌شود.
  3. ورودی کاربر نهایی پارامتر drop_off_location درخواست‌شده توسط عامل در نوبت مکالمه قبلی را تکمیل می‌کند.
  4. مسیر تکمیل فرم در صفحه مکان انصراف ارزیابی و فراخوانی می‌شود. این درخواست دارای یک انجام («باشه، تحویل شما…») است که به صف پاسخ اضافه می‌شود.
  5. جلسه به صفحه مدت اجاره منتقل می‌شود.
  6. صفحه مدت زمان اجاره مقادیر فرم ناقصی دارد، بنابراین کاربر را برای پارامتر pickup_date_time («چه تاریخ و ساعتی می‌خواهید تحویل بگیرید…») هدایت می‌کند، که به صف پاسخ اضافه می‌شود.
  7. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: می‌خواهم خودرو را ۵ مارس ظهر تحویل بگیرم.
نماینده: چه تاریخ و ساعتی می‌خواهید خودرو را تحویل دهید؟
  1. ورودی کاربر نهایی پارامتر pickup_date_time درخواست‌شده توسط عامل در نوبت مکالمه قبلی را تکمیل می‌کند.
  2. صفحه مدت اجاره مقدار فرم دیگری را ندارد، بنابراین از کاربر می‌خواهد پارامتر drop_off_date_time را وارد کند («در چه تاریخ و ساعتی می‌خواهید تحویل دهید…»). که به صف پاسخ اضافه می‌شود.
  3. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: ۱۵ مارس ظهر.
کارگزار: برای تأیید:

خودرو را در لاس‌وگاس ۲۰۲۴-۰۳-۰۵ ساعت ۱۲:۰۰:۰۰ تحویل می‌گیرید و در لس‌آنجلس ۲۰۲۴-۰۳-۱۵ ساعت ۱۲:۰۰:۰۰ تحویل می‌دهید

درست است؟
  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. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
کاربر نهایی: Cymbal Truck.
نماینده: «کامیون سنج» ۵۰.۳۳ دلار در روز است. این خودرو ۴ نفر ظرفیت دارد و رادیو AM/FM دارد. آیا می‌خواهید به پرداخت بروید؟
کاربر نهایی: بله، لطفاً.
  1. هدف $session.params.vehicle_type="Cymbal Truck" مسیر مطابقت داده می‌شود و پارامتر vehicle_model تکمیل می‌شود.
  2. جلسه به صفحه تأیید کامیون سنج منتقل می‌شود.
  3. صفحه تأیید کامیون سنج دارای یک ورودی تکمیل است («کامیون سنج ۵۰٫۳۳ دلار در روز است…»)، که به صف پاسخ اضافه می‌شود.
  4. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
  5. پاسخ کاربر با مسیر small_talk.confirmation.yes مطابقت دارد.
کارشناس: از چه نوع کارتی استفاده خواهید کرد؟
کاربر نهایی: Altostrat
نماینده: لطفاً شماره کارت را وارد کنید.
کاربر نهایی: ۱۲۳۴ ۱۲۳۴ ۱۲۳۴ ۱۲۳۴
نماینده: نام روی کارت چیست؟
کاربر نهایی: چارلی
کارگزار: نشانی خیابان صورت‌حساب چیست؟
کاربر نهایی: 1800 Amphibious Blvd. Mountain View, CA
نماینده: کد پستی صورت‌حساب چیست؟
کاربر نهایی: ۹۴۰۴۵
نماینده: خودرو Cymbal را در تاریخ ۲۰۲۴-۰۳-۰۵ ساعت ۱۲:۰۰:۰۰ در لاس‌وگاس تحویل می‌گیرید و در تاریخ ۲۰۲۴-۰۳-۱۵ ساعت ۱۲:۰۰:۰۰ تحویل می‌دهید. مجموع این سفر ۱۷۵.۳۸ دلار خواهد بود.
نماینده: از اینکه با ما اجاره کردید سپاس‌گزاریم و روز خوبی داشته باشید!
  1. جلسه به صفحه پرداخت منتقل می‌شود.
  2. فرم پرداخت کامل نیست، بنابراین نماینده از کاربر می‌خواهد پارامترهای card_type، card_number، billing_name، billing_street_address، و billing_zip_code را ارائه دهد («از چه نوع کارتی...»). که به‌ترتیب به صف پاسخ اضافه می‌شوند و با پاسخ کاربر ارسال می‌شوند. پاسخ‌های کاربر مقدار هر پارامتر را تنظیم می‌کند.
  3. جلسه به صفحه تأیید اجاره منتقل می‌شود.
  4. صفحه تأییدیه اجاره دارای ورودی انجام ("باشه، تحویل شما در... خواهد بود")، که به صف پاسخ اضافه می‌شود.
  5. عامل صف پاسخ را به کاربر نهایی ارسال می‌کند.
  6. جلسه به صفحه پایان جلسه منتقل می‌شود.

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

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

‫JSON زیر نشان می‌دهد چگونه پیام کارت را به‌عنوان بار سفارشی در انجام درخواست ارسال کنید:

json

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "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"
        }}
      }]}}]}]
    }
  }]}
}}}}

محدودیت‌ها و ملاحظات

  • هنگام استفاده از برنامه‌های Google Chat با Dialogflow، اشیا رویداد گپ محدودیت‌ها و ملاحظات زیر را دارند:
    • رویدادهای صفحه اصلی برنامه: پشتیبانی از APP_HOME رویداد هنوز دردسترس نیست.
    • ورودی پُرسمان Dialogflow: نوشتار ارسال‌شده به‌عنوان ورودی پُرسمان به عامل Dialogflow به نوع رویداد بستگی دارد:
      • MESSAGE: مقدار فیلد argumentText از پیام گپ.
      • APP_COMMAND: رشته "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: رشته "ADDED_TO_SPACE_PAYLOAD".
      • REMOVED_FROM_SPACE: رشته "REMOVED_FROM_SPACE_PAYLOAD".
      • CARD_CLICKED: رشته "BUTTON_CLICKED_PAYLOAD".
      • WIDGET_UPDATED: رشته "WIDGET_UPDATED_PAYLOAD" (برای تکمیل خودکار استفاده می‌شود).
    • پایه‌بار رویداد کامل: پایه‌بار کامل JSON رویداد تعامل Chat در فیلد WebhookRequest.payload به Dialogflow ارسال می‌شود. می‌توانید در وب‌قلاب Dialogflow به این دسترسی داشته باشید. برای اطلاعات بیشتر، به مستندات درخواست وب‌قلاب Dialogflow CX مراجعه کنید.
  • ملاحظات مربوط به پاسخ دادن به فرمان‌ها و دریافت داده از کارت‌ها یا چارگوش‌های گفتگو:
    • اگر نماینده Dialogflow نیاز دارد پایه‌بار JSON رویداد تعامل Chat را پردازش کند، می‌تواند بااستفاده از قلاب وب Dialogflow پایه‌بار سفارشی را در پارامتر پُرسمان بازرسی کند.
    • برای نمایش کادر گفتگو از «عامل Dialogflow»، با یک پایه‌بار JSON سفارشی واحد که حاوی شیء RenderActions با pushCard پیمایش است پاسخ دهید.
    • برای پردازش داده‌های واردشده از کارت‌ها، می‌توانید از وب‌قلاب Dialogflow استفاده کنید و با یک پایه‌بار JSON سفارشی واحد که حاوی کنش مناسب است پاسخ دهید.
  • از پیش‌نمایش پیوند پشتیبانی نمی‌شود.
  • اگر نماینده Dialogflow فقط با یک پیام پاسخ دهد، پیام به‌صورت هم‌زمان به Google Chat ارسال می‌شود. اگر نماینده Dialogflow با چندین پیام پاسخ دهد، همه پیام‌ها با فراخوانی روش create در منبع spaces.messages در Chat API یک‌بار برای هر پیام به‌صورت ناهم‌زمان به Chat ارسال می‌شوند.
  • هنگام استفاده از ادغام Dialogflow CX با Chat، عامل Dialogflow و برنامه Chat باید در پروژه Google Cloud یکسانی راه‌اندازی شوند. اگر لازم است Dialogflow و Chat را در پروژه‌های Cloud مختلف راه‌اندازی کنید، می‌توانید سرور واسطه‌ای راه‌اندازی کنید تا اتصال را تسهیل کند. برای آشنایی با نحوه انجام این کار، این ادغام Chat برای نمونه Dialogflow CX در GitHub را ببینید.

عیب‌یابی

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

  • گزارش‌های برافزای Google Workspace: گزارش‌های پُرسمان برای اطلاعات دقیق درباره رفتار برنامه Chat، ازجمله تعاملات آن با Chat. گزارش‌های پُرسمان برای «برافزاهای Google Workspace» را ببینید.

  • خطاهای برنامه Google Chat: برای پیام‌های خطای عمومی برنامه Chat و رفع آن‌ها، به عیب‌یابی و رفع خطاهای برنامه Chat مراجعه کنید.

  • «ثبت گزارش Cloud در Dialogflow CX»: مطمئن شوید «ثبت گزارش Cloud» در تنظیمات عامل Dialogflow فعال باشد تا گزارش‌های اجرای دقیق، ازجمله خطاهای عامل و تعاملات وب‌قلاب، ضبط شود. در مستندات تنظیمات عامل Dialogflow CX با نحوه فعال کردن و پیکربندی این ویژگی آشنا شوید. این گزارش‌ها را می‌توانید در «کاوشگر گزارش‌های» «کنسول Google Cloud» مشاهده کنید.

  • سابقه مکالمه Dialogflow CX: تعاملات گذشته را بررسی کنید تا جریان مکالمه را درک کنید و مکان بروز مشکلات را شناسایی کنید. سابقه مکالمه را ببینید.

  • عیب‌یابی عمومی Dialogflow: برای مشکلات گسترده‌تر Dialogflow، به راهنمای عیب‌یابی Dialogflow CX مراجعه کنید.

مرتب‌سازی

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

  1. در کنسول Google Cloud، به صفحه مدیریت منابع بروید. روی منو > IAM و سرپرست > مدیریت منابع کلیک کنید.

    به «مدیر منابع» بروید

  2. در فهرست پروژه، پروژه‌ای را که می‌خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
  3. در چارگوش گفتگو، شناسه پروژه را تایپ کنید و سپس روی خاموش کردن کلیک کنید تا پروژه حذف شود.
  • Dialogflow CX از رویکرد ماشین حالت برای طراحی عامل Dialogflow استفاده می‌کند که به شما کنترل واضح و صریحی بر مکالمه، تجربه بهتر کاربر نهایی، و گردش کار توسعه بهتر می‌دهد. هنگام ساختن برنامه Dialogflow Chat، توصیه می‌کنیم از Dialogflow CX استفاده کنید.
  • Dialogflow ES روش دیگری برای استفاده از Dialogflow با برنامه Chat است.

برنامه‌های گپی که برافزا نیستند: ساختن برنامه Google Chat در Dialogflow CX

اگر درحال ساختن یا نگهداری برنامه Chat هستید که برافزای Google Workspace نیست، به تفاوت‌های زیر در پیکربندی، بار داده، و رویداد توجه کنید.

پیکربندی برنامه «گپ Dialogflow CX» که برافزا نیست

هنگام پیکربندی Google Chat API در کنسول Google Cloud:

  1. ساخت این برنامه Chat به‌عنوان برافزای Google Workspace را لغو انتخاب کنید. کادر گفتگویی باز می‌شود که از شما می‌خواهد تأیید کنید. در چارگوش گفتگو، روی غیرفعال کردن کلیک کنید.
  2. تنظیمات پیکربندی Dialogflow CX باقی‌مانده را تکمیل کنید و روی ذخیره کردن کلیک کنید.

ارسال پیام‌های کارت از برنامه Chat در Dialogflow CX که برافزا نیست

در برنامه Chat که برافزا نیست، شیء سطح بالایی را در cardsV2 پایه‌بار سفارشی Dialogflow در اجرا مشخص کنید:

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"
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

محدودیت‌ها و ملاحظات برای برنامه‌های «گپ Dialogflow CX» که برافزا نیستند

  • رویدادهای تعامل گپ از پشتیبانی و ملاحظات زیر برخوردارند:
    • انواع رویداد تعامل زیر پشتیبانی می‌شوند:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • برای رویدادهای MESSAGE یا ADDED_TO_SPACE، ورودی پُرسمان ارسال‌شده به عامل Dialogflow با مقدار فیلد argumentText در پیام Chat مطابقت دارد. اگر پیام شامل فرمان خط مورب باشد، به‌جای آن از مقدار فیلد text استفاده می‌شود.
    • برای رویدادهای CARD_CLICKED، ورودی پُرسمان ارسال‌شده به عامل Dialogflow به‌صورت CARD_CLICKED.functionName قالب‌بندی می‌شود، که در آن functionName با مقدار فیلد function از شیء کنش پیوست‌شده به عنصر کارت تعاملی (مثل دکمه) مطابقت دارد.
    • پایه‌بار کامل JSON هر رویداد تعامل Chat به‌عنوان پایه‌بار سفارشی در پارامتر پُرسمان به Dialogflow ارسال می‌شود، و با پُرسمان کردن مقدار فیلد WebhookRequest.payload می‌توان ازطریق قلاب وب Dialogflow به آن دسترسی داشت.
  • ملاحظات مربوط به پاسخ دادن به فرمان‌های خط مورب و دریافت داده از کارت‌ها یا چارگوش‌های گفتگو در برنامه‌های Chat که برافزا نیستند:
    • وقتی برنامه‌های Dialogflow Chat که برافزا نیستند پیامی با فرمان خط مورب دریافت می‌کنند، ورودی پُرسمان فقط حاوی مقدار فیلد text است. فیلد text با نام فرمان خط مورب (برای مثال، /command) شروع می‌شود که می‌توانید از آن برای پیکربندی هدف عامل Dialogflow برای شناسایی فرمان خط مورب استفاده کنید.
    • برای نمایش کادر گفتگو از نماینده Dialogflow در برنامه Chat که برافزا نیست، با یک پایه‌بار JSON سفارشی تکی که شامل پیامی حاوی DIALOG پاسخ کنش است پاسخ دهید.
    • برای پردازش داده‌های واردشده از کارت‌ها در برنامه Chat که برافزا نیست، کارگزار Dialogflow می‌تواند هدف‌هایی را که با نوشتار CARD_CLICKED شروع می‌شوند شناسایی کند و با یک پایه‌بار JSON سفارشی واحد حاوی کنش مناسب پاسخ دهد.