توضّح هذه الصفحة كيفية إنشاء تطبيق Google Chat يستخدم Dialogflow ES لفهم اللغة الطبيعية والردّ عليها. يمكنك أيضًا استخدام Dialogflow CX، الذي يتضمّن عملية دمج مباشرة مع Google Chat، لإنشاء تطبيق Google Chat في Dialogflow CX باتّباع دليل Dialogflow CX Google Chat.
الأهداف
- إعداد البيئة
- إنشاء وكيل Dialogflow ES ونشره
- إنشاء تطبيق في Chat ونشره باستخدام وكيل Dialogflow ES
- اختبِر تطبيق Chat.
المتطلبات الأساسية
- حساب Google Workspace تابع لـ Business أو Enterprise مع إمكانية الوصول إلى Google Chat
- مشروع Google Cloud تم تفعيل الفوترة فيه للتأكّد من تفعيل الفوترة في مشروع حالي، يُرجى الاطّلاع على التحقّق من حالة الفوترة في مشاريعك. لإنشاء مشروع على السحابة الإلكترونية وإعداد الفوترة، يُرجى الاطّلاع على إنشاء مشروع على Google Cloud.
الهندسة المعمارية
يوضّح المخطّط التالي بنية تطبيق Chat تم إنشاؤه باستخدام Dialogflow:
في الرسم البياني السابق، يتضمّن تفاعل المستخدم مع تطبيق Chat من Dialogflow تدفق المعلومات التالي:
- يرسل أحد المستخدمين رسالة في Chat إلى تطبيق Chat، إما في رسالة مباشرة أو في مساحة Chat.
- يتلقّى وكيل Dialogflow الافتراضي، الذي يقع في ، الرسالة ويعالجها لإنشاء ردّ.
- يمكنك اختياريًا استخدام خطاف ويب في Dialogflow، ما يتيح لوكيل Dialogflow التفاعل مع خدمات خارجية تابعة لجهات خارجية، مثل نظام إدارة المشاريع أو أداة إصدار التذاكر.
- يرسل وكيل Dialogflow ردًا إلى خدمة تطبيق Chat في Chat.
- يتم تسليم الردّ إلى مساحة Chat.
إعداد البيئة
قبل استخدام واجهات Google APIs، عليك تفعيلها في مشروع على Google Cloud. يمكنك تفعيل واجهة برمجة تطبيق واحدة أو أكثر في مشروع واحد على Google Cloud.في Google API Console، فعِّل Google Chat API وDialogflow API.
تأكَّد من أنّك بصدد تفعيل واجهات برمجة التطبيقات في مشروع على السحابة الإلكترونية الصحيح، ثم انقر على التالي.
تأكَّد من تفعيل واجهات برمجة التطبيقات الصحيحة، ثم انقر على تفعيل.
إنشاء وكيل في Dialogflow ES
إذا لم يكن لديك وكيل حالي في Dialogflow ES:
- انتقِل إلى وحدة تحكّم Dialogflow ES.
- انقر على إنشاء وكيل.
- أدخِل اسمًا واختَر لغة تلقائية ومنطقة زمنية.
- ربطها بمشروعك على السحابة الإلكترونية
- انقر على إنشاء.
- أنشئ النوايا والكيانات حسب الحاجة لتحديد مسار المحادثة في تطبيق Chat. يمكنك البدء بنية التحية.
- دوِّن رقم تعريف المشروع.
للحصول على دليل تفصيلي، يُرجى الاطّلاع على مقالة إنشاء وكيل.
إنشاء تطبيق Chat وربطه بوكيل Dialogflow
بعد إنشاء وكيل Dialogflow ES، اتّبِع الخطوات التالية لتحويله إلى تطبيق Chat:
في Google API Console، انتقِل إلى Google Chat API. ابحث عن "Google Chat API" وانقر على Google Chat API، ثم انقر على إدارة.
انقر على الإعداد وأعِدّ تطبيق Chat باتّباع الخطوات التالية:
- في حقل اسم التطبيق، أدخِل
Dialogflow App. - في عنوان URL للأفاتار، أدخِل
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png. - في الوصف، أدخِل
Responds to real human conversation. - ضمن الوظائف، اختَر الانضمام إلى المساحات والمحادثات الجماعية.
- ضِمن إعدادات الاتصال، انقر على Dialogflow.
- ضِمن إعدادات Dialogflow، اختَر Dialogflow ES.
- إتاحة تطبيق Chat لمستخدمين ومجموعات محدّدة في نطاقك وإدخال عنوان بريدك الإلكتروني
- ضمن السجلات، اختَر تسجيل الأخطاء في خدمة "التسجيل".
- في حقل اسم التطبيق، أدخِل
انقر على حفظ.
تطبيق Chat جاهز لتلقّي الرسائل والردّ عليها.
اختبار تطبيق Chat
اختبِر تطبيق Chat في Dialogflow ES من خلال مراسلته في Google Chat.
افتح Google Chat باستخدام حساب Google Workspace الذي قدّمته عند إضافة نفسك كمختبِر موثوق به.
- انقر على محادثة جديدة.
- في حقل إضافة مستخدم واحد أو أكثر، اكتب اسم تطبيق Chat.
اختَر تطبيق Chat من النتائج. سيتم فتح رسالة مباشرة.
في الرسالة المباشرة الجديدة مع التطبيق، اكتب
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 بحاجة إلى معالجة حِمل بيانات JSON لحدث التفاعل مع المحادثة، يمكنه إجراء ذلك باستخدام خطاف ويب في Dialogflow لفحص حِمل البيانات المخصّص في مَعلمة طلب البحث.
- لعرض مربع حوار من وكيل Dialogflow، يجب الردّ باستخدام حمولة JSON مخصّصة واحدة تحتوي على كائن
RenderActionsمعpushCardالتنقّل. - لمعالجة البيانات التي يتم إدخالها من البطاقات، يمكنك استخدام ويب هوك في Dialogflow والردّ بحِمل JSON مخصّص واحد يحتوي على الإجراء المناسب.
- لا تتوفّر معاينات الروابط.
- إذا ردّ وكيل Dialogflow برسالة واحدة فقط، يتم إرسال الرسالة إلى Google Chat بشكل متزامن. إذا ردّ وكيل Dialogflow
بعدة رسائل، يتم إرسال جميع الرسائل إلى Chat
بشكل غير متزامن من خلال استدعاء الطريقة
createفي الموردspaces.messagesفي Chat API مرة واحدة لكل رسالة. - عند استخدام عملية الدمج بين Dialogflow ES وChat، يجب إعداد وكيل Dialogflow وتطبيق Chat في مشروع Google Cloud نفسه.
تحديد المشاكل وحلّها
لتصحيح أخطاء تطبيق Chat، ابدأ بمراجعة سجلّات الأخطاء. بما أنّ هذا التطبيق يستخدم Dialogflow، تتوفّر لك العديد من المراجع لتسجيل البيانات وتحديد المشاكل وحلّها:
سجلّات إضافات Google Workspace: سجلّات طلبات البحث للحصول على معلومات تفصيلية حول سلوك تطبيق Chat، بما في ذلك تفاعلاته مع Chat يُرجى الاطّلاع على سجلّات طلب البحث عن إضافات Google Workspace.
أخطاء تطبيق Google Chat: للاطّلاع على رسائل الخطأ العامة في تطبيق Chat وطرق حلّها، يُرجى الرجوع إلى تحديد مشاكل تطبيق Chat وحلّها.
سجلّ المحادثات في Dialogflow ES: السجلّ | Dialogflow ES
تحديد المشاكل وحلّها في Dialogflow بشكل عام: تحديد المشاكل وحلّها | Dialogflow
تَنظيم
لتجنُّب تحمّل رسوم على حسابك مقابل الموارد المستخدَمة في هذا البرنامج التعليمي، ننصحك بحذف مشروع على السحابة الإلكترونية.
- في Google API Console، انتقِل إلى صفحة إدارة الموارد. انقر على القائمة > إدارة الهوية وإمكانية الوصول والمشرف > إدارة الموارد.
- في قائمة المشاريع، اختَر المشروع الذي تريد حذفه، ثم انقر على حذف .
- في مربّع الحوار، اكتب رقم تعريف المشروع، ثم انقر على إيقاف لحذف المشروع.
المواضيع ذات الصلة
- Dialogflow CX هي طريقة أخرى لاستخدام Dialogflow مع تطبيق Chat.