این صفحه نحوه ساخت یک برنامه چت Google را توضیح میدهد که با استفاده از Dialogflow هم بتواند با زبان طبیعی بفهمد و هم پاسخ دهد. این راهنما از Dialogflow CX استفاده میکند که مستقیماً با Google Chat ادغام میشود. همچنین میتوانید از Dialogflow ES برای ایجاد یک برنامه Dialogflow ES Google Chat با دنبال کردن راهنمای Dialogflow ES Google Chat استفاده کنید.
به عنوان مثال، یک برنامه چت را در نظر بگیرید که به افراد کمک می کند ماشین اجاره کنند. یک کاربر ممکن است بنویسد، "من می خواهم یک ماشین اجاره کنم". برنامه Chat ممکن است با سؤالی مانند "از کجا میخواهید وسیله نقلیه را تحویل بگیرید؟" پاسخ دهد. که مکالمه ای شبیه به انسان را با کاربر شروع می کند که در آن برنامه چت در هنگام رزرو ماشین کرایه، هم گفتار انسان را می فهمد و هم با آن پاسخ می دهد.
این فقط یک نمونه است. برنامههای گفتگوی Dialogflow در انواع تعاملات مفید هستند. اگر به گفتار طبیعی انسان نیاز دارد، به یک برنامه گفتگوی گفتگوی جریان نیاز دارد. عوامل از پیش ساخته شده به شما کمک می کنند تا سریع شروع کنید و کارهایی را که Dialogflow می تواند انجام دهد را به نمایش بگذارید، مانند:
- رزرو پرواز
- برای قرار ملاقات با پزشک برنامه ریزی کنید
- سفارش تحویل غذا
- به سؤالات مربوط به کاتالوگ محصولات خرده فروشی پاسخ دهید، مانند اینکه آیا اقلام در رنگ های دیگر موجود هستند یا خیر
شکل 2. آزمایش عامل در Dialogflow CX برای اطمینان از کارکرد منطق و پیکربندی عامل همانطور که در نظر گرفته شده است. این نمودار مجموعهای متوالی از صفحات موضوعی را نشان میدهد که به مراحل خاصی در مکالمه مربوط میشوند، مانند تعیین مکان تحویل و بازگشت برای خودروی کرایهای، و منطقی را که آنها را به هم متصل میکند، پیکربندی میکند. مکالمه در یک شبیه ساز تست شده است. شکل 3. پیکربندی یک برنامه چت برای پردازش پاسخ ها با استفاده از عامل Dialogflow CX در صفحه پیکربندی Chat API در کنسول Google Cloud. شکل 4. مکالمه در مورد رزرو ماشین کرایه ای با برنامه Dialogflow Chat در Google Chat.
اهداف
- محیط خود را تنظیم کنید.
- یک عامل Dialogflow CX ایجاد و استقرار کنید.
- یک برنامه چت که توسط عامل Dialogflow CX پشتیبانی میشود، ایجاد و اجرا کنید.
- برنامه چت را تست کنید.
پیش نیازها
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- یک پروژه Google Cloud با فعال کردن صورتحساب. برای بررسی فعال بودن صورتحساب پروژه موجود، به تأیید وضعیت صورتحساب پروژههای خود مراجعه کنید. برای ایجاد پروژه و تنظیم صورتحساب، به ایجاد پروژه Google Cloud مراجعه کنید.
معماری
نمودار زیر معماری یک برنامه چت ساخته شده با Dialogflow را نشان می دهد:
در نمودار قبلی، کاربری که با یک برنامه گفتگوی گفتگو در حال تعامل است، جریان اطلاعات زیر را دارد:
- کاربر پیامی را در چت به یک برنامه چت، چه در یک پیام مستقیم یا در فضای چت، ارسال می کند.
- یک عامل مجازی Dialogflow که در Google Cloud قرار دارد، پیام را دریافت و پردازش میکند تا پاسخی ایجاد کند.
- به صورت اختیاری، با استفاده از یک هوک Dialogflow ، عامل Dialogflow میتواند با سرویسهای شخص ثالث خارجی، مانند سیستم مدیریت پروژه یا ابزار فروش بلیط، تعامل داشته باشد.
- عامل Dialogflow پاسخی را به سرویس برنامه Chat در Chat ارسال می کند.
- پاسخ به فضای چت تحویل داده می شود.
محیط را تنظیم کنید
قبل از استفاده از Google API، باید آنها را در پروژه Google Cloud روشن کنید. میتوانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.در کنسول Google Cloud، Google Chat API و Dialogflow API را فعال کنید.
تأیید کنید که APIها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.
یک عامل Dialogflow CX ایجاد کنید
عامل Dialogflow CX یک عامل مجازی است که مکالمات همزمان با کاربران نهایی شما را مدیریت می کند. این یک ماژول درک زبان طبیعی است که تفاوت های ظریف زبان انسانی را درک می کند. Dialogflow متن کاربر نهایی را در طول مکالمه به داده های ساختاری ترجمه می کند که برنامه ها و سرویس های شما می توانند آن را درک کنند. شما یک عامل Dialogflow را برای مدیریت انواع مکالمات مورد نیاز برای سیستم خود طراحی و می سازید.
یک نماینده Dialogflow مانند یک نماینده مرکز تماس انسانی است. شما هر دوی آنها را برای کنترل سناریوهای مکالمه مورد انتظار آموزش می دهید و نیازی نیست که آموزش شما بیش از حد صریح باشد.
در اینجا نحوه ایجاد عامل Dialogflow CX آمده است:
در کنسول Dialogflow CX، کنسول Dialogflow CX را باز کنید. > Dialogflow CX را کلیک کنید.
منویک پروژه Google Cloud را انتخاب کنید. برای پیدا کردن پروژه خود، ممکن است لازم باشد روی همه کلیک کنید و سپس آن را جستجو کنید.
اکنون شما این امکان را دارید که یک عامل از پیش ساخته شده انتخاب کنید یا خود را ایجاد کنید. اگر ترجیح میدهید بعداً سفارشیسازی عامل را با جزئیات کاوش کنید، یکی از عوامل از پیش ساخته شده را انتخاب کنید، که همچنین برای اطلاع از کارهایی که نمایندهها میتوانند انجام دهند مفید هستند.
برای انتخاب یک عامل از پیش ساخته شده، مراحل زیر را دنبال کنید:
- روی استفاده از عوامل از پیش ساخته شده کلیک کنید.
یک عامل از پیش ساخته شده را انتخاب کنید. برای این راهنما، سفر: کرایه ماشین را انتخاب کنید.
بر اساس تعداد ویژگی هایی که نماینده استفاده می کند و بر اساس پیچیدگی منطق مکالمه، نمایندگان به عنوان مبتدی، متوسط یا پیشرفته رتبه بندی می شوند. انتخاب یک عامل میانی یا پیشرفته ممکن است به تنظیمات و سفارشیسازیهای خاص نماینده نیاز داشته باشد، از جمله فعال کردن ویژگیها و APIها در کنسول Google Cloud.
روی Import as agent کلیک کنید.
برای ایجاد نماینده خود، مراحل زیر را دنبال کنید:
- روی ایجاد عامل کلیک کنید.
- برای ایجاد یک عامل ذخیره داده، Auto-generate را انتخاب کنید یا برای ایجاد انواع دیگر عوامل، Build your own را انتخاب کنید.
برای بررسی دقیق فرآیند ساخت عامل، به ایجاد یک عامل Dialogflow CX مراجعه کنید.
تنظیمات اصلی عامل را پیکربندی کنید:
- در نمایش نام ، یک نام نمایشی وارد کنید.
- مکان مورد نظر خود را انتخاب کنید. اگر میخواهید تنظیمات موقعیت مکانی پیشرفته را تغییر دهید، روی ویرایش کلیک کنید.
- منطقه زمانی مورد نظر خود را انتخاب کنید.
- زبان پیش فرض را برای نماینده خود انتخاب کنید. پس از ایجاد نمیتوانید زبان پیشفرض یک نماینده را تغییر دهید.
روی ایجاد کلیک کنید. Dialogflow CX شروع به ایجاد عامل می کند و سپس جریان شروع پیش فرض عامل را نمایش می دهد.
به صورت اختیاری، عامل را سفارشی کنید. برای بررسی دقیق فرآیند سفارشیسازی عامل، به ایجاد یک عامل Dialogflow CX مراجعه کنید.
به عنوان بهترین روش، عامل را آزمایش کنید:
- روی Test agent کلیک کنید.
- عامل تست در محیط را انتخاب کنید.
- در Environment، پیش نویس را انتخاب کنید.
- در Flow، Default Start Flow را انتخاب کنید.
- در Page، Start Page را انتخاب کنید.
- در نوار نوشتن گفتگو با عامل ،
Hello
تایپ کرده و Enter را فشار دهید. نماینده با معرفی خود پاسخ می دهد. - با انجام نمونه مکالمه تستی تست را کامل کنید.
عامل Dialogflow CX ایجاد می شود. به کنسول Dialogflow CX بازگردید. > Dialogflow CX را کلیک کنید.
منودر زیر نمایندگی ها ، روی > کپی نام کلیک کنید. این نام را همانطور که هنگام پیکربندی برنامه چت از آن استفاده می کنید، ذخیره کنید.
یک برنامه چت ایجاد کنید و آن را با عامل Dialogflow متصل کنید
پس از ایجاد یک عامل Dialogflow CX، این مراحل را دنبال کنید تا آن را به یک برنامه چت تبدیل کنید:
در کنسول Google Cloud، به Google Chat API بروید. «Google Chat API» را جستجو کنید و روی Google Chat API کلیک کنید، سپس روی Manage کلیک کنید.
روی Configuration کلیک کنید و برنامه Chat را راه اندازی کنید:
- در نام برنامه ،
Dialogflow App
وارد کنید. - در URL آواتار ،
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
را وارد کنید. - در توضیحات ،
Responds to real human conversation
را وارد کنید. - در بخش عملکرد ، دریافت پیام های 1:1 و پیوستن به فضاها و مکالمات گروهی را انتخاب کنید.
- در قسمت تنظیمات اتصال ، Dialogflow را انتخاب کنید.
- در قسمت تنظیمات Dialogflow ، Dialogflow CX را انتخاب کنید.
- در نام منبع عامل یا محیط ، نام عامل Dialogflow CX را که کپی کرده اید در انتهای گزینه Create a Dialogflow CX agent قرار دهید.
- این برنامه چت را در دسترس افراد و گروه های خاصی در دامنه خود قرار دهید و آدرس ایمیل خود را وارد کنید.
- در زیر گزارشها ، Log errors to Logging را انتخاب کنید.
- در نام برنامه ،
روی ذخیره کلیک کنید.
برنامه چت برای دریافت و پاسخ به پیام ها در چت آماده است.
برنامه چت را تست کنید
برنامه Dialogflow CX Chat را با ارسال پیام در Google Chat آزمایش کنید.
Google Chat را با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان آزمایشکننده معتمد ارائه کردهاید، باز کنید.
- روی گپ جدید کلیک کنید.
- در قسمت افزودن 1 یا چند نفر ، نام برنامه چت خود را تایپ کنید.
برنامه چت خود را از نتایج انتخاب کنید. یک پیام مستقیم باز می شود.
در پیام مستقیم جدید با برنامه،
Hello
تایپ کرده وenter
فشار دهید.برنامه Dialogflow Chat با معرفی خود پاسخ می دهد.
- با انجام نمونه مکالمه تستی تست را کامل کنید.
نمونه گفتگوی تستی
برای آزمایش برنامه Dialogflow CX Chat در کنسول Dialogflow CX یا در Google Chat، مکالمه زیر را انجام دهید. توضیح به شما کمک میکند بفهمید که چگونه عامل Dialogflow CX زبان طبیعی کاربر را تفسیر میکند و در هر مرحله از مکالمه پاسخ زبان طبیعی خود را تولید میکند. این نمونه مکالمه بر اساس نماینده از پیش ساخته شده به نام Travel: car rental است.
گفتگو | توضیح |
---|---|
کاربر نهایی: سلام نماینده: سلام! من نماینده اجاره ماشین مجازی هستم. من می توانم به شما کمک کنم تا یک رزرو کرایه ماشین جدید شروع کنید. امروز چگونه می توانم به شما کمک کنم؟ |
|
کاربر نهایی: من می خواهم یک ماشین اجاره کنم. نماینده: از کجا می خواهید وسیله نقلیه را تحویل بگیرید؟ |
|
کاربر نهایی: لاس وگاس نماینده: باشه، پیکاپ شما در لاس وگاس خواهد بود. نماینده: آیا محل تحویل شما با محل تحویل شما متفاوت است؟ |
|
کاربر نهایی: بله. من ماشین را در لس آنجلس پیاده خواهم کرد. نماینده: باشه، تحویل شما در لس آنجلس خواهد بود. نماینده: چه تاریخی و چه ساعتی دوست دارید وسیله نقلیه را تحویل بگیرید؟ |
|
کاربر نهایی: میخواهم ظهر 5 مارس ماشین را تحویل بگیرم. نماینده: چه تاریخی و چه ساعتی دوست دارید وسیله نقلیه را پیاده کنید؟ |
|
کاربر نهایی: 15 مارس در ظهر. نماینده: پس برای تایید: شما خودرو را در لاس وگاس 2024-03-05 ساعت 12:00:00 تحویل خواهید گرفت و آن را در لس آنجلس 2024-03-15 ساعت 12:00:00 تحویل خواهید داد. آیا این درست به نظر می رسد؟ |
|
کاربر نهایی: بله، متشکرم. نماینده: عالی! حالا بیایید وسیله نقلیه را انتخاب کنیم. نماینده: آیا یک وسیله نقلیه اقتصادی یا لوکس می خواهید؟ |
|
کاربر نهایی: اقتصادی، لطفا. نماینده: ماشین سنج را دوست دارید یا کامیون سنج؟ |
|
کاربر نهایی: کامیون سنج. نماینده: کامیون Cymbal 50.33 دلار در روز است. برای 4 نفر مناسب است و دارای رادیو AM/FM است. آیا می خواهید به پرداخت ادامه دهید؟ کاربر نهایی: بله، لطفا. |
|
نماینده: از چه نوع کارتی استفاده خواهید کرد؟ کاربر نهایی: Altostrat نماینده: لطفا شماره کارت را وارد کنید. کاربر نهایی: 1234 1234 1234 1234 نماینده: اسم کارت چیه؟ کاربر نهایی: چارلی نماینده: آدرس خیابان قبض چیست؟ کاربر نهایی: بلوار دوزیستان 1800 Mountain View, CA نماینده: کد پستی صورتحساب چیست؟ کاربر نهایی: 94045 نماینده: شما در لاس وگاس، 2024-03-05 ساعت 12:00:00، ماشین سنج را در لاس وگاس می گیرید و آن را تحویل می گیرید، 15-03-2024 ساعت 12:00:00. مجموع این سفر 175.38 دلار خواهد بود. نماینده: از اینکه با ما اجاره کردید متشکرم و روز فوق العاده ای داشته باشید! |
|
ارسال پیام های کارت از Dialogflow
Dialogflow می تواند با پیام های متنی یا کارتی پاسخ دهد. برای پاسخ دادن با پیام کارت، آن را به عنوان یک بار سفارشی در حال تکمیل مشخص کنید.
JSON زیر نحوه ارسال پیام کارت به عنوان بار سفارشی را نشان می دهد:
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
در پیام چت مطابقت دارد. اگر پیام حاوی دستور اسلش باشد، به جای آن از مقدار فیلدtext
استفاده می شود. - برای رویدادهای
CARD_CLICKED
، ورودی درخواست ارسال شده به عامل Dialogflow به صورتCARD_CLICKED.functionName
قالببندی میشود، جایی کهfunctionName
با مقدارfunction
شی Action متصل به عنصر کارت تعاملی (مانند یک دکمه) مطابقت دارد. - بار کامل JSON هر رویداد تعامل Chat به عنوان یک بار سفارشی در پارامتر query به Dialogflow ارسال میشود و میتوان با جستجوی مقدار فیلد
WebhookRequest.payload
با یک webhook Dialogflow به آن دسترسی داشت.
- انواع رویدادهای تعامل زیر پشتیبانی می شوند:
- ملاحظات مربوط به پاسخ به دستورات اسلش و دریافت داده ها از کارت ها یا دیالوگ ها :
- وقتی برنامههای گفتگوی Dialogflow پیامی با دستور اسلش دریافت میکنند، ورودی پرس و جو فقط حاوی مقدار فیلد
text
است. فیلدtext
با نام دستور اسلش شروع می شود (به عنوان مثال،/command
)، که می توانید از آن برای پیکربندی هدف عامل Dialogflow برای تشخیص یک دستور اسلش استفاده کنید. - اگر عامل Dialogflow نیاز به پردازش رویداد تعامل Chat محموله JSON داشته باشد، میتواند این کار را با استفاده از webhook Dialogflow برای بررسی بار سفارشی در پارامتر پرس و جو انجام دهد.
- برای نمایش یک گفتگو از Dialogflow Agent، با یک بار JSON سفارشی که شامل پیامی حاوی پاسخ اقدام
DIALOG
است، پاسخ دهید. - برای پردازش دادههای وارد شده از کارتها، عامل Dialogflow میتواند مقاصدی را شناسایی کند که با متن
CARD_CLICKED
شروع میشوند و با یک بار JSON سفارشی حاوی عملکرد مناسب پاسخ میدهند.
- وقتی برنامههای گفتگوی Dialogflow پیامی با دستور اسلش دریافت میکنند، ورودی پرس و جو فقط حاوی مقدار فیلد
- پیش نمایش پیوندها پشتیبانی نمی شود.
- اگر عامل Dialogflow فقط با یک پیام پاسخ دهد، پیام به طور همزمان به چت Google ارسال می شود. اگر عامل Dialogflow با پیامهای متعدد پاسخ دهد، با فراخوانی متد
create
در منبعspaces.messages
در Chat API یک بار برای هر پیام، همه پیامها به طور ناهمزمان به Chat ارسال میشوند. - هنگام استفاده از ادغام Dialogflow CX با Chat، عامل Dialogflow و برنامه Chat باید در همان پروژه Google Cloud راهاندازی شوند. اگر نیاز به راهاندازی Dialogflow و Chat در پروژههای Cloud مختلف دارید، میتوانید یک سرور میانی برای تسهیل اتصال راهاندازی کنید. برای یادگیری نحوه انجام این کار، به مثال ادغام Chat برای Dialogflow CX در GitHub مراجعه کنید.
عیب یابی
وقتی یک برنامه یا کارت Google Chat خطایی را برمیگرداند، رابط Chat پیامی را نشان میدهد که میگوید «مشکلی پیش آمده است». یا "نمی توان به درخواست شما رسیدگی کرد." گاهی اوقات Chat UI هیچ پیام خطایی را نمایش نمی دهد، اما برنامه یا کارت Chat نتیجه غیرمنتظره ای ایجاد می کند. برای مثال، ممکن است پیام کارت ظاهر نشود.
اگرچه ممکن است پیام خطا در رابط کاربری گپ نمایش داده نشود، پیامهای خطای توصیفی و دادههای گزارش در دسترس هستند تا به شما کمک کنند هنگام فعال بودن ثبت خطا برای برنامههای گپ، خطاها را برطرف کنید. برای راهنمایی برای مشاهده، اشکالزدایی و رفع خطاها، به عیبیابی و رفع خطاهای Google Chat مراجعه کنید.
پاک کن
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می کنیم پروژه Cloud را حذف کنید.
- در کنسول Google Cloud، به صفحه مدیریت منابع بروید. IAM & Admin > Manage Resources کلیک کنید. >
- در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
موضوعات مرتبط
- Dialogflow CX یک رویکرد ماشین حالت برای طراحی عامل Dialogflow دارد که به شما کنترل واضح و صریح روی مکالمه، تجربه کاربر نهایی بهتر و گردش کار توسعه بهتر را می دهد. هنگام ساخت یک برنامه Dialogflow Chat، توصیه می کنیم از Dialogflow CX استفاده کنید.
- برای کسب اطلاعات بیشتر در مورد ساخت و پیکربندی عوامل، به Dialogflow CX Agents مراجعه کنید.
- برای راهنمایی دقیق در مورد نحوه ساخت و پیکربندی عوامل، به ایجاد یک عامل Dialogflow CX مراجعه کنید.
- Build apps for Google Chat with Gemini مراجعه کنید. Codelab: برای مثالی از نحوه ایجاد یک عامل ذخیره داده Dialogflow CX، به برنامه Chat دانش از codelab
- Build apps for Google Chat with Gemini مراجعه کنید. Codelab: برای مثالی از نحوه ایجاد یک عامل مکالمه Dialogflow CX، به برنامه بازخورد Chat از codelab
- Dialogflow ES روش دیگری برای استفاده از Dialogflow با برنامه Chat است.