প্রকল্পগুলি তৈরি করুন

একটি অ্যাকশন প্রকল্প আপনার সমস্ত অ্যাকশনকে একটি একক পাত্রে প্যাকেজ করে। আপনি এই প্রোজেক্টটি Actions on Google-এ প্রকাশ করেন যাতে Google Assistant আপনার কথোপকথনের অভিজ্ঞতাগুলিকে কীভাবে আবিষ্কার করতে হয় তা জানতে পারে।

কর্ম প্রকল্প উপাদান
চিত্র 1 . কর্ম প্রকল্পের কাঠামো

আপনার অ্যাকশন প্রকল্প তৈরি করতে আপনি নিম্নলিখিত নিম্ন-স্তরের উপাদানগুলি ব্যবহার করেন:

  • সেটিংস এবং সংস্থানগুলি প্রকল্পের মেটাডেটা এবং প্রকল্প আইকনের মতো সংস্থানগুলিকে সংজ্ঞায়িত করে৷ Google এই তথ্য ব্যবহার করে আপনার অ্যাকশন অ্যাসিস্ট্যান্ট ডিরেক্টরিতে প্রকাশ করতে, যাতে ব্যবহারকারীরা সেগুলিকে আবিষ্কার করতে এবং আহ্বান করতে পারে।

  • অভিপ্রায়গুলি একটি কার্য সম্পাদনের প্রতিনিধিত্ব করে, যেমন কিছু ব্যবহারকারীর ইনপুট বা একটি সিস্টেম ইভেন্ট যা প্রক্রিয়াকরণের প্রয়োজন। আপনি ব্যবহার করবেন অভিপ্রায় সবচেয়ে সাধারণ ধরনের ব্যবহারকারীর অভিপ্রায়. এই অভিপ্রায়গুলি আপনাকে প্রশিক্ষণের বাক্যাংশগুলি ঘোষণা করতে দেয় যা স্বাভাবিকভাবে NLU (প্রাকৃতিক ভাষা বোঝার) ইঞ্জিন দ্বারা প্রসারিত হয় যাতে আরও অনেকগুলি অনুরূপ বাক্যাংশ অন্তর্ভুক্ত করা যায়। NLU এই শব্দগুচ্ছের সমষ্টি ব্যবহার করে একটি ভাষা মডেলকে প্রশিক্ষণ দিতে যা সহকারী ব্যবহারকারীর ইনপুট মেলানোর জন্য ব্যবহার করে। কথোপকথনের সময়, যদি কিছু ব্যবহারকারীর ইনপুট অভিপ্রায়ের ভাষা মডেলের সাথে মিলে যায়, তাহলে সহকারী রানটাইম আপনার অ্যাকশনে অভিপ্রায় পাঠায়, যাতে এটি এটি প্রক্রিয়া করতে পারে এবং ব্যবহারকারীকে প্রতিক্রিয়া জানাতে পারে।

  • প্রকারগুলি আপনাকে ব্যবহারকারীর ইনপুট থেকে কাঠামোগত ডেটা বের করতে দেয়। প্রকারের সাথে প্রশিক্ষণের বাক্যাংশ টীকা করার মাধ্যমে, NLU আপনার জন্য প্রাসঙ্গিক, কাঠামোগত ডেটা বের করতে পারে, তাই আপনাকে ওপেন-এন্ডেড ইনপুট পার্স করতে হবে না।

  • দৃশ্যগুলি ইন্টেন্ট প্রক্রিয়া করে এবং আপনার অ্যাকশনগুলির জন্য প্রধান যুক্তি নির্বাহক। তারা স্লট-ফিলিং করতে পারে, শর্তসাপেক্ষ যুক্তির মূল্যায়ন করতে পারে, ব্যবহারকারীর কাছে প্রম্পট ফেরত দিতে পারে এবং এমনকি ব্যবসায়িক যুক্তি চালাতে বহিরাগত ওয়েব পরিষেবাগুলিতে কল করতে পারে। অভিপ্রায়ের সাথে সংমিশ্রণে, দৃশ্যগুলি আপনাকে নির্দিষ্ট ব্যবহারকারীর ইনপুট বা সিস্টেম ইভেন্টগুলি সনাক্ত করার এবং সংশ্লিষ্ট যুক্তিগুলি সম্পাদন করার একটি শক্তিশালী উপায় দেয়।

  • প্রম্পটগুলি স্ট্যাটিক বা গতিশীল প্রতিক্রিয়াগুলিকে সংজ্ঞায়িত করে যা আপনি ব্যবহারকারীদের প্রতিক্রিয়া জানাতে ব্যবহার করেন।

  • ওয়েবহুকগুলি আপনাকে ওয়েব পরিষেবাগুলিতে অতিরিক্ত কাজ অর্পণ করতে দেয় (পরিপূর্ণতা), যেমন ডেটা যাচাই করা বা প্রম্পট তৈরি করা। আপনার অ্যাকশনগুলি JSON-ভিত্তিক, ওয়েবহুক প্রোটোকলের মাধ্যমে আপনার পরিপূর্ণতার সাথে যোগাযোগ করে।

  • ইন্টারেক্টিভ ক্যানভাস আপনাকে HTML, CSS, এবং JavaScript ব্যবহার করে এমন ওয়েব অ্যাপগুলির সাথে সমৃদ্ধ এবং নিমগ্ন অভিজ্ঞতা তৈরি করতে দেয়৷

