فهرست مطالب:

ایجاد اقدامات سفارشی برای دستیار Google: 12 مرحله
ایجاد اقدامات سفارشی برای دستیار Google: 12 مرحله

تصویری: ایجاد اقدامات سفارشی برای دستیار Google: 12 مرحله

تصویری: ایجاد اقدامات سفارشی برای دستیار Google: 12 مرحله
تصویری: 😉 وقتی شوهرش سرکاره، ربات مرد تمام خواسته های زن را برآورده می کند 2024, نوامبر
Anonim
Image
Image
مجوزهای حساب Google خود را تنظیم کنید
مجوزهای حساب Google خود را تنظیم کنید

با مشاهده پتانسیل Google Assistant در Google I/O 18 و همچنین Volvo Cars در سیستم سرگرمی و سرگرمی خود ، نمی توانم در برابر امتحان آن مقاومت کنم. من یکی از پروژه های قدیمی خود ، VasttraPi را مجدداً استفاده کردم و با Google Assistant ارتباط برقرار کردم. اگر می خواهید در مورد پروژه بیشتر بخوانید ، خوشحال می شوم اگر به مقاله مربوط به وبلاگ من نگاه کنید: اقدامات سفارشی برای دستیار Google.

در این دستورالعمل مراحل لازم را برای راه اندازی Google Assistant Action خود انجام می دهید که با سرور شما ارتباط برقرار کرده و با شما صحبت می کند و خروج های آینده را لیست می کند. به خاطر داشته باشید که ما از SDK استفاده نمی کنیم زیرا این برنامه را به طور کامل در دستیار Google اجرا می کنیم و نه دستگاه خودمان. به طور کلی قرار است ساده نگه داشته شود. عملکرد شما در دستگاه هایی که از دستیار Google پشتیبانی می کنند مانند تلفن ، رایانه لوحی ، دستیار خانگی و پوشیدنی ها قابل استفاده است و حتی می توانید آن را مانند برنامه ای در فروشگاه Play به اشتراک بگذارید!

یکی از مزایای اصلی ایجاد چیزی شبیه به استفاده از سرویس هایی مانند IFTTT این است که می توانید پاسخ های سفارشی را در سرور خود ایجاد کنید که توسط Google Assistant خوانده می شود. در IFTTT ارتباطات تا آنجا که من نگرانم یک طرفه است.

موضوعات زیر پوشش داده خواهد شد:

  • ایجاد اولین پروژه اکشن خود
  • ایجاد قصد سفارشی شما
  • ایجاد موجودیت سفارشی شما
  • تنظیم یک webhook برای انجام عمل شما
  • راه اندازی یک سرور ساده REST ، نوشته شده در Python با Flask ، که پاسخ ها یا "انجام" را ارائه می دهد
  • پروژه Action خود را آزمایش کنید
  • انتشار پروژه Action خود

در اینجا جزئیات یا نظریه زیادی در مورد عملکردها و مفاهیم مختلف Google Assistant پیدا نخواهید کرد. اگر به آنها علاقه دارید ، به شدت پیشنهاد می کنم آموزش رسمی را دنبال کنید یا این ویدیو را تماشا کنید.

مرحله 1: مجوزهای حساب Google خود را تنظیم کنید

قبل از شروع ، باید اطمینان حاصل کنیم که دستیار Google دارای مجوزهای مناسب است.

  1. به قسمت Activity Controls بروید
  2. مطمئن شوید موارد زیر فعال است:

    1. فعالیت وب و برنامه
    2. اطلاعات دستگاه
    3. فعالیت صوتی و صوتی

مرحله 2: اقدام خود را ایجاد کنید

اقدام خود را ایجاد کنید
اقدام خود را ایجاد کنید
اقدام خود را ایجاد کنید
اقدام خود را ایجاد کنید
  1. به Actions Console بروید و روی "افزودن/وارد کردن پروژه" کلیک کنید
  2. بیایید این پروژه Actions را "local-traffic-planner" بنامیم.
  3. روی "ایجاد پروژه" کلیک کنید.
  4. در صفحه بعد ، دسته ای را انتخاب نکنید و روی "رد شدن" کلیک کنید.
  5. اکنون باید در صفحه اصلی Actions Console باشید.

مرحله 3: دعوت به عمل

فراخوان اقدام
فراخوان اقدام
فراخوان اقدام
فراخوان اقدام

