ایجاد یک عامل RBM مبتنی بر Dialogflow (Basic)

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

قرار است در این کد لبه چه چیزی بسازید؟

  • یک عامل Dialogflow که مکالمه یک عامل RBM را تقویت می کند
  • یک رابط مکالمه برای یک پیتزافروشی خیالی که به کاربران پیشنهاد تخفیف می فرستد و به آنها اجازه می دهد به منوی رستوران نگاه کنند.

چیزی که یاد خواهید گرفت

  • نحوه استفاده از ساختار اصلی Dialogflow برای ایجاد یک رابط مکالمه
  • نحوه ایجاد انواع پاسخ RBM از Dialogflow به منظور ایجاد یک تجربه RBM غنی برای کاربران

آنچه شما نیاز دارید

  • حساب Google پلت فرم RBM شما

اولین نماینده خود را ایجاد و پرس و جو کنید

مدت زمان: 30:00

اولین عامل Dialogflow خود را ایجاد کنید

برای ایجاد یک عامل Dialogflow:

  1. یک برگه جدید باز کنید و وارد Dialogflow شوید .
  2. روی ایجاد عامل در ناوبری سمت چپ کلیک کنید.

  3. "CodelabRBMPizzaPlace" را برای نام نماینده خود، "English" را به عنوان زبان پیش فرض وارد کنید و منطقه زمانی پیش فرض را بر روی منطقه زمانی خود تنظیم کنید.

  4. روی ایجاد کلیک کنید.

کنسول Dialogflow

اکنون باید کنسول Dialogflow را ببینید. اگر روی صفحه کوچک‌تری کار می‌کنید و پیمایش سمت چپ پنهان است، روی دکمه پیمایش در گوشه بالا سمت چپ کلیک کنید. دکمه تنظیمات شما را به تنظیمات نماینده فعلی می برد.

وسط صفحه فهرستی از مقاصد عامل را نشان می دهد. به طور پیش فرض، عوامل Dialogflow با دو هدف شروع می شوند. نماینده شما زمانی که متوجه نمی‌شود کاربران شما چه می‌گویند، با پیش‌فرض Fallback Intent مطابقت دارد. پیش‌فرض خوش‌آمدگویی به کاربران شما خوشامد می‌گوید. شما می توانید این اهداف را برای سفارشی کردن تجربه تغییر دهید.

در سمت راست شبیه ساز Dialogflow است. این به شما امکان می دهد نماینده خود را با صحبت کردن یا تایپ پیام ها امتحان کنید.

پرس و جو از نماینده شما

عوامل Dialogflow به بهترین وجه به عنوان ماژول های NLU (درک زبان طبیعی) توصیف می شوند. اینها می توانند در برنامه، محصول یا خدمات شما گنجانده شوند تا درخواست های کاربر طبیعی را به داده های عملی تبدیل کنند.

وقت آن است که نماینده خود را امتحان کنید! در شبیه ساز سمت راست، روی فیلد متنی که می گوید Try it now را کلیک کنید، "Hi" را تایپ کنید و Enter را فشار دهید.

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

یک عامل RBM ایجاد کنید

وارد کنسول توسعه دهنده Business Communications شوید ، سپس روی ایجاد عامل کلیک کنید.

در قسمت نام، «مکان پیتزا نام شما» را وارد کنید (مانند «مکان پیتزای شان»)، یک منطقه را انتخاب کنید و روی ایجاد نماینده کلیک کنید.

عامل RBM خود را به Dialogflow وصل کنید

پس از ایجاد عامل RBM، روی عامل کلیک کنید تا صفحه نمای کلی نماینده را ببینید. روی پیوند Integrations در ناوبری سمت چپ کلیک کنید.

به طور پیش‌فرض، عامل RBM از Google Cloud Pub/Sub برای مدیریت پیام‌های کاربر استفاده می‌کند. برای اتصال عامل RBM خود به عامل Dialogflow که قبلا ایجاد کردید، روی ادغام Dialogflow کلیک کنید.

در گفتگو، روی اتصال مدل موجود کلیک کنید. دستورالعمل‌ها را دنبال کنید تا به نماینده RBM خود اجازه دهید با نماینده Dialogflow تماس بگیرد. وقتی دستورالعمل ها را کامل کردید، سپس روی Next کلیک کنید.

در نهایت، باید ID پروژه Dialogflow را ارائه دهید. در یک برگه مرورگر متفاوت از Business Communications Developer Console، به Dialogflow بروید و عامل CodelabRBMPizzaPlace را که قبلا ایجاد کردید باز کنید. روی نماد چرخ دنده در نزدیکی نام پروژه در ناوبری سمت چپ کلیک کنید.