একটি প্রকল্প তৈরি করুন

Google অ্যাসিস্ট্যান্টের জন্য ডেভেলপ করার আগে আপনাকে অবশ্যই অ্যাকশন কনসোলে একটি প্রোজেক্ট তৈরি করতে হবে। একটি প্রকল্প তৈরি করতে:

  1. অ্যাকশন কনসোলে যান।
  2. নতুন প্রকল্প ক্লিক করুন.
  3. আপনার প্রকল্পের জন্য একটি নাম লিখুন এবং প্রকল্প তৈরি করুন ক্লিক করুন।
  4. আপনি কি ধরনের অ্যাকশন তৈরি করতে চান? স্ক্রীনে, এমন একটি বিভাগ নির্বাচন করুন যা আপনার প্রজেক্টের সবচেয়ে ভালো প্রতিনিধিত্ব করে এবং পরবর্তীতে ক্লিক করুন।
  5. আপনি কীভাবে এটি তৈরি করতে চান স্ক্রিনে, নির্মাণের একটি উপায় নির্বাচন করুন এবং বিল্ডিং শুরু করুন ক্লিক করুন। উদাহরণস্বরূপ, আপনি একটি খালি প্রকল্প বা একটি নমুনা দিয়ে শুরু করতে পারেন।

একটি স্থানীয় অ্যাকশন SDK প্রকল্প তৈরি করুন

একবার আপনি অ্যাকশন কনসোলে একটি অ্যাকশন প্রকল্প তৈরি করলে, আপনি আপনার স্থানীয় উন্নয়ন পরিবেশে একটি প্রকল্প শুরু করতে পারেন।

একটি বিদ্যমান অ্যাকশন প্রকল্প থেকে একটি অ্যাকশন SDK প্রকল্প শুরু করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. আপনার স্থানীয় ফাইল সিস্টেমে অ্যাকশন প্রকল্পের জন্য একটি খালি ডিরেক্টরি তৈরি করুন।
  2. এই খালি ডিরেক্টরিতে, একটি sdk ডিরেক্টরি তৈরি করুন।
  3. আপনার টার্মিনালে sdk ডিরেক্টরিতে আপনার কাজের ডিরেক্টরি পরিবর্তন করুন।

একটি খালি প্রকল্প দিয়ে শুরু করুন

আপনি যদি কনসোলে এইমাত্র তৈরি করা খালি প্রকল্প থেকে শুরু করতে চান, তাহলে gactions pull --project-id <my-project-id> চালান।

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

একটি নমুনা প্রকল্প দিয়ে শুরু করুন

আপনি যদি একটি নমুনা প্রকল্প থেকে শুরু করতে চান, gactions init <sample name> চালান।

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

প্রকল্পের তথ্য সংজ্ঞায়িত করুন

