অভিপ্রায়ের সংমিশ্রণে, দৃশ্যগুলি হল আপনার কথোপকথনের মডেলের অন্যান্য প্রধান বিল্ডিং ব্লক। দৃশ্যগুলি আপনার কথোপকথনের পৃথক অবস্থার প্রতিনিধিত্ব করে এবং তাদের মূল উদ্দেশ্য হল আপনার কথোপকথনকে যৌক্তিক অংশে সংগঠিত করা, কার্য সম্পাদন করা এবং ব্যবহারকারীদের কাছে প্রম্পট ফেরত দেওয়া।
দৃশ্যের কিছু বৈশিষ্ট্য অন্তর্ভুক্ত:
- লুপড এক্সিকিউশন - দৃশ্যগুলি একটি লুপের মধ্যে কার্যকর করা হয় যতক্ষণ না এটি আপনার সংজ্ঞায়িত ট্রানজিশন মানদণ্ড পূরণ করে। এটি আপনাকে একটি দৃশ্যের মধ্যে অনেক বেশি দক্ষতার সাথে নিয়ন্ত্রণ লজিক প্রবাহ তৈরি করতে দেয়।
- ডায়ালগ বিভাজন - উদ্দেশ্যগুলির সাথে একত্রে, দৃশ্যগুলি আপনাকে সংলাপগুলিকে লজিক্যাল অংশগুলিতে গোষ্ঠীবদ্ধ করতে দেয়, আপনাকে ব্যবহারকারীর অনুরোধ এবং অ্যাকশন প্রতিক্রিয়া জোড়া তৈরি করার সহজ উপায় দেয়৷
- ইন্টেন্ট ম্যাচ স্কোপিং - কারণ একটি সময়ে শুধুমাত্র একটি দৃশ্য সক্রিয় হতে পারে, আপনি আপনার পছন্দের দৃশ্যের সাথে অভিপ্রায় ম্যাচিং স্কোপ করতে পারেন এবং সেই দৃশ্যগুলি সক্রিয় থাকলেই সেগুলিকে মেলে ধরতে পারেন৷
- স্লট ফিলিং - আপনি একাধিক ইন্টেন্ট তৈরি না করে টাইপ করা ব্যবহারকারীর ইনপুটের একাধিক টুকরা সংগ্রহ করতে একটি দৃশ্যের মধ্যে স্লট ফিলিং ব্যবহার করতে পারেন
- দৃশ্যের অবস্থা - আপনি ওয়েবহুক ট্রিগার না করেই সহজ, শর্তযুক্ত যুক্তি চালাতে স্লট, সেশন, ব্যবহারকারী এবং হোম স্টোরেজ পরীক্ষা করতে পারেন।
আপনি একটি কাস্টম দৃশ্য হিসাবে আপনার কথোপকথন মডেলের অংশ হিসাবে দৃশ্যগুলিকে সংজ্ঞায়িত করতে পারেন৷ সহকারীর কথোপকথনমূলক যুক্তিতে সিস্টেমের দৃশ্যগুলিও রয়েছে যা আপনার কথোপকথনের জন্য মানক কার্যকারিতা প্রদান করে।
কাস্টম দৃশ্য
একটি কাস্টম দৃশ্য হল কথোপকথনমূলক যুক্তির একটি বিল্ডিং ব্লক যা আপনার অ্যাকশনের কথোপকথনের মডেলের একটি অংশ গঠন করে। কাস্টম দৃশ্যগুলির পর্যায় রয়েছে যা সংজ্ঞায়িত করে কিভাবে এবং কখন এটি শুরু হয়, যাকে অ্যাক্টিভেশন বলা হয়, এটি যে কথোপকথন প্রক্রিয়াকরণ করে, এক্সিকিউশন লাইফসাইকেল বলা হয় এবং দৃশ্যটি কীভাবে শেষ হয়, যাকে ট্রানজিশন বলা হয় :
- অ্যাক্টিভেশন - একটি দৃশ্য কার্যকর করার আগে, আপনাকে অবশ্যই এটি একটি বিশ্বব্যাপী অভিপ্রায় ম্যাচ বা দৃশ্য পরিবর্তনের মাধ্যমে সক্রিয় করতে হবে।
- এক্সিকিউশন - যখন একটি দৃশ্য সক্রিয় থাকে, তখন এটি একটি সুনির্দিষ্ট জীবনচক্রে সঞ্চালিত হয় যা আপনাকে স্লট ফিলিং, শর্তসাপেক্ষ চেকিং, প্রম্পট জেনারেশন এবং ওয়েবহুক ইভেন্ট ট্রিগার করার মতো বিভিন্ন কাজ সম্পাদন করতে দেয়।
- ট্রানজিশন - যখন একটি দৃশ্য আপনার সংজ্ঞায়িত মানদণ্ড পূরণ করে, যেমন একটি অভিপ্রায়ের সাথে মিলে যাওয়া বা স্লট পূরণ করা, আপনি আরও বেশি যুক্তির জন্য অন্য দৃশ্যে স্থানান্তর করতে পারেন। বিকল্পভাবে, আপনি শেষ কথোপকথন সিস্টেম দৃশ্যে স্থানান্তর করতে পারেন, যা ব্যবহারকারীর সাথে কথোপকথন শেষ করে।
সক্রিয়করণ
একটি দৃশ্য কার্যকর করার আগে, এটি সক্রিয় হতে হবে। শুধুমাত্র একটি দৃশ্য যেকোনো সময় সক্রিয় হতে পারে। আপনি নিম্নলিখিত উপায়ে দৃশ্য সক্রিয় করতে পারেন:
- আমন্ত্রণ - যখন ব্যবহারকারীর ইনপুট একটি বিশ্বব্যাপী অভিপ্রায়ের ভাষা মডেলের সাথে মেলে, আপনি আমন্ত্রণ প্রক্রিয়া করার জন্য একটি দৃশ্য সক্রিয় করতে পারেন৷
- স্ট্যাটিক দৃশ্যের রূপান্তর - যখন একটি দৃশ্য পরিবর্তনের মানদণ্ড পূরণ করে, আপনি অন্য দৃশ্যে একটি রূপান্তর সংজ্ঞায়িত করতে পারেন।
- ডাইনামিক সিন ট্রানজিশন - একটি ওয়েবহুক হ্যান্ডলারের মধ্যে, আপনি প্রোগ্রাম্যাটিকভাবে অন্য দৃশ্যে স্থানান্তর করতে পারেন।
মৃত্যুদন্ডের জীবনচক্র
যখন একটি দৃশ্য সক্রিয় থাকে, তখন এটি একটি সুসংজ্ঞায়িত জীবনচক্রের মধ্যে কার্যকর হয় যা দৃশ্যটি আপনার সেট করা পরিবর্তনের মানদণ্ড পূরণ না হওয়া পর্যন্ত লুপ করে। একটি দৃশ্যের সম্পাদন জীবনচক্র ঐচ্ছিক পর্যায়ে বিভক্ত করা হয় যা নিম্নলিখিত ক্রমে চলে:
এন্টারে - এই পর্যায়টি শুধুমাত্র একবার চলে যখন একটি দৃশ্য সক্রিয় হয়। আপনি একটি ওয়েবহুক ট্রিগার করতে পারেন বা ব্যবহারকারীকে আপনার দৃশ্যের এককালীন সেটআপ করতে অনুরোধ করতে পারেন।
শর্তাবলী - শর্তাবলী আপনাকে জীবনচক্র পর্যায়ে অগ্রসর হওয়ার আগে, একটি ওয়েবহুক ট্রিগার করার বা প্রম্পট পাঠানোর আগে নির্দিষ্ট মানদণ্ডের মূল্যায়ন করতে দেয়। এই পর্যায়টি এক্সিকিউশন লুপ থেকে প্রস্থান করার জন্য ট্রানজিশনের মানদণ্ড নির্ধারণ করতে পারে।
স্লট ফিলিং - একটি দৃশ্য স্বয়ংক্রিয়ভাবে ব্যবহারকারীদের অনুরোধ করতে পারে যতক্ষণ না এটি সমস্ত প্রয়োজনীয় স্লট (টাইপ করা ডেটা) সংগ্রহ করে। একটি দৃশ্য প্রতিবার তার এক্সিকিউশন লুপের মাধ্যমে একটি একক স্লটের জন্য অনুরোধ করে। কোনো স্লট অনুপস্থিত থাকলে, দৃশ্যের জীবনচক্র শেষ পর্যন্ত স্লট পূরণের পর্যায়ে ফিরে আসে এবং পরবর্তী প্রয়োজনীয় স্লটের জন্য অনুরোধ করে। এই পর্যায়টি এক্সিকিউশন লুপ থেকে প্রস্থান করার জন্য ট্রানজিশনের মানদণ্ড নির্ধারণ করতে পারে।
প্রম্পট - সহকারী ব্যবহারকারীর কাছে প্রম্পট সারি সরবরাহ করে এবং সারি সাফ করে। প্রম্পট কিউ হল প্রম্পটের একত্রিত সংগ্রহ যা শেষবার এই ধাপে সারি সাফ করার পর থেকে একত্রিত করা হয়েছিল।
ইনপুট - সহকারী আপনার দৃশ্যে ব্যবহারকারীর ইনপুট গ্রহণ করে এবং ফেরত দেয়, যাতে আপনি এটি প্রক্রিয়া করতে পারেন, যার মধ্যে অন্তর্নিহিত মিল অন্তর্ভুক্ত থাকতে পারে (একটি দৃশ্যের মধ্যে বিশ্বব্যাপী অভিপ্রায় বা ব্যবহারকারীর অভিপ্রায়), ক্রমাগত স্লট পূরণ করা (যদি এটি সম্পূর্ণ না হয়), বা কোনও মিল না থাকে বা কোনো ইনপুট ত্রুটি নেই। এই পর্যায়টি এক্সিকিউশন লুপ থেকে প্রস্থান করার জন্য ট্রানজিশনের মানদণ্ড নির্ধারণ করতে পারে। যদি এটি স্থানান্তর না করে, এক্সিকিউশন লুপ শর্ত পর্যায়ে ফিরে আসে।
নিম্নলিখিত বিভাগগুলি প্রতিটি জীবনচক্র পর্যায়কে আরও বিশদে বর্ণনা করে।
প্রবেশের সময়
অন এন্টার হল একমাত্র স্টেজ যা একটি দৃশ্যের এক্সিকিউশন লুপে কার্যকর হয় না। এটি নিম্নলিখিত ক্রমে আপনার দৃশ্যের এক-বারের সূচনা করে:
- অ্যাসিস্ট্যান্ট রানটাইম যদি পূর্বে মিলে যাওয়া অভিপ্রায় থেকে কোনো স্লট পূরণ করতে পারে, তাহলে স্লট ফিলিং স্টেজের জন্য দৃশ্যটি প্রস্তুত করতে এটি এখন তা করে। উদাহরণস্বরূপ, কিছু ব্যবহারকারীর ইনপুট একটি অভিপ্রায়ের সাথে মেলে এবং একটি স্লট প্রদান করতে পারে। সেই অভিপ্রায় ম্যাচটি একটি দৃশ্যকে সক্রিয় করে এবং যদি স্লটের নামগুলি মিলে যায় তবে একটি দৃশ্যে একটি স্লট পূরণ করতে পারে৷
- যদি একটি ওয়েবহুক সক্ষম করা থাকে তবে এটি একটি ইভেন্টকে সিঙ্ক্রোনাসভাবে ট্রিগার করে এবং আপনার ওয়েব পরিষেবার প্রতিক্রিয়া ফেরানোর জন্য অপেক্ষা করে।
- যখন রানটাইম একটি ওয়েবহুক প্রতিক্রিয়া পায়, তখন এটি প্রম্পটে যেকোন প্যারামিটার রেফারেন্সের সমাধান করে এবং ব্যবহারকারীর পৃষ্ঠের উপর ভিত্তি করে একটি প্রম্পট প্রার্থী নির্বাচন করে এবং পরবর্তীতে ব্যবহারকারীকে পাঠানোর জন্য প্রার্থীর জন্য একটি বিকল্প নির্বাচন করে।
- যদি ওয়েবহুকের প্রতিক্রিয়াতে একটি প্রম্পট থাকে, তাহলে এটি প্রম্পট সারিতে যোগ করে। যদি একটি স্ট্যাটিক প্রম্পটও বিদ্যমান থাকে, তাহলে ওয়েবহুক প্রম্পটটি প্রথমে প্রম্পট সারিতে একত্রিত হয়, তারপরে স্ট্যাটিক প্রম্পটটি অনুসরণ করা হয়।
- যদি ওয়েবহুকের প্রতিক্রিয়াতে একটি ট্রানজিশন থাকে তবে এটি এখন তা করে। যদি না হয়, দৃশ্যটি স্লট ভরাট পর্যায়ে চলতে থাকে।
শর্তাবলী
শর্তাবলী আপনাকে একটি শর্ত সত্য হওয়ার জন্য সেশন, ব্যবহারকারী বা স্লট ডেটা পরীক্ষা করতে দেয়। উদাহরণস্বরূপ, আপনি সমস্ত স্লটগুলি ভরাট হয়েছে কিনা তা পরীক্ষা করতে পারেন এবং স্লটগুলি প্রক্রিয়া করার জন্য অন্য দৃশ্যে স্থানান্তর করার মানদণ্ড হিসাবে সেট করতে পারেন৷
- অ্যাসিস্ট্যান্ট রানটাইম প্রতিটি শর্তকে সেগুলি যে ক্রমানুসারে নির্দিষ্ট করা আছে সে অনুযায়ী মূল্যায়ন করে। প্রথম শর্ত যা
true
মূল্যায়ন করে তা সংশ্লিষ্ট হ্যান্ডলারকে কার্যকর করে এবং শর্ত মূল্যায়ন বন্ধ করে। - একটি শর্ত
else if scene.slots.status = "FINAL"
স্বয়ংক্রিয়ভাবে শর্ত তালিকায় যোগ করা হয় যদি আপনি স্লট পূরণ করেন। এই ঐচ্ছিক শর্তটি স্লট পূরণ সম্পূর্ণ হওয়ার জন্য পরীক্ষা করে এবং একটি ওয়েবহুক ট্রিগার করতে পারে বা প্রম্পট সারিতে প্রম্পট যোগ করতে পারে।
অবস্থা মূল্যায়নের পরে, দৃশ্যটি যদি একটি ট্রানজিশনকে সংজ্ঞায়িত না করে, তবে এটি স্লট ফিলিং করতে থাকে।
স্লট ভরাট
এই পর্যায়ে একটি একক, অপূর্ণ এবং প্রয়োজনীয় স্লটের জন্য একটি স্লট প্রম্পট যোগ করে। আপনি দৃশ্যে কোনো স্লট সংজ্ঞায়িত না করলে, এই পর্যায় কিছুই করে না।
- সহকারী রানটাইম প্রথম অপূর্ণ স্লট নির্বাচন করে এবং প্রম্পট সারিতে সংশ্লিষ্ট প্রম্পট যোগ করে। কারণ দৃশ্যের এক্সিকিউশন লুপ, অতিরিক্ত, অপূর্ণ স্লটগুলি পরে পরিচালনা করা হয় যখন এক্সিকিউশন লুপ এই পর্যায়ে ফিরে আসে।
- বর্তমান, সক্রিয় স্লটে ত্রুটি হ্যান্ডলিং প্রম্পট থাকতে পারে যা দৃশ্যের ইনপুট পর্যায়ে সংজ্ঞায়িতগুলিকে ওভাররাইড করে।
- যখন ব্যবহারকারী একটি স্লট পূরণ করে, আপনি একটি ওয়েবহুক ট্রিগার করে একটি ওয়েব পরিষেবাতে এটি যাচাই করতে পারেন।
প্রম্পট
অ্যাসিস্ট্যান্ট রানটাইম ব্যবহারকারীকে প্রম্পট সারি প্রদান করে, সারি সাফ করে এবং ব্যবহারকারীর ইনপুট গ্রহণ করে।
ইনপুট
অ্যাসিস্ট্যান্ট রানটাইম ইনপুটকে কোনো উদ্দেশ্য বা স্লটের সাথে মেলাতে চেষ্টা করে:
- ব্যবহারকারীর অভিপ্রায় ম্যাচের ক্ষেত্রে, দৃশ্যটি সংশ্লিষ্ট অভিপ্রায় হ্যান্ডলার (ব্যবহারকারী বা সিস্টেমের অভিপ্রায়) চালায়। একটি দৃশ্যের অভিপ্রায় হ্যান্ডলার যেকোন বৈশ্বিক অভিপ্রায়ের চেয়ে অগ্রাধিকার নেয়। আপনি একটি ট্রানজিশন সংজ্ঞায়িত না করলে, দৃশ্য সম্পাদনটি শর্ত পর্যায়ে ফিরে যায়।
- একটি স্লট ম্যাচের ক্ষেত্রে, দৃশ্যটি স্লট পূরণের পর্যায়ে ফিরে আসে।
একটি সিস্টেম ইন্টেন্ট ম্যাচের ক্ষেত্রে (উদাহরণস্বরূপ, কোনও ইনপুট বা কোনও মিল নেই), আপনি প্রম্পট সারিতে প্রম্পট যোগ করতে পারেন, একটি ওয়েবহুক ট্রিগার করতে বা ট্রানজিশন করতে পারেন। একাধিক নো ম্যাচ প্রম্পট সংজ্ঞায়িত করার ক্ষেত্রে, সহকারী রানটাইম নিম্নলিখিত ক্রমে সবচেয়ে প্রাসঙ্গিকটি বেছে নেয়: স্লট ফিলিং, দৃশ্য, তারপর গ্লোবাল নো ম্যাচ প্রম্পট। পরপর কোনো মিল একটি সংশ্লিষ্ট ইভেন্ট তৈরি করে না:
-
no_match_1
-
no_match_2
-
no_match_final
প্রতিটি স্তরের কোন মিল নেই (স্লট ফিলিং, দৃশ্য এবং বিশ্বব্যাপী) ওয়েবহুক ইভেন্টগুলিকে ট্রিগার করতে পারে। ডিফল্টরূপে, তৃতীয় এবং শেষ কোনো ম্যাচ কথোপকথন শেষ করে না।
-
উত্তরণ
নিম্নলিখিত পর্যায়ে রূপান্তর ঘটতে পারে:
- শর্তাবলী - আপনার সংজ্ঞায়িত শর্তের উপর ভিত্তি করে আপনি অন্য দৃশ্যে স্থানান্তর করতে পারেন। পরীক্ষা করার জন্য একটি সাধারণ শর্ত হল স্লট পূরণ সম্পূর্ণ হওয়া।
- ইনপুট (ব্যবহারকারীর অভিপ্রায় ম্যাচিং) - যদি একটি অভিপ্রায় মিলে যায়, এটি অন্য দৃশ্যে একটি রূপান্তর ট্রিগার করতে পারে।
- ইনপুট (সিস্টেম ইন্টেন্ট ম্যাচিং) - যেকোন সিস্টেম ইন্টেন্ট ম্যাচ ইভেন্টের সময় আপনি ওয়েবহুক ট্রিগার করতে পারেন। কোনো মিল এবং কোনো ইনপুট ইভেন্টের জন্য, দৃশ্যটি, ডিফল্টরূপে, তিনটি ঘটনার পর কথোপকথনের শেষ দৃশ্যে রূপান্তরিত হয়।
সিস্টেমের দৃশ্য
সিস্টেমের দৃশ্যগুলি আপনাকে সহকারী দ্বারা সরবরাহিত অন্তর্নির্মিত, কথোপকথনমূলক যুক্তি ব্যবহার করতে দেয়, যা আপনাকে আপনার ব্যবহারকারীর অভিজ্ঞতায় সাধারণ কথোপকথন প্রবাহ যোগ করতে দেয়। উদাহরণ স্বরূপ, অ্যাকাউন্ট লিঙ্ক করার সিস্টেম দৃশ্যটি সহায়ককে মুহূর্তের জন্য অ্যাকাউন্ট লিঙ্কিং ফ্লো চালানোর দায়িত্ব নিতে দেয়, ব্যবহারকারীর অ্যাকাউন্টগুলিকে আসলে লিঙ্ক করার জন্য আপনার প্রয়োজনীয় তথ্য ফেরত দেয়। সিস্টেমের দৃশ্যগুলি আদর্শ দৃশ্যের জীবনচক্র অনুসরণ করে না।
নিম্নলিখিত তালিকাটি সমর্থিত সিস্টেম দৃশ্য এবং সেগুলি কীভাবে ব্যবহার করবেন তা বর্ণনা করে:
- কথোপকথন শেষ করুন - মাইক বন্ধ করে এবং ব্যবহারকারীর সাথে কথোপকথন শেষ করে। এই দৃশ্যটি কার্যকর হওয়ার পরে সহকারী ব্যবহারকারীর অভিজ্ঞতার নিয়ন্ত্রণ ফিরিয়ে নেয়।
- অ্যাকাউন্ট লিঙ্কিং - একটি অ্যাকাউন্ট লিঙ্কিং প্রবাহের মাধ্যমে ব্যবহারকারীকে গাইড করে এবং আপনার ব্যাকএন্ড সার্ভারগুলিতে ব্যবহারকারীর অ্যাকাউন্ট ব্যবহারকারীর Google অ্যাকাউন্টের সাথে লিঙ্ক করার জন্য আপনার অ্যাকশনগুলি প্রয়োজনীয় তথ্য সরবরাহ করে। এই দৃশ্যটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য অ্যাকাউন্ট লিঙ্কিং ডকুমেন্টেশন দেখুন।
- দৈনিক আপডেট - ব্যবহারকারীর দৈনিক আপডেটে আপনার অ্যাকশন যোগ করতে নিশ্চিতকরণ প্রবাহের মাধ্যমে ব্যবহারকারীকে গাইড করে। এই দৃশ্যটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য দৈনিক আপডেট ডকুমেন্টেশন দেখুন।
- বিজ্ঞপ্তি - আপনার অ্যাকশন থেকে বিজ্ঞপ্তি পেতে ব্যবহারকারীকে নিশ্চিতকরণ প্রবাহের মাধ্যমে গাইড করে। এই দৃশ্যটি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও তথ্যের জন্য পুশ বিজ্ঞপ্তি ডকুমেন্টেশন দেখুন।