অ্যাকশন বিল্ডার ব্যবহার করে Google অ্যাসিস্ট্যান্টের জন্য অ্যাকশন তৈরি করুন (লেভেল 2)

1। সংক্ষিপ্ত বিবরণ

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

এই কোডল্যাবটি Google সহকারীর সাথে বিকাশের জন্য মধ্যবর্তী-স্তরের ধারণাগুলিকে কভার করে এবং লেভেল 1 কোডল্যাবে তৈরি অ্যাকশনের উপর তৈরি করে। এটি দৃঢ়ভাবে সুপারিশ করা হয় যে আপনি এটি শুরু করার আগে স্তর 1 কোডল্যাবটি সম্পূর্ণ করুন৷

এই কোডল্যাবে আপনি যে অ্যাকশন তৈরি করেন তা ব্যবহারকারীদের তাদের পছন্দের সাহায্যের ভিত্তিতে একটি পৌরাণিক ভূমি, গ্রিফিনবার্গে তাদের অনুসন্ধানের জন্য তাদের ভাগ্য জানায়।

আপনি কি নির্মাণ করবেন

এই কোডল্যাবে, আপনি নিম্নলিখিত ফাংশনগুলির সাথে একটি পরিশীলিত কথোপকথনমূলক অ্যাকশন তৈরি করেন:

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

আপনি বিল্ডিং শুরু করার আগে, আপনি "Hey Google, ভাগ্য এবং ভাগ্যের সাথে কথা বলুন" বলে আপনার Google অ্যাসিস্ট্যান্ট-সক্ষম ডিভাইসে লাইভ অ্যাকশনের সাথে ইন্টারঅ্যাক্ট করতে পারেন। ফিরে আসা ব্যবহারকারীর জন্য এই অ্যাকশনের মাধ্যমে ডিফল্ট পথটি নিম্নলিখিত ইন্টারঅ্যাকশনের মতো দেখায়:

dd6f5c61296b8b50.png

eba043f546aa8c51.png

আপনি কি শিখবেন

  • ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ করতে স্লটগুলি কীভাবে ব্যবহার করবেন
  • একটি দৃশ্যে যুক্তি যোগ করতে শর্তগুলি কীভাবে ব্যবহার করবেন
  • কিভাবে একটি গেম লুপ যোগ করতে হয়
  • একটি সহায়ক পথ যোগ কিভাবে

আপনি কি প্রয়োজন হবে

এই কোডল্যাবের পূর্বশর্তগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

জাভাস্ক্রিপ্ট (ES6) এর সাথে পরিচিতি দৃঢ়ভাবে সুপারিশ করা হয়, যদিও প্রয়োজন নেই, এই কোডল্যাবের পরিপূর্ণতা কোড বোঝার জন্য।

2. কথোপকথন ইন্টারফেস নির্মাণ চালিয়ে যান

প্রথম কোডল্যাবে , আপনি একটি একক দৃশ্য সহ একটি সাধারণ কথোপকথনমূলক অ্যাকশন তৈরি করেছেন, Start

এই কোডল্যাবে, আপনি আপনার অ্যাকশনের কথোপকথন প্রসারিত করেন। নিম্নলিখিত বিভাগগুলিতে, আপনি নিম্নলিখিতগুলি করতে আপনার অ্যাকশন কনফিগার করেন:

  • ব্যবহারকারী যখন তাদের ভাগ্য শুনতে চায় তখন একটি নতুন Fortune দৃশ্যে রূপান্তর৷
  • ব্যবহারকারীকে জিজ্ঞাসা করুন যে তারা তাদের ভ্রমণের জন্য কোন সাহায্য বেছে নিতে চান
  • ব্যবহারকারীর পছন্দের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করুন

Fortune দৃশ্য তৈরি করুন

এই বিভাগে, আপনি Fortune দৃশ্য তৈরি করেন এবং কথোপকথনের সময় ব্যবহারকারী কীভাবে এটিতে রূপান্তরিত হয় তা সংজ্ঞায়িত করুন।

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

  1. আপনার কোডল্যাব স্তর 1 অ্যাকশন প্রকল্প খুলুন।
  2. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  3. দৃশ্যের অধীনে, স্টার্ট সিন ক্লিক করুন।
  4. বিকল্পগুলি খুলতে হ্যাঁ অভিপ্রায়ে ক্লিক করুন ( যখন হ্যাঁ মিলছে বাক্স)।
  5. প্রম্পট মুছে ফেলার জন্য প্রম্পটগুলি সাফ করুন
  6. ট্রানজিশন বিভাগে, ড্রপ-ডাউন মেনুতে ক্লিক করুন, টেক্সট বক্সে ক্লিক করুন এবং Fortune টাইপ করুন।
  7. Add এ ক্লিক করুন। এটি Fortune নামে একটি নতুন দৃশ্য তৈরি করে। এটি Start সিন থেকে Fortune দৃশ্যে একটি রূপান্তর যোগ করে যখন ব্যবহারকারী তাদের ভাগ্য শুনতে চায়।

56682a0c7459b98c.png

Fortune দৃশ্যের জন্য কথোপকথনমূলক যুক্তি সংজ্ঞায়িত করুন