আপনার প্রকল্পের সেটিংস এবং সংস্থানগুলি আপনার প্রকল্প সম্পর্কে তথ্য যেমন বৈশিষ্ট্য এবং পৃষ্ঠ সমর্থন, সমর্থিত লোকেল, প্রদর্শনের নাম, বিবরণ, লোগো এবং আরও অনেক কিছুকে সংজ্ঞায়িত করে৷ নিম্নলিখিত সারণীটি আপনার প্রদান করা প্রধান সেটিংস এবং সংস্থানগুলি বর্ণনা করে৷ অ্যাকশনস অন Google এই তথ্য ব্যবহার করে আপনার প্রোজেক্টকে অ্যাসিস্ট্যান্ট ডিরেক্টরিতে স্থাপন এবং প্রকাশ করতে।

নাম বর্ণনা
ডিরেক্টরি তথ্য তথ্য প্রদান করে যাতে অ্যাকশনস অন Google আপনার প্রোজেক্ট অ্যাসিস্ট্যান্ট ডিরেক্টরিতে প্রকাশ করতে পারে। মেটাডেটা এবং লোগো এবং ব্যানার ইমেজের জন্য আপনার প্রকল্প এবং ছবির সংস্থান সম্পর্কে বর্ণনা অন্তর্ভুক্ত করে।
অবস্থান টার্গেটিং আপনার অ্যাকশন পাওয়া যায় এমন লোকেলগুলি কনফিগার করে।
সারফেস ক্ষমতা আপনার অ্যাকশন উপলভ্য সারফেস কনফিগার করে।
কোম্পানি বিবরণ আপনার কোম্পানির জন্য যোগাযোগের তথ্য নির্দিষ্ট করে।
ব্র্যান্ড যাচাইকরণ অতিরিক্ত সুবিধা পেতে আপনার মালিকানাধীন একটি ওয়েবসাইট বা Android অ্যাপ সংযুক্ত করুন যেমন সংরক্ষিত আহ্বানের নাম এবং আপনার অ্যাকশনের মধ্যে ওয়েবসাইট লিঙ্ক করা।
মুক্তি টেস্টিং এবং প্রোডাকশনের জন্য আপনার অ্যাকশনের জন্য বিভিন্ন টেস্টিং এবং প্রোডাকশন রিলিজ কনফিগার করে।
সহকারী লিঙ্ক ব্যবহারকারীদের আপনার ওয়েব বৈশিষ্ট্য থেকে আপনার অ্যাকশন আহ্বান করতে দিন।

প্রকল্প তথ্য সংজ্ঞায়িত করতে:

  1. sdk/settings/settings.yaml এ আপনার অ্যাকশন প্রকল্পের জন্য বিশ্বব্যাপী সেটিংস সংজ্ঞায়িত করুন। সমর্থিত মানগুলির জন্য সেটিংস রেফারেন্স ডকুমেন্টেশন দেখুন।

    নিম্নলিখিত স্নিপেট sdk/settings/settings.yaml ফাইলের একটি উদাহরণ দেখায়:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. একটি sdk/settings/<locale>/settings.yaml ফাইলে ব্যবহারকারীর লোকেলের উপর ভিত্তি করে পরিবর্তিত হতে পারে এমন সেটিংস সংজ্ঞায়িত করুন (উদাহরণস্বরূপ, বিভিন্ন ভাষায় আমন্ত্রণ বাক্যাংশ) আপনার টার্গেট লোকেলের সাথে লোকেল প্রতিস্থাপন করুন।

    সমর্থিত মানগুলির জন্য স্থানীয়কৃত সেটিংস রেফারেন্স ডকুমেন্টেশন দেখুন।

    নিম্নলিখিত স্নিপেটটি একটি sdk/settings/en/settings.yaml ফাইলে সংজ্ঞায়িত ইংরেজি সেটিংসের একটি উদাহরণ:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

সম্পদ যোগ করুন

আপনি আপনার অ্যাকশন প্রোজেক্টে ইমেজ ফাইল, অডিও ফাইল এবং স্ট্রিংগুলির মতো সংস্থানগুলি সংরক্ষণ করতে পারেন এবং সিস্টেম সংজ্ঞায়িত $resources ভেরিয়েবল ব্যবহার করে কনফিগারেশন ফাইল (উদাহরণস্বরূপ, প্রম্পট সংজ্ঞা বা শর্ত) থেকে রেফারেন্স করতে পারেন।