با کلیک بر روی آن به تنظیمات مدل هدایت می شوید. در پروژه GOOGLE، شناسه پروژه را پیدا کرده و کپی کنید.

با باز کردن کنسول توسعه‌دهنده Business Communications به برگه خود بازگردید، شناسه پروژه را در گفتگو جای‌گذاری کنید، سپس روی Start integration کلیک کنید.

این فرآیند حدود دو دقیقه طول می کشد تا کامل شود. پس از تکمیل، باید گزینه Dialogflow integration برجسته شده و یک پیوند View agent را مشاهده کنید.

همه پیام‌ها به و از نماینده شما اکنون توسط نماینده CodelabRBMPizzaPlace Dialogflow مدیریت می‌شوند.

دستگاه تست خود را دعوت کنید و پیام ارسال کنید

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

از Business Communications Developer Console، روی Devices در ناوبری سمت چپ کلیک کنید. در فرم، شماره تلفن کامل دستگاه خود را با فرمت E.164 وارد کنید (به عنوان مثال +12223334444) و روی افزودن کلیک کنید.

در دستگاه خود، دعوتنامه آزمایشی را دریافت می کنید. روی Make me a tester ضربه بزنید.

در مرورگر خود، دستگاه خود را در لیست دستگاه ها پیدا کنید و یک پیام آزمایشی برای دستگاه خود ارسال کنید. اگر از نماینده RBM خود پیامی بر روی دستگاه خود دریافت کردید، برای ادامه کار با این لبه کد آماده هستید.

ایجاد قصد خوش آمدگویی شما

معمولاً با یک عامل RBM مبتنی بر Dialogflow، برای شروع یک مکالمه، یک تماس API برقرار می‌کنید که شماره تلفن کاربر و هدف Dialogflow را که مکالمه را شروع می‌کند مشخص می‌کند (معمولاً قصد خوش آمدگویی نماینده شما). برای این کد، از این مرحله می گذریم و به جای آن از رشته مکالمه ای که قبلاً در مرحله قبل با دستگاه آزمایشی کنسول توسعه دهنده ارتباطات تجاری ایجاد کرده بودیم استفاده می کنیم. با این حال، اگر می‌خواهید درباره این ویژگی API بیشتر بخوانید، این راهنما را بررسی کنید.

بیایید با افزودن پاسخ‌های RBM به پیش‌فرض پیش‌فرض پیش‌فرض آغاز کنیم تا Dialogflow بتواند از آن با عامل RBM شما استفاده کند. ابتدا به برگه مرورگری که Dialogflow باز است بروید. روی پیوند Intents در ناوبری سمت چپ کلیک کنید. با کلیک کردن روی سطل زباله در گوشه سمت راست بالا، نمونه ساده "پاسخ متن" را حذف کنید. سپس، روی Default Welcome Intent کلیک کنید، به بخش پاسخ ها بروید، روی + در لیست انواع پاسخ ها کلیک کنید و RCS Business Messaging (RBM) را انتخاب کنید.

روی Add Responses کلیک کنید، سپس Simple Response را انتخاب کنید. در فیلد متنی برای پاسخ ساده ، "پیتزای روز شان را بررسی کنید! هر پیتزای 12 اینچی بخرید و یک عدد رایگان دریافت کنید!" (نام خود را جایگزین Sean کنید)، سپس روی ذخیره کلیک کنید.

شروع گفتگو

اکنون که قصد خوش آمدگویی را پیکربندی کرده‌اید، به دستگاه آزمایشی خود برگردید و پیام «سلام» را ارسال کنید. این پیام هدف پیش‌فرض خوش‌آمدگویی را فعال می‌کند و شما باید چیزی شبیه به تصویر زیر ببینید.

قصد خوش آمدگویی خود را به روز کنید

اکنون که Dialogflow یک پیام ساده ارسال می کند، بیایید پیام را به روز کنیم تا کمی جذاب تر باشد. ما نه تنها می‌خواهیم پیامی در مورد معامله روز ارسال کنیم، بلکه تصویری را نیز ارسال می‌کنیم تا کاربر دریافت‌کننده را جلب کنیم و برخی اقدامات دیگر را که ممکن است بخواهند انجام دهند به او ارائه دهیم.

بیایید پیام تبلیغاتی پیتزای پاسخ ساده خود را با کارتی جایگزین کنیم که حاوی یک تصویر است و گزینه هایی برای مشاهده منوی کامل و وب سایت رستوران ارائه می دهد.