এই কোডল্যাবে, আপনি ব্যবহারকারীকে জিজ্ঞাসা করার জন্য আপনার Fortune দৃশ্যটি কনফিগার করেন, " আপনার অনুসন্ধান, একটি ড্রাগন, একটি অনুবাদক বা একটি কম্পাসে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেবেন?" আপনি এগিয়ে যাওয়ার আগে ব্যবহারকারীর কাছ থেকে প্রয়োজনীয় তথ্য সংগ্রহ করতে স্লট ফিলিং নামে একটি ক্ষমতা ব্যবহার করতে পারেন।

আপনার অ্যাকশন তিনটি সাহায্যের জন্য ভাগ্য প্রদান করে: একটি ড্রাগন, অনুবাদক এবং কম্পাস। ব্যবহারকারীর ইনপুটে এই তিনটি বিকল্প সনাক্ত করতে আপনার অ্যাকশন কনফিগার করতে, আপনাকে অবশ্যই একটি নতুন প্রকার তৈরি করতে হবে।

ব্যবহারকারীর কাছ থেকে আপনি যে তথ্য চান তা নির্ধারণ করতে আপনি দৃশ্যের স্লট ভর্তি পর্যায়ের মধ্যে প্রকারগুলি ব্যবহার করতে পারেন। যখন NLU ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি স্লট মিল সনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে স্লটটিকে বের করে, যাতে আপনি একটি দৃশ্যে এটির সাথে যুক্তি চালাতে পারেন।

available_options টাইপ তৈরি করুন

এই বিভাগে, আপনি available_options নামে একটি নতুন প্রকার তৈরি করেন, যা ব্যবহারকারীরা প্রম্পটের প্রতিক্রিয়া হিসাবে যে তিনটি বিকল্প বেছে নিতে পারে (ড্রাগন, অনুবাদক এবং কম্পাস) তা নির্দিষ্ট করে। কোনো ব্যবহারকারী অনুরূপ কিছু বললে আপনি এই বিকল্পগুলির জন্য কয়েকটি প্রতিশব্দ সংজ্ঞায়িত করুন। পরবর্তী বিভাগে, আপনি ব্যবহারকারীর পছন্দ পেতে চান তা নির্দিষ্ট করতে আপনি একটি স্লটে available_options প্রকার যোগ করুন।

available_options টাইপ তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, প্রকারে ক্লিক করুন।
  2. + (প্লাস চিহ্ন) ক্লিক করুন, available_options টাইপ করুন এবং Enter
  3. বিকল্পগুলি খুলতে available_options এ ক্লিক করুন।

প্রকারগুলিকে তথ্যের কী-মান জোড়া হিসাবে কনফিগার করা হয়, যেখানে কীটি প্রকারের নাম এবং মানগুলি সেই কীটির প্রতিশব্দ। আপনি যখন কীটি সংজ্ঞায়িত করেন, এটি স্বয়ংক্রিয়ভাবে একটি মান হিসাবে যুক্ত হয়।

ব্যবহারকারী বেছে নিতে পারেন এমন তিনটি বিকল্প যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. এন্ট্রি যোগ করুন বিভাগে স্ক্রোল করুন।
  2. নতুন এন্ট্রি ক্ষেত্রে, dragon টাইপ করুন এবং Enter । এই ক্রিয়াটি একটি dragon কী তৈরি করে।
  3. মান যোগ করার ক্ষেত্রে hydra টাইপ করুন এবং মান (প্রতিশব্দ) হিসাবে যোগ করতে Enter টিপুন। তারপর, মান lizard জন্য এই পদক্ষেপ পুনরাবৃত্তি করুন.
  4. বাকি কী এবং সংশ্লিষ্ট মান যোগ করুন:
  • translator | translator , communicator , machine , decoder , translate
  • compass | compass , direction , guide

8333b1b67445f21.png

  1. সংরক্ষণ করুন ক্লিক করুন.

আপনার অ্যাকশন এখন বুঝতে পারে যে available_options হল ড্রাগন, অনুবাদক, এবং কম্পাস, এবং কয়েকটি সংশ্লিষ্ট প্রতিশব্দও চিনতে পারে৷

স্লট ফিলিং কনফিগার করুন

এর পরে, আপনাকে Fortune দৃশ্যে স্লট ফিলিং কনফিগার করতে হবে। স্লট-ফিলিং লজিক কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, দৃশ্যের অধীনে, Fortune- এ ক্লিক করুন
  2. Fortune দৃশ্যে, স্লট পূরণের জন্য + (প্লাস চিহ্ন) ক্লিক করুন।
  3. এন্টার স্লট নেম ফিল্ডে, chosenOptions নাম হিসেবে নির্বাচিত বিকল্প যোগ করুন।
  4. টাইপ নির্বাচন করুন ড্রপ-ডাউন তালিকায়, স্লট টাইপ হিসাবে উপলব্ধ_অপশন নির্বাচন available_options
  5. এই স্লটটি প্রয়োজনীয় চেকবক্সটি নির্বাচন করুন।