প্রজেক্ট রিসোর্স resources/ এর অধীনে সংরক্ষণ করা হয় এবং প্রতিটি রিসোর্স টাইপ ডিরেক্টরিতে একটি ফোল্ডার বরাদ্দ করা হয়।

আপনি রিসোর্স টাইপ ফোল্ডারে লোকেল নির্দিষ্ট ফোল্ডার তৈরি করে সংস্থানগুলি স্থানীয়করণ করতে পারেন, উদাহরণস্বরূপ আপনি আপনার স্ট্রিংগুলির স্প্যানিশ সংস্করণগুলি resources/strings/es/<filename>.yaml এ সংরক্ষণ করতে পারেন।

ছবি

ইমেজ ফাইল resources/images/ এ সংরক্ষিত থাকে এবং আপনি তাদের $resources.images.<name of the image file without file extension> । অনুমোদিত ফাইল এক্সটেনশন হল:

  • gif
  • png
  • jpg
  • jpeg

উদাহরণ স্বরূপ, যদি ছোট লোগোটির ইংরেজি ভার্সন resources/images/en/square.png এ সংরক্ষিত হয় এবং বড় ব্যানারের ইংরেজি ভার্সন যথাক্রমে resources/images/en/landscape.jpg এ সংরক্ষিত হয়, sdk/settings/en/settings.yaml আগের উদাহরণ থেকে sdk/settings/en/settings.yaml হয়ে যাবে:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

অডিও ফাইল

অডিও ফাইলগুলি resources/audio/ এ সংরক্ষণ করা হয় এবং আপনি তাদের $resources.audio.<name of the audio file without file extension>

অনুমোদিত ফাইল এক্সটেনশন হল:

  • mp3
  • mpeg

উদাহরণস্বরূপ, আপনি প্রম্পট থেকে অডিও রেকর্ডিং উল্লেখ করতে পারেন:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

স্ট্রিংস

স্ট্রিংগুলি resources/strings/ .yaml ফাইল হিসাবে সংরক্ষণ করা হয়। প্রতিটি ফাইলে স্ট্রিং কী এবং সংশ্লিষ্ট মানগুলির একটি মানচিত্র রয়েছে, যা একক স্ট্রিং বা স্ট্রিংগুলির তালিকা হতে পারে। আপনি $resources.strings.<name of the image file without file extension>.<key> একক স্ট্রিং মান বা তালিকা থেকে একটি এলোমেলো মান পেতে, এবং $resources.strings.<name of the image file without file extension>.<key>.<numerical index> একটি তালিকার মধ্যে একটি নির্দিষ্ট স্ট্রিং মানের জন্য।

উদাহরণস্বরূপ, স্ট্রিং স্থানীয়করণের জন্য রিসোর্স স্ট্রিং ব্যবহার করে, আগের উদাহরণ থেকে sdk/settings/en/settings.yaml হতে পারে:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

সিমুলেটর পরীক্ষা প্রকল্প

অ্যাকশন কনসোল আপনার অ্যাকশনগুলির পূর্বরূপ দেখতে একটি সিমুলেটর সরবরাহ করে। সিমুলেটর আপনাকে ডিবাগ তথ্য, ডিভাইসের ক্ষমতা সেট করতে, লোকেল সিমুলেট করতে এবং আরও অনেক কিছু দেখতে দেয়।

চিত্র 3. সিমুলেটরের প্রধান ক্ষেত্রগুলি: (1) ব্যবহারকারীর ইনপুট, (2) ডিভাইস ভিউ, (3) বিকল্প এবং সেটিংস এবং (4) কথোপকথন লগ৷

একটি প্রকল্প পরীক্ষা করতে:

  1. আপনার অ্যাকশনকে "প্রিভিউ" তে স্থাপন করতে এবং সিমুলেটরে পরীক্ষা সক্ষম করতে gactions deploy preview চালান।
  2. সিমুলেটর অ্যাক্সেস করতে কমান্ড আউটপুটে URL খুলুন।
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview