অন্তর্নির্মিত উদ্দেশ্য (ডায়ালগফ্লো)

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

  • "খেলা খেলুন" অন্তর্নির্মিত উদ্দেশ্য : "ওকে গুগল। একটি মেমরি গেম খেলুন"
  • "রাশিফল ​​পান" অন্তর্নির্মিত উদ্দেশ্য : "ওকে গুগল। আমার রাশিফল ​​পান"

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

সহকারী তাদের প্যারামিটার এবং উদাহরণ ব্যবহারকারীর প্রশ্ন সহ যে বিল্ট-ইন ইন্টেন্টগুলি সমর্থন করে তার সম্পূর্ণ তালিকা দেখতে, বিল্ট-ইন ইন্টেন্ট রেফারেন্স দেখুন।

অন্তর্নির্মিত অভিপ্রায় একত্রিত করুন

আপনি কীভাবে আপনার অ্যাকশন তৈরি করছেন তার উপর নির্ভর করে, অন্তর্নির্মিত উদ্দেশ্যগুলিকে সংহত করার বিভিন্ন উপায় রয়েছে।

ডায়ালগফ্লো

আপনি যদি আপনার অ্যাকশন তৈরি করতে ডায়ালগফ্লো ব্যবহার করেন, আপনি ডায়ালগফ্লো কনসোল থেকে গ্রাফিকভাবে একটি অন্তর্নির্মিত উদ্দেশ্য সংযুক্ত করতে পারেন।

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

  1. ডায়ালগফ্লো কনসোল খুলুন, আপনার এজেন্ট নির্বাচন করুন, তারপরে ইন্টেন্ট স্ক্রিনে নেভিগেট করুন।
  2. আপনার এজেন্ট যখন একটি নির্দিষ্ট অন্তর্নির্মিত অভিপ্রায় গ্রহণ করে তখন যে অভিপ্রায়টি ট্রিগার করে তা তৈরি করুন বা নির্বাচন করুন৷ ইভেন্ট বিভাগটি খুলুন এবং ইভেন্ট যোগ করুন ক্লিক করুন।

    চিত্র 1. ডায়ালগফ্লো কনসোলে একটি ডায়ালগফ্লো ইভেন্ট যোগ করা হচ্ছে।
  3. ইভেন্ট ফিল্ডে, আপনার এজেন্টের জন্য একটি অন্তর্নির্মিত অভিপ্রায় ইভেন্টের নাম টাইপ করুন (উদাহরণস্বরূপ, actions_intent_PLAY_GAME )।

    চিত্র 2. ডায়ালগফ্লো কনসোলে আপনার এজেন্টের সাথে একটি অন্তর্নির্মিত উদ্দেশ্য সংযুক্ত করা।
  4. Save এ ক্লিক করুন।

অ্যাকশন SDK

আপনি যদি আপনার অ্যাকশন তৈরি করতে অ্যাকশন SDK ব্যবহার করেন, তাহলে আপনার অ্যাকশন প্যাকেজে অন্তর্নির্মিত উদ্দেশ্য এবং অ্যাকশনগুলির মধ্যে ম্যাপিং নির্দিষ্ট করতে হবে।

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

  1. আপনার অ্যাকশন সংজ্ঞায় নামের ক্ষেত্রে অন্তর্নির্মিত অভিপ্রায় উল্লেখ করুন।
  2. অ্যাকশন SDK ওভারভিউতে বর্ণিত gactions টুল ব্যবহার করে আপনার অ্যাকশন প্রকল্পে আপনার অ্যাকশন প্যাকেজ আপলোড করুন।

উদাহরণস্বরূপ, নিচের স্নিপেটটি দেখায় কিভাবে আপনি CHECK_AIR_QUALITY অন্তর্নির্মিত উদ্দেশ্য যোগ করতে পারেন:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

অন্তর্নির্মিত অভিপ্রায় পরামিতি পরিচালনা করুন

যখন আপনার অ্যাকশন একটি অন্তর্নির্মিত অভিপ্রায়ের মাধ্যমে আহ্বান করা হয়, তখন আপনার পূর্ণতা অতিরিক্ত প্যারামিটার পেতে পারে। অভিপ্রায় স্কিমা প্যারামিটারের নাম এবং তাদের প্রকারগুলিকে আদিম প্রকার বা schema.org সত্তা হিসাবে সংজ্ঞায়িত করে৷ কথোপকথনমূলক অ্যাকশন বিল্ট-ইন ইন্টেন্টের স্কিমা দেখতে, বিল্ট-ইন ইন্টেন্ট রেফারেন্স দেখুন।

অন্তর্নির্মিত অভিপ্রায়ের জন্য পরামিতি ঐচ্ছিক। সহকারী মান সহ প্যারামিটারগুলি পূরণ করতে পরিচালনা করে যদি সেগুলি অন্তর্নির্মিত অভিপ্রায়ের ব্যবহারকারীর আহ্বান থেকে বের করা যায়।

