كيفية إنشاء تطبيق لـ Google Assistant باستخدام Dialogflow Enterprise Edition والإجراءات على Google

يقوم المستخدمون بإشراك مساعد Google في محادثة لإنجاز الأمور ، مثل شراء محلات البقالة أو حجز رحلة أو في حالتنا للوصول لحل مشكلة (للحصول على قائمة كاملة بما هو ممكن الآن ، راجع دليل الإجراءات.) كمطور ، أنت يمكن استخدام "الإجراءات" على Google لإنشاء وإدارة تجربة محادثة ممتعة وفعالة بين المستخدمين وخدمة الوفاء للجهة الخارجية الخاصة بك. سنتعلم كيفية إنشاء تطبيق لمساعد Google باستخدام Dialogflow Enterprise Edition والإجراءات على Google. بناء تجارب غنية فعالة للمحادثة بين المستخدمين وخدمة الوفاء الخاصة بك. أضف محادثات تشبه الحياة باستخدام SSML وقم بتخزين بيانات المستخدم إلى Google Cloud Datastore. تعرف على كيفية نشر الإجراءات الخاصة بك لـ Google Assistant.

هذا البرنامج التعليمي هو جزء 2 تابع لبرنامجنا التعليمي السابق حول كيفية إنشاء chatbot باستخدام Dialogflow Enterprise Edition و Dialogflow API V2.

كيفية إنشاء تطبيق لـ Google Assistant باستخدام Dialogflow Enterprise Edition والإجراءات على Google:

بحلول نهاية هذا البرنامج التعليمي ، سيكون لديك فهم أفضل لما يلي:

  • الإجراءات على جوجل
  • Dialogflow Enterprise Edition
  • مساعد جوجل
  • بناء إجراءات لمساعد جوجل
  • الإجراءات على Google Console

كما ذكرنا سابقًا ، يعد هذا البرنامج التعليمي جزءًا من الجزء الثاني من البرنامج التعليمي السابق. اتبع الخطوات من 1 إلى 8 من البرنامج التعليمي السابق والعودة إلى هنا لمتابعة هذا البرنامج التعليمي. تمت تغطية الجزء الأكبر من الجزء الأكبر من إنشاء المشروع وإعداده وإنشاء وكلاء لـ dialogflow وتخزين المعلومات في Google Cloud Datastore.

الخطوة 1: اتبع هذا البرنامج التعليمي من الخطوة 1 إلى 8 وتابع إلى الخطوة التالية.

الخطوة 2: تكامل Dialogflow

  • انتقل إلى Dialogflow Console ، حدد وكيلك وانقر على التكامل.
  • انقر على مساعد جوجل
  • يجب أن يفتح هذا نافذة منبثقة كما هو موضح أدناه. انقر على زر اختبار.
  • يؤدي النقر فوق الزر TEST إلى تشغيل الإجراءات على Google Simulator كما هو موضح أدناه.

الخطوة 3: الإجراءات محاكي

يتيح لك محاكي الإجراءات في Actions Console اختبار تطبيقاتك من خلال واجهة ويب سهلة الاستخدام تتيح لك محاكاة الأجهزة وإعداداتها. يمكنك أيضًا الوصول إلى معلومات التصحيح مثل الطلب والاستجابة اللذين يتلقاهما ويرسلهما.

  • المحاكي هو أفضل طريقة لاختبار تطبيقك / إجراءاتك على google assistant إذا لم يكن لديك الأجهزة المدعومة.
  • بادئ ذي بدء ، دعونا نختبر التطبيق الذي أنشأناه حتى الآن. يوضح لك المثال التالي تجربة تطبيقنا التجريبي في مساعد Google.

الخطوة 4: كيفية تحسين تجربة المحادثة

يعمل التطبيق / الإجراء الذي قمنا ببنائه حتى الآن على النحو المقصود تمامًا ، لكننا نلاحظ أيضًا أن التجربة الكلية يمكن أن تكون أفضل بكثير. لقد لاحظنا أن تطبيقنا عند توضيح رقم التذكرة ، يوضحه بتنسيق أساسي. ومع ذلك ، نود أن يتم كتابة رقم التذكرة في أرقام أو أحرف فردية. نظرًا لأن هذا البرنامج التعليمي يدور حول كيفية إنشاء تطبيق لمساعد Google باستخدام Dialogflow Enterprise Edition والإجراءات على Google ، فنحن بحاجة إلى التأكد من أن تطبيقنا أكثر جاذبية وطبيعية عند استخدامه عبر حوار المحادثة.

الخطوة 5: أضف SSML (لغة توصيف الكلام) إلى إجابتك

عند إرجاع استجابة إلى مساعد Google ، يمكنك استخدام مجموعة فرعية من لغة توصيف الكلام (SSML) في ردودك. باستخدام SSML ، يمكنك جعل ردود وكيلك تبدو أكثر شبهاً بالحياة.

لإضافة SSML في ردودنا ، نحتاج إلى تعديل وظائف السحابة الخاصة بنا.

  • انتقل إلى وحدة التحكم في مربع حوار Dialogflow.
  • انقر على وفاء.
  • استخدم Inline Editor لتعديل index.js الخاص بالوظائف السحابية لتضمين SSML.
