إنشاء تطبيق 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.

المتطلبات الأساسية

الهندسة المعمارية

يوضّح المخطّط التالي بنية تطبيق Chat تم إنشاؤه باستخدام Dialogflow:

بنية تطبيق Chat تم تنفيذه باستخدام Dialogflow

في الرسم البياني السابق، يتضمّن تفاعل المستخدم مع تطبيق Chat من Dialogflow تدفق المعلومات التالي:

  1. يرسل أحد المستخدمين رسالة في Chat إلى تطبيق Chat، إما في رسالة مباشرة أو في مساحة Chat.
  2. يتلقّى وكيل Dialogflow الافتراضي، الذي يقع في ، الرسالة ويعالجها لإنشاء ردّ.
  3. يمكنك اختياريًا استخدام خطاف ويب في Dialogflow، ما يتيح لوكيل Dialogflow التفاعل مع خدمات خارجية تابعة لجهات خارجية، مثل نظام إدارة المشاريع أو أداة إصدار التذاكر.
  4. يرسل وكيل Dialogflow ردًا إلى خدمة تطبيق Chat في Chat.
  5. يتم تسليم الردّ إلى مساحة Chat.

إعداد البيئة

قبل استخدام واجهات Google APIs، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيق واحدة أو أكثر في مشروع واحد على Google Cloud.
  1. في Google API Console، فعِّل Google Chat API وDialogflow API.

    تفعيل واجهات برمجة التطبيقات

  2. تأكَّد من أنّك بصدد تفعيل واجهات برمجة التطبيقات في مشروع على السحابة الإلكترونية الصحيح، ثم انقر على التالي.

  3. تأكَّد من تفعيل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.

إنشاء وكيل في Dialogflow ES

إذا لم يكن لديك وكيل حالي في Dialogflow ES:

  1. انتقِل إلى وحدة تحكّم Dialogflow ES.
  2. انقر على إنشاء وكيل.
  3. أدخِل اسمًا واختَر لغة تلقائية ومنطقة زمنية.
  4. ربطها بمشروعك على السحابة الإلكترونية
  5. انقر على إنشاء.
  6. أنشئ النوايا والكيانات حسب الحاجة لتحديد مسار المحادثة في تطبيق Chat. يمكنك البدء بنية التحية.
  7. دوِّن رقم تعريف المشروع.

للحصول على دليل تفصيلي، يُرجى الاطّلاع على مقالة إنشاء وكيل.

إنشاء تطبيق Chat وربطه بوكيل Dialogflow

بعد إنشاء وكيل Dialogflow ES، اتّبِع الخطوات التالية لتحويله إلى تطبيق Chat:

  1. في Google API Console، انتقِل إلى Google Chat API. ابحث عن "Google Chat API" وانقر على Google Chat API، ثم انقر على إدارة.

    الانتقال إلى Chat API

  2. انقر على الإعداد وأعِدّ تطبيق Chat باتّباع الخطوات التالية:

    1. في حقل اسم التطبيق، أدخِل Dialogflow App.
    2. في عنوان URL للأفاتار، أدخِل 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 من خلال مراسلته في Google Chat.

  1. افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق به.

    الانتقال إلى Google Chat

  2. انقر على محادثة جديدة.
  3. في حقل إضافة مستخدم واحد أو أكثر، اكتب اسم تطبيق Chat.
  4. اختَر تطبيق Chat من النتائج. سيتم فتح رسالة مباشرة.

  5. في الرسالة المباشرة الجديدة مع التطبيق، اكتب Hello واضغط على enter.

    يردّ تطبيق Dialogflow Chat برسالة ترحيب.

الردود النصية

يتم إرسال الردود النصية إلى Google Chat على شكل رسائل نصية. باستخدام هذا التنسيق، يمكنك كتابة النص بخط غامق أو مائل من خلال إحاطة النص برموز معيّنة (Markdown Light).

يظهر الرد على الرسالة النصية بشكل مرئي مماثل للرد التلقائي على الرسالة النصية في وحدة تحكّم Dialogflow. ومع ذلك، ستظهر استجابة واجهة برمجة التطبيقات الأولية بشكل مختلف قليلاً. يضبط هذا الحقل أيضًا إعدادات النظام الأساسي على 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، تخضع عناصر أحداث 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 الكامل لحدث التفاعل مع المحادثة إلى Dialogflow ضمن الحقل WebhookRequest.payload. يمكنك الوصول إلى هذه البيانات في Webhook الخاص بخدمة Dialogflow. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات طلبات Webhook في Dialogflow ES.
  • ملاحظات مهمة حول الرد على الأوامر و تلقّي البيانات من البطاقات أو مربّعات الحوار:
  • لا تتوفّر معاينات الروابط.
  • إذا ردّ وكيل Dialogflow برسالة واحدة فقط، يتم إرسال الرسالة إلى Google Chat بشكل متزامن. إذا ردّ وكيل Dialogflow بعدة رسائل، يتم إرسال جميع الرسائل إلى Chat بشكل غير متزامن من خلال استدعاء الطريقة create في المورد spaces.messages في Chat API مرة واحدة لكل رسالة.
  • عند استخدام عملية الدمج بين Dialogflow ES وChat، يجب إعداد وكيل Dialogflow وتطبيق Chat في مشروع Google Cloud نفسه.

تحديد المشاكل وحلّها

لتصحيح أخطاء تطبيق Chat، ابدأ بمراجعة سجلّات الأخطاء. بما أنّ هذا التطبيق يستخدم Dialogflow، تتوفّر لك العديد من المراجع لتسجيل البيانات وتحديد المشاكل وحلّها:

تَنظيم

لتجنُّب تحمّل رسوم على حسابك مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، ننصحك بحذف مشروع على السحابة الإلكترونية.

  1. في Google API Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.

    الانتقال إلى "إدارة الموارد"

  2. في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
  3. في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
  • ‫Dialogflow CX هي طريقة أخرى لاستخدام Dialogflow مع تطبيق Chat.