در بخش پاسخ‌های پیش‌فرض خوش‌آمدگویی ، تب RCS Business Messaging (RBM) را انتخاب کنید. متن پاسخ ساده موجود را با "به پیتزای شان خوش آمدید. پیشنهاد تبلیغاتی امروز را بررسی کنید!" به روز کنید. در مرحله بعد، روی افزودن پاسخ ها کلیک کنید و کارت غنی مستقل را انتخاب کنید.

در فرم Standalone Rich Card موارد زیر را وارد کنید:

  • عنوان کارت : هر پیتزای 12 اینچی را بخرید و یک عدد رایگان دریافت کنید!
  • توضیحات کارت : برای استفاده از این پیشنهاد، این پیام را در هر مکان شرکت کننده نشان دهید. پیشنهاد 2/17 به پایان می رسد.
  • جهت کارت: عمودی را انتخاب کنید
  • آدرس تصویر/ویدیو : https://storage.googleapis.com/df-rbm-codelab/pizza-ad-coupon.png
  • ارتفاع رسانه: متوسط ​​را انتخاب کنید

روی افزودن پیشنهاد کلیک کنید و موارد زیر را وارد کنید:

  • متن پیشنهاد : مشاهده منو
  • پیشنهاد بازپس گیری: reply_view_menu

با کلیک بر روی Add Suggestion و سپس انتخاب Open URL Action از منوی بازشو و وارد کردن موارد زیر، یک اقدام URL باز اضافه کنید:

  • متن پیشنهاد : مشاهده وب سایت
  • پیشنهاد بازپس گیری: reply_view_website
  • URL برای باز کردن : https://www.google.com (یا هر URL معتبر)

روی ذخیره کلیک کنید.

آن را امتحان کنید!

هنگامی که مدل گفت "آموزش نماینده کامل شد" به دستگاه خود برگردید و پیام "سلام" را برای نماینده خود ارسال کنید. اکنون باید Simple Response را ببینید و سپس کارت Rich Standalone را که به تازگی طراحی کرده اید مشاهده کنید.

روی View menu ضربه بزنید. توجه داشته باشید که Default Fallback Intent فعال می شود. این به این دلیل است که نماینده Dialogflow شما نمی‌داند چگونه داده‌های پس‌بازگشتی را که برای این پیشنهاد، "reply_view_menu" پیکربندی کرده‌اید، مدیریت کند.

بیایید این را درست کنیم.

ایجاد هدف منوی شما

Dialogflow از intent ها برای دسته بندی مقاصد کاربر استفاده می کند. Intent عبارات آموزشی دارد، که نمونه هایی از آنچه کاربر ممکن است به نماینده شما بگوید است. به عنوان مثال، شخصی که می خواهد منو بداند ممکن است بپرسد: "منو شما چیست؟"، "چه چیزی می توانم بخورم؟" یا "چه چیزی می توانم سفارش دهم؟"

همه این جستجوها منحصر به فرد هستند اما هدف یکسانی دارند: دریافت اطلاعات در مورد منو.

برای پوشش دادن این عبارت، یک هدف "Menu" ایجاد کنید:

  1. در پیمایش سمت چپ، روی + در کنار Intents کلیک کنید.
  2. برای Intent name ، "Menu" را وارد کنید.
  3. در زیر عبارات آموزشی ، روی افزودن عبارت کاربر کلیک کنید و موارد زیر را وارد کنید و بعد از هر ورودی اینتر را فشار دهید:

    • What's your menu?
    • What can I eat?
    • What can I order?
    • reply_view_menu

    این آخرین عبارت آموزشی برای نگاشت داده های postback که در بخش قبلی با این هدف پیکربندی کرده اید استفاده می شود.

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

  1. در قسمت Responses ، روی + کلیک کنید و RCS Business Messaging (RBM) را انتخاب کنید.
  2. روی Add Responses کلیک کنید و Carousel Rich Card را انتخاب کنید.
  3. گزینه Select Card Width را روی Medium قرار دهید.
  4. در زیر گزینه عرض، دو بار روی Add Card کلیک کنید. این تعداد کارت ها را به 4 عدد افزایش می دهد.
  5. در کارت 1 موارد زیر را وارد کنید:
    • عنوان کارت : سوسیس و پپرونی
    • توضیحات کارت : سوسیس، پپرونی، زیتون و فلفل سبز
    • آدرس تصویر/ویدیو : https://storage.googleapis.com/df-rbm-codelab/sausage-pizza.jpg
  6. در کارت 3 موارد زیر را وارد کنید:
    • عنوان کارت : ایتالیایی
    • توضیحات کارت : سس گوجه فرنگی، پنیر و سوسیس
    • آدرس تصویر/ویدیو : https://storage.googleapis.com/df-rbm-codelab/italian-pizza.jpg
  7. در کارت 2 موارد زیر را وارد کنید:
    • عنوان کارت : Margherita
    • توضیحات کارت : گوجه فرنگی سن مارزانو، پنیر موزارلا، ریحان تازه، نمک و روغن زیتون فوق بکر
    • آدرس تصویر/ویدیو : https://storage.googleapis.com/df-rbm-codelab/margarita-pizza.jpg
  8. در کارت 4 موارد زیر را وارد کنید:
    • عنوان کارت : Supreme
    • توضیحات کارت : سوسیس، پپرونی، همبرگر، بیکن کانادایی، پیاز، زیتون، قارچ و فلفل سبز
    • آدرس تصویر/ویدیو : https://storage.googleapis.com/df-rbm-codelab/supreme-pizza.jpg