"استخدام صارم" ؛
const http = require ('http') ؛
// تستورد مكتبة عملاء Google Cloud
const Datastore = require ('@ google-cloud / datastore') ؛
// معرف مشروع Google Cloud Platform
const projectId = 'REPLACE_WITH_YOUR_PROJECT_ID'؛
// Instantiates عميل
قاعدة بيانات const = Datastore ({
  projectId: projectId
})؛
// النوع للكيان الجديد
نوع const = 'تذكرة' ؛
// النوع للكيان الجديد
نوع const = 'تذكرة' ؛
export.dialogflowFirebaseFulfillment = (req، res) => {
  console.log ('Dialogflow Request body:' + JSON.stringify (req.body))؛
  // الحصول على المدينة والتاريخ من الطلب
  واسمحوا ticketDescription = req.body.queryResult ['queryText']؛ // الإصابة أمر ضروري
  // let name = req.body.result.contexts [0]. Parameters ['given-name.original']؛
  اسمح لنا = req.body.queryResult.outputContexts [1]. المعلمات ['given-name.original'] ؛
  اسمحوا phone_number = req.body.queryResult.outputContexts [1]. البارامترات ['phone-number.original']؛
  console.log ('الوصف هو' + ticketDescription) ؛
  console.log ('name is' + اسم المستخدم) ؛
  console.log ('رقم الهاتف' + phone_number) ؛
  وظيفة عشوائيةIntInc (منخفضة ، عالية) {
    إرجاع Math.floor (Math.random () * (مرتفع منخفض + 1) + منخفض) ؛
  }
  اسمح للتذكرة = randomIntInc (11111،999999) ؛
  // مفتاح Cloud Datastore للكيان الجديد
  const taskKey = datastore.key (kind) ؛
  // يعد الكيان الجديد
  مهمة const = {
    المفتاح: taskKey ،
    البيانات: {
      الوصف: تذكرةالوصف ،
      اسم المستخدم: اسم المستخدم ،
      رقم الهاتف: رقم الهاتف ،
      تذكرة رقم: تذكرة
    }
  }؛
  console.log ("الحدوث هو" ، المهمة) ؛
  // يحفظ الكيان
  datastore.save (مهمة)
  . ثم (() => {
    console.log (`Saved $ {task.key}: $ {task.data.description}`)؛
    res.setHeader ('Content-Type'، 'application / json')؛
    // SSML Response لإرسال إلى Dialogflow
    res.send (JSON.stringify ({'satisfmentText': ' لقد نجحت في تسجيل تذكرتك ، رقم التذكرة هو ' + ticketnum + '. شخص ما من مكتب المساعدة سيتواصل معك في غضون 24 ساعة.  '})) ؛
    //res.send (JSON.stringify ({'satisfmentText': "لقد قمت بتسجيل تذكرتك بنجاح ، رقم التذكرة هو" + ticketnum + ". سيتصل بك شخص من مكتب المساعدة خلال 24 ساعة." ': "لقد قمت بتسجيل تذكرتك بنجاح ، فإن رقم التذكرة هو" + ticketnum + ". وسيتواصل معك شخص من مكتب المساعدة خلال 24 ساعة."}))؛
  })
  .catch ((err) => {
    console.error ('خطأ:' ، يخطئ) ؛
    res.setHeader ('Content-Type'، 'application / json')؛
    res.send (JSON.stringify ({'speech': "حدث خطأ أثناء الحفظ ، أعد المحاولة لاحقًا" ، "displayText": "حدث خطأ أثناء الحفظ ، أعد المحاولة لاحقًا"})) ؛
  })؛
}
  • التغيير الأكثر أهمية هو السطر 50. لقد أضفنا ترميز SSML إلى ردنا.
  • ملاحظة: تأكد من استبدال معرف المشروع بمعرف المشروع الخاص بك الذي قمت بإنشائه في وقت سابق بعد البرنامج التعليمي السابق.
 لقد قمت بتسجيل تذكرتك بنجاح ، رقم التذكرة هو  '+ ticketnum +' . سيتواصل معك شخص من مكتب المساعدة في غضون 24 ساعة. 

العنصر الجذر في استجابة SSML. يتيح لك الإشارة إلى معلومات حول نوع بنية النص الموجودة داخل العنصر. كما أنه يساعد في تحديد مستوى التفاصيل لتقديم النص المضمن.

تعرف على المزيد حول استجابات ترميز SSML هنا.

  • نشر وظائف السحابة.
  • انقر على تكامل ومساعد Google واختبار.
  • اختبار التطبيق في محاكاة والتحقق من الاستجابة. سوف تسمع أن رقم التذكرة يتم كتابته الآن كأحرف فردية وليس بالتنسيق الأساسي وهو بالضبط ما كنا نريده.

الخطوة 6: إنهاء المحادثة