a461b906476e244.png

  1. প্রম্পট পাঠান নির্বাচন করুন এবং নিম্নলিখিত বার্তা এবং পরামর্শ চিপ যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            What do you choose to help you on your quest, a dragon, a
            translator, or a compass?
    suggestions:
      - title: 'Dragon'
      - title: 'Translator'
      - title: 'Compass'
  1. সংরক্ষণ করুন ক্লিক করুন.

আপনি এখন স্লটে available_options টাইপ যোগ করেছেন, যা এগিয়ে যাওয়ার আগে ব্যবহারকারীর (তাদের পছন্দের সাহায্য) থেকে আপনার সংগ্রহ করা তথ্য আপনার অ্যাকশনকে বলে। আপনি স্লটের মধ্যে একটি প্রম্পটও কনফিগার করেছেন, যা ব্যবহারকারী যখন দৃশ্যের স্লট-ফিলিং পর্যায়ে পৌঁছে তখন প্রম্পট সারিতে যোগ করা হয়।

মনে রাখবেন যে আপনি যখন স্লটের নাম দিয়েছেন chosenOptions , কাস্টমাইজ স্লট মান রাইটব্যাক ক্ষেত্রটি একই নাম ( $session.params.chosenOptions ) দিয়ে আপডেট করা হয়। আপনি অ্যাকশন বিল্ডার এবং ক্লায়েন্ট লাইব্রেরির মাধ্যমে আপনার পরিপূর্ণতায় এই নামটি এই প্যারামিটারটি অ্যাক্সেস করতে পারেন।

scene.slots.status == "FINAL" কন্ডিশন কনফিগার করুন

যখন আপনি একটি স্লট যোগ করেন, শর্ত দৃশ্য. scene.slots.status == "FINAL" স্বয়ংক্রিয়ভাবে শর্ত তালিকায় যোগ হয়

অবস্থা দৃশ্য. scene.slots.status == "FINAL" স্লট পূরণ সম্পূর্ণ হওয়ার জন্য পরীক্ষা করে। যখন সমস্ত স্লট পূর্ণ হয়, তখন শর্তটি একটি ওয়েবহুক ট্রিগার করতে পারে, একটি নতুন দৃশ্যে স্থানান্তর করতে পারে বা প্রম্পট সারিতে প্রম্পট যোগ করতে পারে।

এই বিভাগে, আপনি দৃশ্য. scene.slots.status == "FINAL" কনফিগার করেন একবার স্লটগুলি পূরণ হয়ে গেলে প্রম্পট সারিতে একটি প্রম্পট যোগ করতে।

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

  1. দৃশ্য. scene.slots.status == "FINAL" এ ক্লিক করুন।
  2. প্রম্পট পাঠান নির্বাচন করুন এবং নিম্নলিখিত প্রম্পট যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: You picked $session.params.chosenOptions.
  1. সংরক্ষণ করুন ক্লিক করুন.

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

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

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app ক্লিক করুন বা টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । (বিকল্পভাবে, আপনি হ্যাঁ পরামর্শ চিপে ক্লিক করতে পারেন।)

a899d45c542668f6.png

  1. dragon ক্লিক করুন, টাইপ করুন বা বলুন। আপনার প্রম্পট পাওয়া উচিত "আপনি ড্রাগন বাছাই করেছেন।"

পরবর্তী বিভাগে, আপনি ব্যবহারকারী নির্বাচন করতে পারেন এমন প্রতিটি সহায়তার জন্য প্রম্পটগুলি কাস্টমাইজ করুন।

শর্ত ব্যবহার করে প্রম্পট কাস্টমাইজ করুন

এই বিভাগে, আপনি ব্যবহারকারী বেছে নিতে পারেন এমন প্রতিটি বিকল্পের জন্য শর্ত যোগ করুন এবং প্রতিটি শর্তের জন্য একটি কাস্টম প্রম্পট যোগ করুন।

dragon ভাগ্য কাস্টমাইজ করুন

শর্ত আপডেট করতে এবং ব্যবহারকারী যখন "ড্রাগন" বেছে নেয় তখন প্রম্পটটি কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  2. নেভিগেশন বারে, ফরচুন দৃশ্যে ক্লিক করুন।
  3. দৃশ্য. scene.slots.status == "FINAL" এ ক্লিক করুন।
  4. শর্ত বিবৃতিটি এতে আপডেট করুন: scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
  5. প্রম্পট পাঠান নির্বাচন করুন।
  6. কোড এডিটরে নিম্নলিখিত ভাগ্য সহ প্রম্পট আপডেট করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The people of Gryffinberg will be awestruck by the beauty and power
            of the ancient dragon. Much to your dismay, the townspeople fall
            into dispute over who will receive the honor of riding the dragon
            first. You return home from your quest without everlasting glory or
            a dragon.
  1. সংরক্ষণ করুন ক্লিক করুন.

d31767232ad908bd.png

এখন, যখন একজন ব্যবহারকারী "ড্রাগন" বা অনুরূপ শোনাচ্ছে এমন কিছু বলে, আপনার অ্যাকশন সেই নির্বাচনের উপর ভিত্তি করে একটি ভাগ্য প্রদান করে। এর পরে, আপনি অবশিষ্ট দুটি নির্বাচন যোগ করুন।

