ساختن برنامه Google Chat با Dialogflow ES

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

اهداف

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

پیش‌نیازها

معماری

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

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

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

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

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

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

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

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

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

ایجاد عامل Dialogflow ES

اگر عامل Dialogflow ES موجود ندارید:

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

برای راهنمای دقیق، ساختن «عامل» را ببینید.

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

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

  1. در «کنسول Google API»، به «میانای برنامه‌سازی کاربردی Google Chat» بروید. «میانای برنامه‌سازی کاربردی 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 ES را انتخاب کنید.
    7. این برنامه Chat را برای افراد و گروه‌های خاصی دردامنه‌تان دردسترس قرار دهید و نشانی ایمیلتان را وارد کنید.
    8. در بخش گزارش‌ها، خطاهای گزارش به «گزارش‌گیری» را انتخاب کنید.
  3. روی ذخیره کلیک کنید.

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

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

برنامه Dialogflow ES Chat را با پیام دادن به آن در Google Chat آزمایش کنید.

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

    رفتن به Google Chat

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

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

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

پاسخ‌های نوشتاری

پاسخ‌های نوشتاری به‌صورت پیامک به Google Chat ارسال می‌شود. با این قالب‌بندی می‌توانید با پیچیدن نوشتار در نمادهای خاص (markdown light)، نوشتار را پررنگ یا ایتالیک کنید.

پاسخ پیامک ازنظر بصری شبیه به «پاسخ نوشتاری پیش‌فرض» در «کنسول Dialogflow» است. بااین‌حال، پاسخ خام API کمی متفاوت خواهد بود. همچنین پیکربندی پلاتفرم را روی GOOGLE_HANGOUTS تنظیم می‌کند که می‌تواند هنگام ساختن کارگزاران برای چندین یکپارچه‌سازی جالب باشد.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

کارت‌ها

پاسخ‌های کارت به‌صورت پیام‌های کارت به Google Chat ارسال می‌شوند.

تصاویر

پاسخ‌های تصویری به‌صورت ابزارک‌های تصویر Google Chat به Google Chat ارسال می‌شوند.

پایه‌بار سفارشی

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

«بار سفارشی Google Chat» به شما امکان می‌دهد کارت‌های پیشرفته‌تری ایجاد کنید. یک کارت می‌تواند یک یا چند بخش داشته باشد. هر بخش می‌تواند سرایند داشته باشد. می‌توانید به راهنمای پیام‌های کارت نگاهی بیندازید تا برخی‌از ترکیب‌هایی را که می‌توانید با این بسازید ببینید. بااین‌حال، استفاده از پیام‌های سفارشی به این معنی است که باید قالب JSON را ارائه دهید.

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

{ "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 Chat با Dialogflow، اشیا رویداد گپ محدودیت‌ها و ملاحظات زیر را دارند:
    • رویدادهای صفحه اصلی برنامه: پشتیبانی از 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 رویداد تعامل Chat در فیلد WebhookRequest.payload به Dialogflow ارسال می‌شود. می‌توانید در وب‌قلاب Dialogflow به این دسترسی داشته باشید. برای کسب اطلاعات بیشتر، به مستندات درخواست وب‌قلاب Dialogflow ES مراجعه کنید.
  • ملاحظات مربوط به پاسخ دادن به فرمان‌ها و دریافت داده از کارت‌ها یا چارگوش‌های گفتگو:
  • از پیش‌نمایش پیوند پشتیبانی نمی‌شود.
  • اگر نماینده Dialogflow فقط با یک پیام پاسخ دهد، پیام به‌صورت هم‌زمان به Google Chat ارسال می‌شود. اگر نماینده Dialogflow با چندین پیام پاسخ دهد، همه پیام‌ها با فراخوانی روش create در منبع spaces.messages در Chat API یک‌بار برای هر پیام به‌صورت ناهم‌زمان به Chat ارسال می‌شوند.
  • هنگام استفاده از ادغام Dialogflow ES با Chat، عامل Dialogflow و برنامه Chat باید در پروژه Google Cloud یکسانی راه‌اندازی شوند.

عیب‌یابی

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

مرتب‌سازی

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

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

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

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