من العرض التوضيحي السابق ، كنت قد لاحظت أن التطبيق لدينا يجب إلغاؤه لإنهاء المحادثة. ومع ذلك ، يمكننا إنهاء المحادثة تلقائيًا بمجرد جمع كل المعلومات. لذلك بمجرد رد التطبيق برقم التذكرة ، يمكننا إنهاء المحادثة.

  • انقر على النوايا.
  • قم بتوسيع هدف إرسال التذكرة وانقر فوق "إرسال التذكرة" - جمع وصف القصد.
  • ضمن الردود ، قم بتمكين التبديل لتعيين هذه النية كنهاية للمحادثة.

الخطوة 7: اختبر تطبيقك باستخدام Google Home

يمكنك أيضًا اختبار تطبيقك باستخدام Google Home / mini / phone أو أي جهاز يقوم بتشغيل Google Assistant. تأكد من قيامك بتمكين مسودة الاختبار في الإجراءات على وحدة تحكم Google. يجب تشغيل التطبيق الخاص بك على أي جهاز يشغل Google Assistant مرتبطًا بحسابك (يستخدم حساب google لإنشاء هذا المشروع)

يمكنك اختبار تطبيقك على Google Home عن طريق قول "OK Google ، تحدث إلى تطبيق الاختبار".

يمكنك أيضًا التحقق من جميع البيانات التي تظهر في Google Cloud Datastore مع معلومات المستخدم وتفاصيل التذاكر.

الخطوة 8: إضافة اسم الاحتجاج واختيار مساعد صوت Google

لكي يتفاعل المستخدمون مع تطبيقك / تطبيقك ، نحتاج إلى إضافة اسم استدعاء يمكنهم استخدامه لاستدعاء إجراءنا.
يقول المستخدمون لفظًا اسم الاحتجاج لاستدعاء الإجراء الخاص بك. على سبيل المثال ، إذا كان اسم الاحتجاج هو Mr. Pixel ، فيمكن للمستخدمين أن يقولوا: OK Google ، تحدث إلى Mr Pixel.

  • إضافة اسم الاحتجاج.
  • إضافة عنوان الدليل.
  • اختر صوت مساعد Google الصحيح بناءً على شخصيتك أو علامتك التجارية.

الخطوة 9: العلامة التجارية ، وتخصيص السمات ، والاستدعاء والاكتشاف المرجعية

يتيح لك تخصيص النسق تخصيص مظهر أعمالك وإحساسها لإبراز هوية علامتك التجارية للمستخدمين. بعد تخصيص السمة ، احفظ تغييراتك واختبرها في Simulator.

تأكد من إطلاعك على قائمة مراجعة الاحتجاج والاكتشاف لمعرفة ما إذا كنت قد غطيت كل قائمة الاختيار.

الخطوة 10: كيفية إنشاء تطبيق لمساعد Google باستخدام Dialogflow Enterprise Edition والإجراءات على Google - النشر والإصدار:

قبل نشر ونشر التطبيق / الإجراء الخاص بك. تأكد من تصفح قائمة مراجعة النشر.

أخيرًا ، املأ جميع المعلومات المطلوبة تحت قسم النشر.

  • معلومات الدليل: جميع التفاصيل المطلوبة لإظهار الإجراءات الخاصة بك في دليل الإجراءات.
  • استهداف الموقع: حدد البلدان التي سيتم تشغيل إجراءاتك فيها. ستعمل أفعالك للأشخاص في كل بلد يتحدثون لغة تدعمها إجراءاتك.
  • إمكانيات السطح: السطوح التي ستقوم بتشغيلها إجراءاتك وتحديد إمكانيات الجهاز المطلوبة لإجراءاتك.
  • الإصدار: أرسل عملك للإنتاج. يتيح لك إصدار الإنتاج إطلاق إجراءاتك رسميًا لجميع مستخدمي مساعد Google.

الخلاصة - كيفية إنشاء تطبيق لـ Google Assistant باستخدام Dialogflow Enterprise Edition والإجراءات على Google:

في الختام ، لقد نجحنا في إنشاء إجراء لمساعد Google. الغرض من هذا البرنامج التعليمي هو عرض كيفية إنشاء تطبيق لمساعد Google باستخدام Dialogflow Enterprise Edition والإجراءات على Google. لا يزال هناك الكثير من الأشياء التي يمكنك إضافتها لجعل تجربة المحادثة الشاملة أفضل كثيرًا. يمكنك أيضًا تدريب وكيلك على الكثير من بيانات التدريب باستخدام Dialogflow. سأغطي الكثير حول الإجراءات على Google و Google Assistant في البرامج التعليمية القادمة. اسمحوا لي أن أعرف ما تريد أن تغطيه في الدروس المستقبلية في التعليقات أدناه.

يمكنك أيضًا التحقق من البرامج التعليمية الأخرى مثل
- بناء مساعد صوت Google الخاص بك دون رمز
- كيفية إنشاء chatbot باستخدام Dialogflow Enterprise Edition و Dialogflow API V2
- تحليل المعنويات باستخدام Google Cloud Natural Language API
- تحليل الكيان باستخدام Google Cloud Natural Language API

تحقق أيضًا من TechWithSach.com للحصول على مزيد من الدروس التعليمية المثيرة للاهتمام حول التعلم الآلي ، AI ، Flutter ، الوحدة والمزيد.