تعیین کنید که چگونه می خواهید دستیار Google را برای شروع عملکرد خود فعال کنید.

  1. در قسمت "Quick setup" روی "تصمیم بگیرید چگونه عمل شما فراخوانی می شود" کلیک کنید.
  2. نام آن را "برنامه ریز ترافیک محلی من" بگذارید و روی "ذخیره" کلیک کنید.
  3. روی اعلان "UPDATE SAMPLE INVOCATIONS" کلیک کنید که پس از کلیک روی ذخیره ظاهر شد.

    همچنین می توانید این گزینه را در بخش "اطلاعات دایرکتوری" پیدا کنید

  4. "Ask my local planner traffic" را به عنوان یک فراخوان جدید اضافه کنید و روی "ذخیره" کلیک کنید.

مرحله 4: اولین اقدام خود را اضافه کنید

اولین اقدام خود را اضافه کنید
اولین اقدام خود را اضافه کنید
اولین اقدام خود را اضافه کنید
اولین اقدام خود را اضافه کنید
  1. روی "اقدامات" در نوار سمت چپ کلیک کنید.
  2. روی "افزودن اولین اقدام خود" کلیک کنید.
  3. "Custom purpose" را انتخاب کرده و سپس روی "Build" کلیک کنید.
  4. شما به صفحه Dialogflow منتقل می شوید که در آن منطق اصلی را پیاده سازی می کنید.

مرحله 5: آموزش عبارات برای قصد شما

عبارات آموزشی به منظور شما
عبارات آموزشی به منظور شما
  1. منطقه زمانی خود را انتخاب کرده و روی "ایجاد" کلیک کنید.
  2. در صفحه بعد ، مقاصد موجود را بگذارید و روی "CREATE INTENT" کلیک کنید.
  3. برای مقصود نام منطقی بگذارید ، یعنی "عزیمت".
  4. به "عبارات آموزشی" بروید و روی "افزودن عبارات آموزشی" کلیک کنید.
  5. از عبارات زیر برای آموزش مدل خود استفاده کنید تا بتواند آنچه را که به آن می گویید تفسیر کند:

    1. من همین الان در خانه هستم
    2. فعلا من خانه هستم
    3. در حال حاضر در آپارتمان ما هستم
    4. من در خانه نشسته ام
    5. در حال حاضر من نزدیک محل کار هستم
    6. من سر کار هستم
    7. من در دفتر هستم
    8. کار کنید
    9. صفحه اصلی

مرحله ششم: نهادها

موجودیت ها
موجودیت ها
موجودیت ها
موجودیت ها

اکنون شما آنچه را که باید کم و بیش به عنوان یک ورودی مورد انتظار باشد ، مشخص کرده اید ، ما باید مشخص کنیم که کدام قسمت های ورودی برای منطق تجاری ما جالب هستند تا بتوان آنها را استخراج و در سرور ما برجسته کرد. در مورد ما ، ما می خواهیم بدانیم که کاربر در خانه است یا در محل کار ، بنابراین می توانیم با خروج از ایستگاه خاص پاسخ دهیم. بیایید ببینیم چگونه می توانیم این کار را انجام دهیم.

  1. اگر روی یک یا چند کلمه از عبارات آموزشی دوبار کلیک کنید ، لیستی از موجودیت های از پیش تعریف شده دریافت خواهید کرد. در اینجا می توانید درباره هر یک از آنها بیشتر بخوانید. به طور کلی ، مناسب ترین گزینه @sys.location خواهد بود ، اما من فکر می کنم اگر ما موجودیت خود را ایجاد کنیم که باید آن را @current-location نامگذاری کنیم ، بهترین و آسان ترین است.
  2. روی گزینه "Entities" در سمت چپ کلیک کنید.
  3. روی "CREATE ENTITY" کلیک کنید.
  4. نام را روی "current-location" تنظیم کنید و دو مقدار مرجع را به همراه مترادف آنها تعریف کنید:

    1. خانه

      خانه ، خانه ، آپارتمان ، گهواره

    2. کار

      محل کار ، دفتر ، Aptiv ، معادن کد (فقط شوخی می کنم)

  5. برای ذخیره بیشتر می توانید روی "مجاز کردن توسعه خودکار" کلیک کنید تا به دستیار Google آزادی بیشتری بدهید تا مترادف بیشتر را با مقادیر مرجع خود مطابقت دهد.

مرحله 7: اقدام و پارامترها

اقدام و پارامترها
اقدام و پارامترها
اقدام و پارامترها
اقدام و پارامترها
اکشن و پارامترها
اکشن و پارامترها
اقدام و پارامترها
اقدام و پارامترها