উদাহরণস্বরূপ, actions.intent.CHECK_AIR_QUALITY অন্তর্নির্মিত অভিপ্রায়ের স্কিমা চারটি ঐচ্ছিক পরামিতি সংজ্ঞায়িত করে:

প্যারামিটারের নাম টাইপ
attributes একটি স্ট্রিং মান।
location একটি schema.org/Place অবজেক্ট।
temporalCoverage একটি schema.org/Duration অবজেক্ট।
timeIndicator একটি EnumeratedDuration (গুগল-নির্দিষ্ট এক্সটেনশন)।

নিম্নলিখিত কোড স্নিপেট কথোপকথন ওয়েবহুক (JSON) অনুরোধের একটি উদাহরণ দেখায় যখন একজন ব্যবহারকারী "আগামীকাল সান ফ্রান্সিসকোতে বাতাসের গুণমান কী?" বলে আপনার অ্যাকশন আহ্বান করেন। :

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

এই উদাহরণে, পরামিতিগুলি নিম্নলিখিত মানগুলি গ্রহণ করে:

  • location প্যারামিটারে "সান ফ্রান্সিসকো" এর জন্য schema.org/Place মান রয়েছে।
  • temporalCoverage প্যারামিটারে আমন্ত্রণের সময়ের সাথে সম্পর্কিত আগামীকালের তারিখের জন্য schema.org/Duration মান রয়েছে।
  • attributes এবং timeIndicator প্যারামিটারের জন্য কোন মান নেই কারণ ব্যবহারকারীর আহ্বান বাক্যাংশে এই ধরনের তথ্য অন্তর্ভুক্ত ছিল না।

আপনি যদি Node.js এর জন্য অ্যাকশন অন Google ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনি নিম্নলিখিত স্নিপেটে দেখানো প্যারামিটারের মান পুনরুদ্ধার করতে পারেন:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

অন্তর্নির্মিত অভিপ্রায় সহ একীকরণ পরীক্ষা করুন

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

  1. আপনার পরীক্ষা অ্যাকশন সক্ষম করে অ্যাকশন সিমুলেটর খুলুন বা আপনার ডিভাইসে অ্যাসিস্ট্যান্ট খুলুন।
  2. সেই অন্তর্নির্মিত অভিপ্রায়ের সাথে যুক্ত একটি প্রশ্ন বলুন বা টাইপ করুন। উদাহরণস্বরূপ, "আমি একটি খেলা খেলতে চাই।"
  3. প্রদর্শিত অ্যাপ নির্বাচন ডায়ালগ থেকে, আপনার অ্যাকশন খুঁজুন।
  4. আপনার অ্যাপে একটি অভিপ্রায় পাঠাতে আপনার অ্যাপটি নির্বাচন করুন।
চিত্র 3. অ্যাকশন নির্বাচন ডায়ালগ ফলাফল
একটি অন্তর্নির্মিত অভিপ্রায় বাক্যাংশ থেকে।
চিত্র 4. একটি বিল্ট-ইন উদ্দেশ্যের সাথে সংযুক্ত একটি অ্যাকশন আহ্বান করা।

অন্তর্নির্মিত উদ্দেশ্য ব্যবহার করার জন্য সর্বোত্তম অনুশীলন

অন্তর্নির্মিত অভিপ্রায় ব্যবহার করার সময় আপনার এই সর্বোত্তম অনুশীলনগুলি অনুসরণ করা উচিত:

  • নির্দিষ্ট কর্মের জন্য অন্তর্নির্মিত অভিপ্রায় ম্যাপ করুন : যখন একটি নির্দিষ্ট অন্তর্নির্মিত অভিপ্রায় আপনার ক্রিয়াকে ট্রিগার করে, তখন যতটা সম্ভব কম ঘর্ষণ সহ আপনার অ্যাকশনের নির্দিষ্ট অভিপ্রায় এবং কার্যকারিতার কাছে ব্যবহারকারীকে পাঠান। উদাহরণস্বরূপ, যদি আপনার অ্যাকশন PLAY_GAME অন্তর্নির্মিত অভিপ্রায় সমর্থন করে এবং সেই অভিপ্রায়টি গ্রহণ করে, আপনার অবিলম্বে ব্যবহারকারীকে আপনার অ্যাকশনের গেম বৈশিষ্ট্যে পাঠাতে হবে। ব্যবহারকারীরা একটি গেম খেলতে চাইলে তাদের আবার জিজ্ঞাসা করা এড়িয়ে চলুন।
  • বিল্ট-ইন ইনটেন্ট প্যারামিটারগুলি হ্যান্ডেল করুন : অ্যাসিস্ট্যান্ট আপনার পূরণের জন্য যে বিল্ট-ইন ইনটেন্ট প্যারামিটার মানগুলি পাঠায় তা ব্যবহার করতে ভুলবেন না। সেই মানগুলির জন্য ব্যবহারকারীকে পুনরায় অনুরোধ করা এড়িয়ে চলুন।