translator ভাগ্য কাস্টমাইজ করুন

শর্ত যোগ করতে এবং একজন ব্যবহারকারী যখন "অনুবাদক" চয়ন করেন তার জন্য প্রম্পট কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. শর্তের পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  2. scene.slots.status == "FINAL" && session.params.chosenOptions == "translator" অন্য ক্ষেত্রে যোগ করুন।
  3. প্রম্পট পাঠান নির্বাচন করুন।
  4. আপনার কোড সম্পাদকে নিম্নলিখিত প্রম্পট যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            With the help of the translator, the rival factions in Gryffinberg
            are finally able to communicate with each other and resolve their
            disputes. You will complete your quest to restore peace in the town.
            The translator will be used on many subsequent journeys across the
            earth. After its work is done, it retires honorably to a premier
            location in the Gryffinberg History Museum.
  1. সংরক্ষণ করুন ক্লিক করুন.

c1af65e70dbf3dfe.png

compass ভাগ্য কাস্টমাইজ করুন

শর্ত যোগ করতে এবং ব্যবহারকারী যখন "কম্পাস" বেছে নেয় তখন প্রম্পটটি কাস্টমাইজ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. শর্তের পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  2. scene.slots.status == "FINAL" && session.params.chosenOptions scene.slots.status == "FINAL" && session.params.chosenOptions == "compass" টেক্সট বক্সে যোগ করুন।
  3. প্রম্পট পাঠান নির্বাচন করুন।
  4. কোড এডিটরে নিম্নলিখিত প্রম্পট যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The compass will help you find the mystical and ancient Library of
            Gryffinberg. Among its infinite stacks of dusty books, you find one
            entitled "Wisdom of the Ages". By the time you've read the
            50,000-page tome, the townspeople have forgotten their problems. You
            will write a second edition of "Wisdom of the Ages", but have
            limited commercial success.
  1. সংরক্ষণ করুন ক্লিক করুন.

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

এই মুহুর্তে, আপনার অ্যাকশন ব্যবহারকারীর জন্য তাদের বেছে নেওয়া বিকল্পের উপর ভিত্তি করে একটি কাস্টমাইজড ভাগ্য প্রদান করবে।

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ক্লিক করুন, টাইপ করুন বা Translator বলুন।

29e17f950bd0dd71.png

আপনার "অনুবাদক" বিকল্পের জন্য উপযুক্ত ভাগ্য পাওয়া উচিত।

3. গেম লুপ যোগ করুন

এই বিভাগে, আপনি আপনার অ্যাকশন কনফিগার করেন যাতে ব্যবহারকারী অন্য একটি বিকল্প নির্বাচন করতে পারে এবং একটি নির্বাচন করার পরে একটি ভিন্ন ভাগ্য শুনতে পারে। এই পরিবর্তনটি "আপনি কি আবার খেলতে চান?" একটি খেলা শেষে বার্তা. এই লুপটি তৈরি করতে, আপনি পূর্বে তৈরি করা yes এবং no ইন্টেন্টগুলি পুনরায় ব্যবহার করতে পারেন এবং সেগুলিকে Again নামক একটি নতুন দৃশ্যে যুক্ত করতে পারেন।

Again দৃশ্য তৈরি করুন

এই বিভাগে, আপনি একটি নতুন Again দৃশ্য তৈরি করুন এবং একটি প্রম্পট যোগ করুন যা ব্যবহারকারীকে জিজ্ঞাসা করে যে তারা একটি ভিন্ন বিকল্প নির্বাচন করতে চান কিনা।

Again দৃশ্য তৈরি করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  2. দৃশ্যের অধীনে + (প্লাস চিহ্ন) ক্লিক করুন।
  3. Again টাইপ করুন এবং Enter
  4. নেভিগেশন বারে Again দৃশ্যে ক্লিক করুন।
  5. অন ​​এন্টারের পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  6. প্রম্পট পাঠান নির্বাচন করুন, এবং নিম্নলিখিত প্রম্পট এবং পরামর্শ চিপ যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            That is what I see for you. Would you like to choose a different option and
            explore another future?
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. সংরক্ষণ করুন ক্লিক করুন.

Fortune থেকে Again দৃশ্যে রূপান্তর যোগ করুন

ব্যবহারকারী তাদের ভাগ্য প্রাপ্তির পরে, কথোপকথনটিকে নতুন Again দৃশ্যে স্থানান্তর করতে হবে।