زمان آن رسیده است که به کلمات کلیدی موجود در عبارات آموزشی خود معنا دهید.

  1. روی "Intents" کلیک کنید و سپس اگر به پیشنهادات نام من عمل کرده اید ، به Intent سفارشی خود ، یعنی "خروج" بروید.
  2. به پایین "عبارات آموزشی" بروید.
  3. روی کلماتی که مکان فعلی شما را نشان می دهند دوبار کلیک کنید و برچسب @current-location را از پنجره باز شده انتخاب کنید.
  4. به قسمت "اقدامات و پارامترها" بروید ، روی "مدیریت" کلیک کنید
  5. اگر همه چیز به درستی انجام شده باشد ، مشاهده خواهید کرد که موجودیت جدید شما در آنجا فهرست شده است.
  6. کادر "مورد نیاز" را که ستون جدیدی به نام "اعلانات" ظاهر می شود ، علامت بزنید. اگر چیزی مطابق انتظارات ارائه نشده باشد ، کاربر می شنود.
  7. روی "Define prompts" کلیک کنید و چیزی مانند "من مکان شما را متوجه نشدم. در حال حاضر کجا هستید؟" را وارد کنید.

مرحله 8: برآورده کردن

برآورده کردن
برآورده کردن
برآورده کردن
برآورده کردن
برآورده کردن
برآورده کردن

اکنون وقت آن است که سرویس وب خود را به Google Assistant Action متصل کنید. هنگامی که این هدف خاص برانگیخته می شود ، قلاب شما فراخوانی می شود و باید باعث تحقق این عمل شود. قبل از آن ، ما همچنین می خواهیم قصد خود را برای نتیجه گیری عمل پس از انجام کار تعیین کنیم.

  1. به "Responses" بروید و روی "ADD RESPONSE" کلیک کنید.
  2. هیچ پاسخی اضافه نکنید ، فقط "تنظیم این هدف به عنوان پایان مکالمه" را فعال کنید.
  3. به پایین "Fulfillment" بروید و روی "ENABLE FULFILLMENT" کلیک کنید و سپس "Enable webhook call for this purpose" را فعال کنید.
  4. روی "ذخیره" کلیک کنید و سپس به گزینه "Fulfillment" در سمت چپ بروید.
  5. گزینه "Webhook" را فعال کرده و نشانی اینترنتی را که توسط سرور وب "گوش داده می شود" وارد کنید.

    هرگاه قصد ایجاد شود ، یک درخواست POST به همراه محتوای درخواست حاوی یک شی JSON با موقعیت فعلی کاربر به وب سایت شما ارسال می کند

  6. روی ذخیره کلیک کنید.
  7. اکنون ما آماده ایجاد سرویس وب خود هستیم ، اما قبل از آن ، مطمئن شویم که Action ما به شیوه ای مناسب از ما استقبال می کند.

مرحله 9: قصد خوش آمدید

قصد خوش آمدید
قصد خوش آمدید
قصد خوش آمدید
قصد خوش آمدید

به منظور سفارشی سازی تجربه کاربر ، باید هر زمان که اقدام خود را آغاز کردیم ، یک سلام مناسب برای ما ایجاد کنیم.

  1. به "Intents" بروید و سپس روی "Default Welcome Intent" کلیک کنید.
  2. به پایین "پاسخ ها" بروید ، موارد موجود را حذف کنید و آنچه را که می خواهید انجام دهید چگونه وارد کنید ، وارد کنید.
  3. روی "ذخیره" کلیک کنید.

مرحله 10: سرویس وب پایتون شما

سرویس وب پایتون شما
سرویس وب پایتون شما

بیایید با استفاده از Flask یک سرور پایتون سریع و کثیف بسازیم. هیچ اسکرین شاتی برای این مرحله وجود ندارد ، اما باید کاملاً مستقیم باشد.

  1. یک برگه جدید باز کنید و یک حساب کاربری در pythonanywhere.com ایجاد کنید
  2. ایمیل خود را تایید کنید.
  3. با کلیک روی "باز کردن برگه وب" برنامه وب خود را تنظیم کنید.
  4. روی "افزودن یک برنامه وب جدید" کلیک کنید و "Flask" را به عنوان چارچوب وب پایتون خود انتخاب کنید.
  5. پایتون 3.6 را انتخاب کرده و روی "بعدی" کلیک کنید.
  6. مسیری را انتخاب کنید که می خواهید "flask_app.py" شما در آن اقامت داشته باشد. من آن را مستقیماً داخل پوشه اصلی خود به عنوان "/home/your-username/flask_app.py" قرار دادم.
  7. با کلیک روی لوگوی Python در گوشه سمت چپ بالا به صفحه اصلی بازگردید.
  8. در زیر فایل ها ، روی "flask_app.py" کلیک کنید تا ویرایش آن شروع شود.
  9. هنگامی که ویرایشگر متن وب باز می شود ، کد زیر را بچسبانید و روی "ذخیره" کلیک کنید. ایده کلی این است که بسته به JSON تجزیه شده ای که از Google Assistant دریافت می شود ، سرور ما اقدامی را انجام می دهد (به عنوان مثال خواندن یا نوشتن) و گزارش آن را به عنوان پاسخ /تحقق که باید برای کاربر خوانده شود.
  10. دوباره روی "بازکردن برگه وب" و سپس روی دکمه سبز "بارگذاری مجدد" کلیک کنید.
  11. در حال حاضر شما باید سرور وب پایتون خود را در "https://your-username.pythonanywhere.com/departures" اجرا کنید.