به دنبال موارد کارت، همچنین باید راهی برای ادامه مکالمه برای کاربر فراهم کنیم. برای پشتیبانی از این امر، روی Add Responses کلیک کنید و Simple Response را انتخاب کنید و متن "Want to do something other؟" را وارد کنید.

در Simple Response، روی Add Suggestion کلیک کنید و موارد زیر را وارد کنید:

  • متن پیشنهاد : تبلیغات را مشاهده کنید
  • ارسال پیشنهاد : سلام

روی ذخیره کلیک کنید.

آن را امتحان کنید!

حالا سعی کنید منو را از نماینده خود بخواهید. در دستگاهتان، در مکالمه نماینده RBM، «در منو چه چیزی است؟» را وارد کنید. و پیام را برای نماینده خود ارسال کنید.

نماینده شما اکنون به پرس و جو به درستی پاسخ می دهد. توجه داشته باشید که اگرچه درخواست شما کمی با عبارت آموزشی متفاوت بود ("در منو چیست؟" در مقابل "منو چیست؟")، Dialogflow همچنان پرس و جو را با هدف درست مطابقت داد. همچنین می توانید روی مشاهده آیتم منو در کارت غنی ضربه بزنید.

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

گرفتن مقاصد بدون پاسخگویی

شما تقریباً تمام شده اید، اما آخرین کاری که باید انجام دهیم وجود دارد. اگر به دستگاه آزمایشی خود بازگردید و روی پیشنهاد وب‌سایت مشاهده در کارت غنی اولیه ضربه بزنید، متوجه خواهید شد که ضربه زدن روی این پیشنهاد نه تنها URL مرتبط را باز می‌کند، بلکه پیامی را نیز دریافت می‌کنید که توسط Default Fallback Intent فعال می‌شود .

دلیل آن این است که Open URL Action متن بازپس‌گیری «reply_view_website» را به Dialogflow می‌فرستد، زمانی که روی عملکرد ضربه می‌زنید و Dialogflow آن را به پیش‌فرض Fallback Intent نگاشت می‌کند.

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

ایجاد هدف بدون پاسخ شما

برای پوشش اقداماتی که می‌خواهید نادیده بگیرید، یک هدف «بدون پاسخ» ایجاد کنید:

  1. در پیمایش سمت چپ، روی + در کنار Intents کلیک کنید.
  2. برای Intent name ، "بدون پاسخ" را وارد کنید.
  3. در زیر عبارات آموزشی ، روی افزودن عبارت کاربر کلیک کنید و موارد زیر را وارد کنید و بعد از هر ورودی اینتر را فشار دهید:
    • reply_view_website
  4. به پایین بروید و به Responses بروید و با استفاده از نماد سطل زباله، همه پاسخ ها را حذف کنید.

روی ذخیره کلیک کنید.

آن را امتحان کنید!

در دستگاه خود، در مکالمه برای نماینده RBM خود، "hi" را وارد کنید و پیام را برای نماینده خود ارسال کنید. این باعث می‌شود که پیشنهاد تبلیغاتی از سوی پیش‌فرض پیش‌فرض خوش‌آمدگویی انجام شود. روی پیشنهاد مشاهده وب سایت کلیک کنید و مشاهده کنید که وب سایت در مرورگر باز می شود و هیچ پاسخی از طرف نماینده ارسال نمی شود.

شما تمام شده اید!

مدت زمان: 1:00

کارت خوب بود!

اکنون شما تمام مراحل ساخت یک عامل RBM ساده را که توسط Dialogflow طراحی شده است، پشت سر گذاشته اید.

اگر علاقه مند به یادگیری بیشتر هستید، از کدهای پیشرفته ما دیدن کنید.

از توسعه برای این پلت فرم جدید هیجان انگیز لذت ببرید!