Fortune দৃশ্য থেকে Again দৃশ্যে একটি রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ফরচুন দৃশ্যে ক্লিক করুন।
  2. বিকল্প উইন্ডো খুলতে প্রথম শর্তে ক্লিক করুন ( scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon" )।
  3. স্ক্রোল করুন এবং ট্রানজিশনের অধীনে Again নির্বাচন করুন।
  4. সংরক্ষণ করুন ক্লিক করুন.
  5. বিকল্প উইন্ডো খুলতে দ্বিতীয় শর্তে ক্লিক করুন।
  6. স্ক্রোল করুন এবং ট্রানজিশনের অধীনে Again নির্বাচন করুন।
  7. সংরক্ষণ করুন ক্লিক করুন.
  8. বিকল্প উইন্ডো খুলতে তৃতীয় শর্তে ক্লিক করুন।
  9. স্ক্রোল করুন এবং ট্রানজিশনের অধীনে Again নির্বাচন করুন।
  10. সংরক্ষণ করুন ক্লিক করুন.

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

এই মুহুর্তে, ব্যবহারকারীরা তাদের ভাগ্য পাওয়ার পরে আপনার অ্যাকশন তাদের নিম্নলিখিত প্রম্পট প্রদান করবে: "আমি আপনার জন্য এটিই দেখতে পাচ্ছি। আপনি কি একটি ভিন্ন বিকল্প বেছে নিতে এবং অন্য ভবিষ্যত অন্বেষণ করতে চান?"

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. dragon ক্লিক করুন, টাইপ করুন বা বলুন।

b299e9fed9aedb69.png

ড্রাগন বিকল্প এবং Again প্রম্পটের জন্য আপনার ভাগ্য পাওয়া উচিত।

ইন্টেন্ট যোগ করুন এবং Again দৃশ্যে রূপান্তর করুন

এই বিভাগে, আপনি Again দৃশ্যে yes এবং no ইন্টেন্ট যোগ করেন যাতে আপনার অ্যাকশন বুঝতে পারে যে ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে চান কি না। আপনি yes এবং no ইন্টেন্টের জন্য উপযুক্ত রূপান্তর যোগ করুন। yes অভিপ্রায় Fortune দৃশ্যে স্থানান্তরিত হয়, যখন সিস্টেম দৃশ্যে no অভিপ্রায় রূপান্তরিত হয় না End conversation হয়।

Again দৃশ্যে অভিপ্রায় এবং রূপান্তর যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  2. Again দৃশ্যে ক্লিক করুন।
  3. ব্যবহারকারীর অভিপ্রায় পরিচালনার পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  4. অভিপ্রায় ড্রপ-ডাউন মেনু থেকে হ্যাঁ নির্বাচন করুন।
  5. ট্রানজিশন ড্রপ-ডাউন মেনু থেকে Fortune নির্বাচন করুন।
  6. সংরক্ষণ করুন ক্লিক করুন.

c2efba35ea881b0d.png

  1. ব্যবহারকারীর অভিপ্রায় পরিচালনার পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  2. উদ্দেশ্য ড্রপ-ডাউন মেনু থেকে না নির্বাচন করুন।
  3. ট্রানজিশন ড্রপ-ডাউন মেনু থেকে কথোপকথন শেষ করুন নির্বাচন করুন।
  4. প্রম্পট পাঠান নির্বাচন করুন এবং কোড এডিটরে নিম্নলিখিত প্রম্পট যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
  1. সংরক্ষণ করুন ক্লিক করুন.

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

ব্যবহারকারী একটি নতুন বিকল্প বেছে নিতে বা কথোপকথন শেষ করতে চান কিনা তা আপনার অ্যাকশন এখন বুঝতে হবে।

yes অভিপ্রায় পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. বিকল্পগুলির একটিতে ক্লিক করুন, টাইপ করুন বা বলুন।
  5. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter

5d0690332efe2e29.png

আপনি প্রম্পট পাবেন, "আপনি আপনার অনুসন্ধান, একটি ড্রাগন, একটি অনুবাদক, বা একটি কম্পাসে আপনাকে সাহায্য করার জন্য কি বেছে নেবেন?"

no উদ্দেশ্য পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. বিকল্পগুলির একটিতে ক্লিক করুন, টাইপ করুন বা বলুন।
  2. ইনপুট ক্ষেত্রে No টাইপ করুন এবং Enter

আপনার End conversation প্রম্পট পাওয়া উচিত: "এটা আমাকে খুশি করে যে আপনি আপনার পছন্দের সাথে সন্তুষ্ট। আপনার অনুসন্ধানের জন্য শুভকামনা। বিদায়।"

4. একটি সহায়ক পথ যোগ করুন

আপনি এখন মূল পথ তৈরি করেছেন যা বেশিরভাগ ব্যবহারকারীরা আপনার অ্যাকশনে নেয়। যাইহোক, ব্যবহারকারী Fortune দৃশ্য থেকে প্রম্পটের প্রতিক্রিয়া জানাতে পারে, " আপনার অনুসন্ধান, একটি ড্রাগন, একটি অনুবাদক বা একটি কম্পাসে আপনাকে সাহায্য করার জন্য আপনি কী বেছে নেবেন?" , এমন একটি পছন্দ সহ যা প্রদত্ত বিকল্পগুলির মধ্যে একটি নয়।

এই বিভাগে, আপনি যখন একজন ব্যবহারকারী "জাদু", "অর্থ", "ঘোড়া" বা "ফোন" চয়ন করেন তা বোঝার জন্য এবং ব্যবহারকারীকে মূল তিনটি পছন্দের মধ্যে একটি বেছে নেওয়ার জন্য অনুরোধ জানানোর জন্য আপনার অ্যাকশন কনফিগার করুন। এই বিকল্পগুলি। এই যুক্তিটি কনফিগার করার জন্য, আপনাকে একটি নতুন type তৈরি করতে হবে যাতে এই অন্যান্য পছন্দগুলি এবং একটি নতুন অভিপ্রায় রয়েছে, other_option , যেটি মেলে যখন কোনও ব্যবহারকারী এই বিকল্পগুলির মধ্যে একটি বলে। অভিপ্রায় পরামিতিগুলি সনাক্ত করতে এবং বের করতে আপনাকে other_option অভিপ্রায়ের মধ্যে প্রশিক্ষণ বাক্যাংশগুলিকে টীকা করতে হবে

যখন সহকারীর প্রাকৃতিক-ভাষা প্রক্রিয়াকরণ (NLU) ইঞ্জিন ব্যবহারকারীর ইনপুটে একটি প্যারামিটার মিল শনাক্ত করে, তখন এটি একটি টাইপ করা প্যারামিটার হিসাবে মানটি বের করে যাতে আপনি একটি দৃশ্যে এটির সাথে যুক্তি চালাতে পারেন। এই কোডল্যাবে, আপনি আপনার অ্যাকশন কনফিগার করেন যাতে ব্যবহারকারীর পছন্দের সাহায্য বের করে এবং একটি প্রম্পটে সেই পছন্দটি উল্লেখ করে।

unavailable_options প্রকার তৈরি করুন

আপনি এখন একটি unavailable_options টাইপ তৈরি করতে পারেন যাতে বিভিন্ন বিকল্প রয়েছে যাতে আপনার অ্যাকশন ব্যবহারকারীর ইনপুটে সেই ডেটা সনাক্ত করতে পারে।

unavailable_options টাইপ তৈরি করতে, এই ধাপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  2. প্রকারের অধীনে + (প্লাস চিহ্ন) ক্লিক করুন।
  3. টাইপ করুন unavailable_options এবং Enter
  4. অপশন খুলতে unavailable_options এ ক্লিক করুন।
  5. এন্ট্রি যোগ করুন বিভাগে নিম্নলিখিত এন্ট্রি এবং সংশ্লিষ্ট মানগুলি লিখুন:

horse

horse , stallion , steed

magic

magic , enchanted , spells

money

money , cash , gold

phone

phone , cell , apps

আপনার কী-মানের সারণীটি এইরকম হওয়া উচিত:

c9e119e0f5fb2a47.png

  1. সংরক্ষণ করুন ক্লিক করুন.

other_option অভিপ্রায় তৈরি করুন

এরপরে, আপনি other_option নামে একটি অভিপ্রায় তৈরি করুন এবং প্রশিক্ষণের বাক্যাংশ যোগ করুন যা unavailable_options প্রকারের বিকল্পগুলিকে অন্তর্ভুক্ত করে। ব্যবহারকারী যখন unavailable_options প্রকারের মধ্যে থাকা একটি পছন্দ নির্বাচন করেন তখন এই অভিপ্রায়টি মিলে যায়।

other_option অভিপ্রায় তৈরি এবং কনফিগার করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. কাস্টম ইন্টেন্টের অধীনে + (প্লাস চিহ্ন) ক্লিক করুন।
  2. other_option টাইপ করুন এবং Enter
  3. উইন্ডো খুলতে other_option এ ক্লিক করুন।
  4. নিম্নলিখিত প্রশিক্ষণ বাক্যাংশ যোগ করুন এবং প্রতিটি পরে Enter টিপুন:
  • I want to use spells
  • I really really want to use a phone
  • magic!
  • cash
  • I want to ride a horse
  1. অভিপ্রায় পরামিতি যোগ করুন বিভাগে, প্যারামিটারের নাম আপডেট করুন chosenUnavailableOption
  2. সংরক্ষণ করুন ক্লিক করুন.

আপনি প্রশিক্ষণের বাক্যাংশগুলি প্রবেশ করার সাথে সাথে, অ্যাকশন বিল্ডার unavailable_options টাইপ থেকে magic , phone , spells , cash এবং horse চিনতে পারে এবং সেই শব্দগুলি স্বয়ংক্রিয়ভাবে হাইলাইট (টীকা) করে। অ্যাকশন বিল্ডার স্বয়ংক্রিয়ভাবে একটি ইন্টেন্ট প্যারামিটার যুক্ত করে ইনটেন্ট প্যারামিটার বিভাগে, যেমনটি নিচের ছবিতে দেখানো হয়েছে।

অভিপ্রায় প্যারামিটার আপনাকে বিকল্পটির নাম বের করতে এবং একটি প্রম্পটে সেই বিকল্পটি ব্যবহার করতে দেয়।

df61d4489f0910.png

Fortune দৃশ্যে other_option অভিপ্রায় যোগ করুন

আপনার কাছে এখন একটি অভিপ্রায় রয়েছে, other_option , যা একটি ব্যবহারকারীকে এমন একটি বিকল্প নির্দিষ্ট করে পরিচালনা করতে পারে যা আসল বিকল্পগুলির মধ্যে একটি নয়। এই বিভাগে, আপনি Fortune দৃশ্যে other_option অভিপ্রায় যোগ করুন। আপনি ব্যবহারকারীর ইনপুট উপর ভিত্তি করে প্রম্পট কাস্টমাইজ করতে অভিপ্রায় প্যারামিটার ব্যবহার করুন.

Fortune দৃশ্যে other_option অভিপ্রায় যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ফরচুন দৃশ্যে ক্লিক করুন।
  2. ব্যবহারকারীর অভিপ্রায় পরিচালনার পাশে + (প্লাস চিহ্ন) ক্লিক করুন।
  3. উদ্দেশ্য ড্রপ-ডাউন মেনু থেকে other_option নির্বাচন করুন।
  4. প্রম্পট পাঠান নির্বাচন করুন এবং নিম্নলিখিত প্রম্পট যোগ করুন:
candidates:
  - first_simple:
      variants:
        - speech: >-
            I have seen the future and a $intent.params.chosenUnavailableOption.original
            will not aid you on your journey. 

অভিব্যক্তি $intent.params.chosenUnavailableOption উদ্দেশ্য প্যারামিটার বস্তুকে নির্দেশ করে এবং $intent.params.chosenUnavailableOption.original সেই বস্তুর মানকে নির্দেশ করে। original property ব্যবহারকারীর নির্দিষ্ট করা কাঁচা ইনপুটকে বোঝায়।

  1. সংরক্ষণ করুন ক্লিক করুন.

4bab1efbe21056aa.png

যখন একজন ব্যবহারকারী Fortune দৃশ্যের সময় unavailable_options প্রকারে তালিকাভুক্ত একটি বিকল্প বলে, তখন other_option অভিপ্রায় মিলে যায় এবং প্রম্পট সারিতে একটি প্রম্পট যোগ করে। যেহেতু কোনো স্থানান্তর নির্দিষ্ট করা নেই, তাই দৃশ্য সম্পাদনের লুপ শর্তের পর্যায়ে পুনর্মূল্যায়ন করে চলতে থাকে। chosenOptions স্লট তারপর প্রম্পট সারিতে তার প্রম্পট যোগ করে এবং প্রম্পট সারি ব্যবহারকারীর কাছে পৌঁছে দেওয়া হয়।

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

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

সিমুলেটরে আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ইনপুট ফিল্ডে magic টাইপ করুন এবং Enter

3a42c33eca435f32.png

আপনি লক্ষ্য করতে পারেন যে ব্যবহারকারী যখন "একটি" নিবন্ধের আগে "জাদু" বেছে নেয় তখন প্রম্পটটি সঠিক শোনায় না। আপনি নিম্নলিখিত বিভাগে এই সমস্যাটি সমাধান করুন।

unavailable_options হ্যান্ডলার যোগ করুন

unavailable_options টাইপ থেকে উপযুক্ত পছন্দের আগে "a" নিবন্ধটি রাখার জন্য, আপনি আপনার পরিপূর্ণতা যুক্তিতে একটি ইভেন্ট হ্যান্ডলার কনফিগার করতে পারেন যাতে ব্যবহারকারীর বেছে নেওয়া বিকল্পটির আগে একটি "a" প্রয়োজন কিনা তা পরীক্ষা করতে পারেন। প্রথমে, কনসোলে হ্যান্ডলারকে কল করার জন্য আপনাকে আপনার অ্যাকশন কনফিগার করতে হবে।

unavailable_options হ্যান্ডলার যোগ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে বিকাশে ক্লিক করুন।
  2. Fortune দৃশ্যে ক্লিক করুন।
  3. ব্যবহারকারীর অভিপ্রায় পরিচালনার অধীনে, উইন্ডোটি খুলতে অন্য_অপশন মিলে গেলে ক্লিক করুন।
  4. প্রম্পট পাঠান চেকবক্স সাফ করুন।
  5. আপনার ওয়েবহুককে কল করুন চেকবক্সটি নির্বাচন করুন।
  6. ইভেন্ট হ্যান্ডলারের জন্য পাঠ্য বাক্সে unavailable_options লিখুন।

52a0fba115f1b377.png

  1. Save এ ক্লিক করুন।

পরিপূর্ণতা আপডেট করুন এবং স্থাপন করুন

এখন আপনি unavailable_options ইভেন্ট হ্যান্ডলারকে কল করার জন্য আপনার অ্যাকশনটি কনফিগার করেছেন, আপনি আপনার পরিপূর্ণতায় হ্যান্ডলারটিকে আপডেট করতে এবং এটি স্থাপন করতে পারেন।

আপনার পূর্ণতা আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে Webhook- এ ক্লিক করুন।
  2. greeting হ্যান্ডলারের অধীনে নিম্নলিখিত কোড যোগ করুন:
app.handle('unavailable_options', conv => {
  const option = conv.intent.params.chosenUnavailableOption.original;
  const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
  let message = 'I have seen the future and ';
  if(optionsNeedA.has(optionKey)){
    message = message + 'a ';
  }
  message = message + `${option} will not aid you on your journey. `;
  conv.add(message);
});
  1. const app = conversation(); :
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
  1. পূর্ণতা সংরক্ষণ করুন ক্লিক করুন।
  2. ডিপ্লয় ফিফিলমেন্ট ক্লিক করুন। স্থাপনা সম্পূর্ণ হলে, আপনার সম্পাদকের উপরে একটি বার্তা পড়ে আপনার ক্লাউড ফাংশন স্থাপনা আপ টু ডেট।

কোড বুঝুন

unavailable_options হ্যান্ডলার নিম্নলিখিত কাজ করে:

  • conv অবজেক্ট থেকে option ডেটা পায় এবং original সম্পত্তিতে option বরাদ্দ করে, যা ব্যবহারকারীর কাছ থেকে কাঁচা ইনপুট
  • resolved সম্পত্তিতে optionKey করে, যা unavailable_options প্রকারের কী
  • optionKey একটি "a" প্রয়োজন এমন বিকল্পগুলির মধ্যে একটি কিনা তা পরীক্ষা করে; যদি এটি হয়, একটি যোগ করা "a" দিয়ে বার্তাটি তৈরি করে
  • conv.add(message) এর মাধ্যমে বার্তা যোগ করে

সিমুলেটরে আপনার অ্যাকশন পরীক্ষা করুন

আপনার অ্যাকশনের এখন প্রম্পট সামঞ্জস্য করা উচিত unavailable_options প্রকার থেকে ব্যবহারকারীর পছন্দের আগে একটি "a" নিবন্ধ প্রয়োজন কিনা তার উপর ভিত্তি করে।

আপনার ক্রিয়া পরীক্ষা করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. নেভিগেশন বারে, টেস্টে ক্লিক করুন।
  2. ইনপুট ফিল্ডে Talk to my test app ক্লিক করুন বা টাইপ করুন এবং Enter
  3. ইনপুট ক্ষেত্রে Yes টাইপ করুন এবং Enter । বিকল্পভাবে, হ্যাঁ পরামর্শ চিপে ক্লিক করুন।
  4. ইনপুট ফিল্ডে magic টাইপ করুন এবং Enter
  5. ইনপুট ক্ষেত্রে horse টাইপ করুন এবং Enter

54ee24c5c3c56e.png

"জাদু" পছন্দের জন্য "a" নিবন্ধ ছাড়াই প্রম্পট তৈরি করার সময় আপনার অ্যাকশনে "ঘোড়া" পছন্দের আগে "a" নিবন্ধ যোগ করা উচিত।

আপনার প্রকল্প পরিষ্কার করুন [প্রস্তাবিত]

সম্ভাব্য চার্জ এড়াতে, আপনি যে প্রকল্পগুলি ব্যবহার করতে চান না সেগুলি সরিয়ে ফেলার সুপারিশ করা হয়৷ এই কোডল্যাবে আপনার তৈরি করা প্রকল্পগুলি মুছতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ক্লাউড প্রকল্প এবং সংস্থানগুলি মুছতে, প্রকল্পগুলি বন্ধ করা (মুছে ফেলা) বিভাগে তালিকাভুক্ত পদক্ষেপগুলি সম্পূর্ণ করুন৷
  1. ঐচ্ছিক: অবিলম্বে অ্যাকশন কনসোল থেকে আপনার প্রকল্পটি সরাতে, একটি প্রকল্প মুছুন দেখুন। আপনি এই ধাপটি সম্পূর্ণ না করলে, আপনার প্রকল্পটি প্রায় 30 দিন পরে স্বয়ংক্রিয়ভাবে সরানো হবে।

5. অভিনন্দন!

আপনি এখন Google সহকারীর জন্য অ্যাকশন তৈরি করার জন্য প্রয়োজনীয় মধ্যবর্তী দক্ষতাগুলি কভার করেছেন৷

আপনি কি আচ্ছাদিত

  • Node.js পরিপূর্ণতা লাইব্রেরি ব্যবহার করে কথোপকথনমূলক অ্যাকশনগুলি কীভাবে বিকাশ করবেন
  • ব্যবহারকারীর কাছ থেকে ডেটা সংগ্রহ করতে স্লটগুলি কীভাবে ব্যবহার করবেন
  • দৃশ্যে যুক্তি যোগ করতে শর্তগুলি কীভাবে ব্যবহার করবেন
  • কিভাবে একটি গেম লুপ যোগ করতে হয়
  • একটি সহায়ক পথ যোগ কিভাবে

আরও জানুন

Google সহকারীর জন্য অ্যাকশন তৈরির বিষয়ে আরও জানতে নিম্নলিখিত সংস্থানগুলি অন্বেষণ করুন:

টুইটারে @ActionsOnGoogle অনুসরণ করুন আমাদের সাম্প্রতিক ঘোষণার সাথে থাকুন এবং আপনি যা তৈরি করেছেন তা শেয়ার করতে #AoGDevs- এ টুইট করুন!

প্রতিক্রিয়া সমীক্ষা

আপনি যাওয়ার আগে, আপনার অভিজ্ঞতা সম্পর্কে একটি সংক্ষিপ্ত জরিপ পূরণ করুন.