مرحله 11: اقدام خود را آزمایش کنید

اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید
اقدام خود را آزمایش کنید

بسیار خوب ، شما تقریباً کارتان را تمام کرده اید. بیایید اکنون کل پشته را آزمایش کنیم و این مثال "سلام جهان" را کار کنیم!

  1. از نوار سمت چپ روی "ادغام" کلیک کنید.
  2. در زیر گزینه "دستیار Google" روی "تنظیمات ادغام" کلیک کنید.
  3. در بخش "فراخوان ضمنی" نام مقصود خود را اضافه کنید ، یعنی "خروج" تا بتوانید مستقیماً با گفتن چیزی مانند "Hey Google ، درباره برنامه خروج از خانه با برنامه ریز ترافیک محلی من صحبت کنید" فعال شود.
  4. تغییرات "پیش نمایش خودکار" را فعال کنید.
  5. روی "Test" کلیک کنید تا صفحه جدیدی باز شود.
  6. عبارت "Talk to My Local Planner Traffic" را تایپ کنید.
  7. باید به عملکرد شما استناد شود که باید با یکی از پاسخهای عمدی استقبال شده قبلاً به شما خوشامد بگوید.
  8. سپس "من در محل کار هستم" را تایپ کنید. سرور پایتون شما باید تماس گرفته شود و پاسخ توسط Google Assistant خوانده می شود.

باحاله مگه نه؟ اکنون تصور کنید که از طریق دستیار Google خود در تعامل با حسگرها ، محرک ها و سایر API ها چه کاری می توانید انجام دهید.

مرحله 12: اقدام خود را رها کنید

اقدام خود را رها کنید
اقدام خود را رها کنید
اقدام خود را رها کنید
اقدام خود را رها کنید
اقدام خود را رها کنید
اقدام خود را رها کنید

پس از اتمام آزمایش عمل خود و در وضعیت خوب ، وقت آن است که عشق را با جهان و یا اگر منطقی نیست ، با دوستان و خانواده خود به اشتراک بگذارید.

  1. به کنسول Actions خود بازگردید و اقدام برنامه ریز ترافیک محلی خود را انتخاب کنید.
  2. در بخش "آماده شدن برای استقرار" روی "وارد کردن اطلاعات مورد نیاز برای فهرست اقدامات خود در فهرست اقدامات" کلیک کنید.
  3. یک توضیح کوتاه ، یک توضیح طولانی تر ، یک لوگوی کوچک ، اطلاعات تماس خود ، یک پیوند سیاست حفظ حریم خصوصی (اگر قصد ندارید این مورد را به صورت عمومی به اشتراک بگذارید فقط پیوندی به وب سایت خود یا چیزی دیگر) و یک دسته وارد کنید.
  4. به بالا بروید و روی "ذخیره" کلیک کنید.
  5. از نوار سمت چپ روی گزینه "Release" کلیک کنید.
  6. در اینجا می توانید اقدام خود را در چه وضعیتی انتخاب کنید. اگر نمی خواهید پاسخ "بیایید نسخه آزمایشی برنامه ریز ترافیک محلی من را دریافت کنیم" را بشنوید ، باید یک انتشار عمومی کامل انجام دهید. با این حال ، این مورد نیاز به بررسی توسط Google دارد و در این آموزش به آن پرداخته نمی شود. در عوض ، شما می توانید با انتخاب نسخه Alpha و افزودن آنها به عنوان تست کننده Alpha ، این مورد را با حداکثر 20 نفر به اشتراک بگذارید.
  7. با ارسال پیوند یا افزودن ایمیل های آنها ، آزمایشکنندگان آلفا را اضافه کنید.
  8. روی "SUBMIT FOR ALPHA" کلیک کنید ، کادرها را علامت بزنید ، "SUBMIT" را کلیک کنید و کار شما تمام شده است!

اکنون Action شما زنده است و شما و دوستانتان می توانند به آن دسترسی داشته باشند. خوش بگذره!

اگر به کدی که استفاده کردم علاقه دارید ، پروژه را در GitHub ببینید.

توصیه شده: