این صفحه نحوه ساخت یک برنامه Google Chat را به عنوان یک افزونه Google Workspace که از Dialogflow ES برای درک و پاسخ به زبان طبیعی استفاده میکند، توضیح میدهد. همچنین میتوانید با دنبال کردن راهنمای Dialogflow CX Google Chat، از Dialogflow CX که مستقیماً با Google Chat ادغام شده است، برای ساخت یک برنامه Dialogflow CX Google Chat استفاده کنید.
اهداف
- محیط خود را تنظیم کنید.
- یک عامل Dialogflow ES ایجاد و مستقر کنید.
- یک برنامه چت با استفاده از عامل Dialogflow ES ایجاد و مستقر کنید.
- برنامه چت را آزمایش کنید.
پیشنیازها
- یک حساب کاربری تجاری یا سازمانی Google Workspace با دسترسی به Google Chat .
- یک پروژه Google Cloud با قابلیت پرداخت فعال. برای بررسی اینکه آیا پرداخت در یک پروژه موجود فعال است یا خیر، به تأیید وضعیت پرداخت پروژههای خود مراجعه کنید. برای ایجاد یک پروژه و تنظیم پرداخت، به ایجاد یک پروژه Google Cloud مراجعه کنید.
معماری
نمودار زیر معماری یک برنامه چت ساخته شده با Dialogflow را نشان میدهد:
در نمودار قبلی، کاربری که با یک برنامه چت Dialogflow تعامل دارد، جریان اطلاعات زیر را دارد:
- کاربر پیامی را در چت به یک برنامه چت، چه در پیام مستقیم و چه در فضای چت، ارسال میکند.
- یک عامل مجازی Dialogflow که در آن قرار دارد ، پیام را دریافت و پردازش میکند تا پاسخی تولید کند.
- به صورت اختیاری، با استفاده از یک وبهوک Dialogflow ، عامل Dialogflow میتواند با سرویسهای شخص ثالث خارجی، مانند یک سیستم مدیریت پروژه یا یک ابزار تیکتینگ، تعامل داشته باشد.
- عامل Dialogflow پاسخی را به سرویس برنامه Chat در Chat ارسال میکند.
- پاسخ به فضای چت ارسال میشود.
محیط را تنظیم کنید
قبل از استفاده از APIهای گوگل، باید آنها را در یک پروژه گوگل کلود فعال کنید. میتوانید یک یا چند API را در یک پروژه گوگل کلود فعال کنید.در کنسول API گوگل، Google Chat API و Dialogflow API را فعال کنید.
تأیید کنید که APIها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال میکنید، سپس روی فعال کردن کلیک کنید.
یک عامل ES از نوع Dialogflow ایجاد کنید
اگر عامل ES مربوط به Dialogflow را ندارید:
- به کنسول Dialogflow ES بروید.
- روی ایجاد نماینده کلیک کنید.
- یک نام به آن بدهید، یک زبان پیشفرض و منطقه زمانی انتخاب کنید.
- آن را با پروژه ابری خود مرتبط کنید.
- روی ایجاد کلیک کنید.
- در صورت نیاز برای جریان مکالمه برنامه چت خود، اهداف و موجودیتهای خود را بسازید. میتوانید با یک هدف خوشامدگویی شروع کنید.
- شناسه پروژه خود را یادداشت کنید.
برای راهنمای دقیق، به ساخت یک عامل مراجعه کنید.
یک برنامه چت ایجاد کنید و آن را به عامل Dialogflow متصل کنید
پس از ایجاد یک عامل ES از نوع Dialogflow، این مراحل را برای تبدیل آن به یک برنامه چت دنبال کنید:
در کنسول API گوگل، به Google Chat API بروید. عبارت "Google Chat API" را جستجو کنید و روی Google Chat API کلیک کنید، سپس روی مدیریت کلیک کنید.
روی پیکربندی کلیک کنید و برنامه چت را تنظیم کنید:
- در قسمت App name ،
Dialogflow Appرا وارد کنید. - در قسمت آدرس اینترنتی آواتار ، آدرس
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.pngرا وارد کنید. - در قسمت توضیحات ،
Responds to real human conversationرا وارد کنید. - در بخش عملکرد ، گزینه «پیوستن به فضاها و مکالمات گروهی» را انتخاب کنید.
- در قسمت تنظیمات اتصال ، گزینه Dialogflow را انتخاب کنید.
- در تنظیمات Dialogflow ، گزینه Dialogflow ES را انتخاب کنید.
- این برنامه چت را برای افراد و گروههای خاص در دامنه خود در دسترس قرار دهید و آدرس ایمیل خود را وارد کنید.
- در قسمت گزارشها ، گزینه ثبت خطاها را برای ثبت گزارشها انتخاب کنید.
- در قسمت App name ،
روی ذخیره کلیک کنید.
برنامه چت آماده دریافت و پاسخ به پیامها در چت است.
برنامه چت را آزمایش کنید
برنامه Dialogflow ES Chat را با ارسال پیام در Google Chat آزمایش کنید.
با استفاده از حساب Google Workspace که هنگام اضافه کردن خود به عنوان یک آزمایشگر مورد اعتماد ارائه دادید، Google Chat را باز کنید.
- روی گپ جدید کلیک کنید.
- در فیلد «افزودن ۱ یا چند نفر» ، نام برنامه چت خود را تایپ کنید.
برنامه چت خود را از بین نتایج انتخاب کنید. یک پیام مستقیم باز میشود.
در پیام مستقیم جدید با برنامه، عبارت
Helloرا تایپ کنید وenterرا فشار دهید.برنامه چت Dialogflow با یک پیام خوشامدگویی پاسخ میدهد.
پاسخهای متنی
پاسخهای متنی به صورت پیامهای متنی به گوگل چت ارسال میشوند. با این قالببندی میتوانید با قرار دادن متن در نمادهای خاص (علامتگذاری روشن) متن را پررنگ یا کج کنید.
پاسخ پیام متنی، از نظر بصری مشابه پاسخ متنی پیشفرض در کنسول Dialogflow به نظر میرسد. با این حال، پاسخ خام API کمی متفاوت خواهد بود. همچنین پیکربندی پلتفرم را روی GOOGLE_HANGOUTS تنظیم میکند، که میتواند هنگام ساخت عاملها برای ادغامهای متعدد جالب باشد.
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
کارتها
پاسخهای کارت به عنوان پیامهای کارت به گوگل چت ارسال میشوند.
تصاویر
پاسخهای تصویری به عنوان ابزارکهای تصویری گوگل چت به گوگل چت ارسال میشوند.
بار سفارشی
برای ارسال انواع دیگر پیامهای گوگل چت، میتوانید از یک payload سفارشی استفاده کنید.
قابلیت بارگذاری سفارشی گوگل چت به شما امکان میدهد کارتهای پیشرفتهتری ایجاد کنید. یک کارت میتواند یک یا چند بخش داشته باشد. هر بخش میتواند یک سربرگ داشته باشد. میتوانید برای مشاهده برخی از ترکیبهایی که میتوانید با این قابلیت ایجاد کنید، به راهنمای مرجع کارتهای چت افزونه گوگل ورک اسپیس مراجعه کنید. با این حال، استفاده از بارگذاریهای سفارشی به این معنی است که باید فرمت JSON را ارائه دهید.
در اینجا مثالی از یک payload سفارشی برای ایجاد پیام با کارت آورده شده است:
{ "hangouts": { "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "cardsV2": [{ "cardId": "pizza", "card": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "textParagraph": { "text": " Your pizza is here!" }}]}] } }]}} }}}}
محدودیتها و ملاحظات
- هنگام استفاده از افزونههای Google Workspace با Dialogflow، اشیاء رویداد Chat محدودیتها و ملاحظات زیر را دارند:
- رویدادهای صفحه اصلی برنامه: پشتیبانی از رویدادهای
APP_HOMEهنوز در دسترس نیست. - ورودی کوئری Dialogflow: متنی که به عنوان ورودی کوئری به عامل Dialogflow ارسال میشود، به نوع رویداد بستگی دارد:
-
MESSAGE: مقدار فیلدargumentTextاز پیام چت. -
APP_COMMAND: رشته"APP_COMMAND_PAYLOAD". -
ADDED_TO_SPACE: یک رویداد خوشامدگویی پیشفرض ارسال میشود. -
REMOVED_FROM_SPACE: رشته"REMOVED_FROM_SPACE_PAYLOAD". -
CARD_CLICKED: رشته"BUTTON_CLICKED_PAYLOAD". -
WIDGET_UPDATED: رشته"WIDGET_UPDATED_PAYLOAD"(برای تکمیل خودکار استفاده میشود).
-
- بار کامل رویداد: بار کامل JSON رویداد تعامل چت در فیلد
WebhookRequest.payloadبه Dialogflow ارسال میشود. میتوانید به این مورد در وبهوک Dialogflow خود دسترسی داشته باشید. برای اطلاعات بیشتر، به مستندات درخواست وبهوک Dialogflow ES مراجعه کنید.
- رویدادهای صفحه اصلی برنامه: پشتیبانی از رویدادهای
- ملاحظات مربوط به پاسخ به دستورات و دریافت داده از کارتها یا دیالوگها :
- اگر عامل Dialogflow نیاز به پردازش رویداد تعامل چت (Chat interaction event) با محتوای JSON داشته باشد، میتواند این کار را با استفاده از یک وبهوک Dialogflow برای بررسی محتوای سفارشی در پارامتر پرسوجو انجام دهد.
- برای نمایش یک دیالوگ از Dialogflow Agent، با یک payload سفارشی JSON که شامل یک شیء
RenderActionsبا ناوبریpushCardاست، پاسخ دهید. - برای پردازش دادههای ورودی از کارتها، میتوانید از یک وبهوک Dialogflow استفاده کنید و با یک payload سفارشی JSON که حاوی اکشن مناسب است، پاسخ دهید.
- پیشنمایش لینکها پشتیبانی نمیشود.
- اگر عامل Dialogflow فقط با یک پیام پاسخ دهد، آن پیام به صورت همزمان به Google Chat ارسال میشود. اگر عامل Dialogflow با چندین پیام پاسخ دهد، تمام پیامها به صورت غیرهمزمان با فراخوانی متد
createاز منبعspaces.messagesدر Chat API برای هر پیام، به Chat ارسال میشوند. - هنگام استفاده از ادغام Dialogflow ES با Chat، عامل Dialogflow و برنامه Chat باید در همان پروژه Google Cloud تنظیم شوند.
عیبیابی
برای اشکالزدایی برنامه چت خود، با بررسی گزارشهای خطا شروع کنید. از آنجایی که این برنامه از Dialogflow استفاده میکند، چندین منبع برای گزارشگیری و عیبیابی در دسترس دارید:
گزارشهای افزونهی Google Workspace: گزارشهای پرسوجو برای اطلاعات دقیق در مورد رفتار افزونه، از جمله تعاملات آن با چت. برای گزارشهای پرسوجوی افزونههای Google Workspace به بخش گزارشهای پرسوجو مراجعه کنید.
خطاهای برنامه چت گوگل: برای پیامهای خطای عمومی برنامه چت و راهحلهای رفع آنها، به عیبیابی و رفع خطاهای برنامه چت مراجعه کنید.
تاریخچه مکالمات Dialogflow ES: تاریخچه | Dialogflow ES
عیبیابی عمومی Dialogflow: عیبیابی | Dialogflow
تمیز کردن
برای جلوگیری از تحمیل هزینه به شما با توجه به منابع استفاده شده در این آموزش، توصیه میکنیم پروژه Cloud را حذف کنید.
- در کنسول API گوگل، به صفحه مدیریت منابع بروید. منو > مدیریت و دسترسی به منابع (IAM & Admin) > مدیریت منابع (Manage Resources) کلیک کنید.
- در لیست پروژهها، پروژهای را که میخواهید حذف کنید انتخاب کنید و سپس روی «حذف کلیک کنید.
- در کادر محاورهای، شناسه پروژه را تایپ کنید و سپس برای حذف پروژه، روی خاموش کردن (Shut down) کلیک کنید.
مباحث مرتبط
- Dialogflow CX روش دیگری برای استفاده از Dialogflow با یک برنامه چت است.