1. আপনি শুরু করার আগে
এই কোডল্যাবে, আপনি ডায়ালগফ্লো সিএক্সের সাথে একটি খুচরা চ্যাটবট তৈরি করতে শিখবেন, কথোপকথনমূলক UI তৈরির জন্য একটি কথোপকথনমূলক AI প্ল্যাটফর্ম (CAIP)৷ Dialogflow CX ভার্চুয়াল এজেন্ট প্রয়োগ করতে পারে, যেমন: চ্যাটবট, ভয়েস বট, ফোন গেটওয়ে এবং 50 টিরও বেশি বিভিন্ন ভাষায় একাধিক চ্যানেল সমর্থন করতে পারে।
এই কোডল্যাব আপনাকে গাইড করবে কিভাবে খুচরা বিক্রেতার জন্য একটি ওয়েবসাইট চ্যাটবট তৈরি করা যায়। আমরা যে কাল্পনিক ব্যবসার জন্য চ্যাটবট তৈরি করছি তাকে বলা হয়: জি-রেকর্ডস । জি-রেকর্ডস হল ক্যালিফোর্নিয়া ভিত্তিক একটি রক রেকর্ড লেবেল। লেবেলে 4টি রক ব্যান্ড স্বাক্ষরিত আছে; এলিস গুগলার , জি'স এন' রোজেস , দ্য গু ফাইটারস এবং দ্য গুগল ডলস । জি-রেকর্ডস সমস্ত রক অনুরাগীদের কাছে ব্যান্ড পণ্যদ্রব্য বিক্রি করছে৷
এই কোডল্যাবের শেষে, আপনি শার্ট বা সঙ্গীত অর্ডার করতে চ্যাটবট ব্যবহার করতে পারেন অথবা আপনি আপনার অর্ডার সম্পর্কে জিজ্ঞাসা করতে পারেন।
আপনি কি শিখবেন
আপনি ডায়ালগফ্লো ইএসের তুলনায় ডায়ালগফ্লো সিএক্সের সুবিধাগুলি শিখতে পারবেন! এটি নিম্নলিখিত ধারণাগুলি অন্তর্ভুক্ত করে:
- গুগল ক্লাউডের মধ্যে কীভাবে ডায়ালগফ্লো সিএক্স ভার্চুয়াল এজেন্ট তৈরি করবেন
- কীভাবে প্রবাহ তৈরি করতে হয় তা শিখুন
- সত্ত্বা তৈরি করতে শিখুন
- অভিপ্রায় তৈরি করতে শিখুন
- রাষ্ট্রীয় হ্যান্ডলারদের সাথে পৃষ্ঠাগুলি এবং রূপান্তর পৃষ্ঠাগুলি কীভাবে তৈরি করবেন তা শিখুন৷
- অভিপ্রায় রুট সহ পৃষ্ঠাগুলি কীভাবে স্থানান্তর করতে হয় তা শিখুন
- প্যারামিটার এবং কন্ডিশন রুট সহ পৃষ্ঠাগুলি কীভাবে স্থানান্তর করতে হয় তা শিখুন
- সিস্টেম ফাংশন সহ শর্তসাপেক্ষ প্রতিক্রিয়াগুলি কীভাবে ফিরিয়ে দিতে হয় তা শিখুন
- কিভাবে ফলব্যাক বার্তা তৈরি করতে হয় তা শিখুন
- সিমুলেটর ব্যবহার করতে শিখুন
- টেস্ট কেস এবং টেস্ট কভারেজ কীভাবে তৈরি করবেন তা শিখুন
চূড়ান্ত ডায়ালগফ্লো সিএক্স এজেন্ট ডিজাইন দেখতে এইরকম হবে:
আপনি কি প্রয়োজন হবে
- একটি ডায়ালগফ্লো সিএক্স এজেন্ট তৈরি করতে আপনার একটি Google আইডেন্টিটি/জিমেইল ঠিকানা প্রয়োজন।
- Google ক্লাউডে অ্যাক্সেস।
2. পরিবেশ সেটআপ
একটি Google ক্লাউড প্রকল্প তৈরি করুন
যেহেতু Dialogflow CX Google ক্লাউডে চলে, তাই আপনাকে অবশ্যই একটি Google ক্লাউড প্রকল্প তৈরি করতে হবে। একটি প্রকল্প আপনার সমস্ত Google ক্লাউড সংস্থানগুলিকে সংগঠিত করে৷ এটি সহযোগীদের একটি সেট, সক্ষম API (এবং অন্যান্য সংস্থান), পর্যবেক্ষণ সরঞ্জাম, বিলিং তথ্য, এবং প্রমাণীকরণ এবং অ্যাক্সেস নিয়ন্ত্রণ নিয়ে গঠিত।
আপনি যখন একটি নতুন প্রকল্প তৈরি করেন, তখন আপনাকে একটি প্রকল্পের নাম লিখতে হবে। এবং আপনাকে এটি একটি বিদ্যমান বিলিং অ্যাকাউন্ট এবং সংস্থার সাথে লিঙ্ক করতে হবে৷
প্রদত্ত সংস্থানগুলির জন্য কে অর্থ প্রদান করে তা নির্ধারণ করতে একটি বিলিং অ্যাকাউন্ট ব্যবহার করা হয় এবং এটি এক বা একাধিক প্রকল্পের সাথে লিঙ্ক করা যেতে পারে। প্রকল্পের ব্যবহার লিঙ্ক করা বিলিং অ্যাকাউন্টে চার্জ করা হয়। বেশিরভাগ ক্ষেত্রে, আপনি যখন একটি প্রকল্প তৈরি করেন তখন আপনি বিলিং কনফিগার করেন। আরও তথ্যের জন্য, বিলিং ডকুমেন্টেশন দেখুন। নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷
Dialogflow API সক্ষম করুন
Dialogflow ব্যবহার করার জন্য, আপনাকে আপনার প্রকল্পের জন্য Dialogflow API সক্ষম করতে হবে।
- আপনি যে প্রকল্পটির জন্য API সক্ষম করতে চান সেটি নির্বাচন করুন এবং অবিরত ক্লিক করুন।
- APIs এবং পরিষেবাগুলির মেনুটি সঙ্কুচিত করুন এবং শংসাপত্র তৈরি করুন এ ক্লিক করুন
- অ্যাপ্লিকেশন ডেটা ক্লিক করুন
- না বলুন, আমি এগুলি ব্যবহার করছি না কারণ আপনি এখন কুবারনেটস ইঞ্জিন, অ্যাপ ইঞ্জিন বা ক্লাউড ফাংশন ব্যবহার করছেন না।
- সম্পন্ন ক্লিক করুন
একটি নতুন Dialogflow CX এজেন্ট তৈরি করুন
একটি নতুন Dialogflow CX এজেন্ট তৈরি করতে, প্রথমে Dialogflow CX কনসোল খুলুন:
- পূর্বে তৈরি Google ক্লাউড প্রকল্প নির্বাচন করুন.
- এজেন্ট তৈরি করুন ক্লিক করুন।
মৌলিক এজেন্ট সেটিংসের জন্য ফর্মটি পূরণ করুন:
- আপনি যেকোনো ডিসপ্লে নাম বেছে নিতে পারেন।
- অবস্থান হিসাবে চয়ন করুন: us-central1
- আপনার পছন্দের সময় অঞ্চল নির্বাচন করুন.
- ডিফল্ট ভাষা হিসাবে en - ইংরেজি নির্বাচন করুন
তৈরি করুন ক্লিক করুন।
ঠিক আছে, আমরা সব প্রস্তুত. আমরা অবশেষে আমাদের ভার্চুয়াল এজেন্ট মডেলিং দিয়ে শুরু করতে পারি।
3. প্রবাহ
জটিল ডায়ালগ প্রায়ই একাধিক কথোপকথন বিষয় জড়িত. আমরা জি-রেকর্ডসের জন্য যে চ্যাটবট তৈরি করছি, ব্যান্ড পণ্যদ্রব্য বিক্রির জন্য, সেক্ষেত্রে আমাদের পণ্যের ক্যাটালগ, অর্থপ্রদান, অর্ডারের স্থিতি এবং কাস্টমার কেয়ারের প্রশ্ন সম্পর্কে ডায়ালগ থাকবে। আমরা এই কথোপকথনের বিষয়গুলিকে প্রবাহে বিভক্ত করতে পারি।
প্রবাহ দলগুলিকে পৃথক কথোপকথনের পথে কাজ করার অনুমতি দেয়। একটি ভাল অভ্যাস হল প্রবাহকে সরল করা, তাই এটি একটি স্ক্রিনে সহজেই ফিট করে এবং এটি আরও মডুলার।
ডায়ালগফ্লো সিএক্সের জন্য ফ্লো একটি নতুন ধারণা। ডায়ালগফ্লো এসেনসিয়াল-এর মেগা এজেন্টের ধারণা রয়েছে, যেগুলো কোনোভাবে ফ্লোসের মতো। যাইহোক, আপনি প্রায়শই ফ্লো ব্যবহার করবেন।
পরে এই ল্যাবে, আমরা স্টেট হ্যান্ডলার ব্যবহার করব যা একটি প্রবাহ শেষ করতে পারে (তাই এটি পরবর্তী বা পূর্ববর্তী প্রবাহে ফিরে যাবে), অথবা আপনি সম্পূর্ণ এজেন্ট সেশন শেষ করতে পারেন।
চলুন এবং কিছু প্রবাহ তৈরি করা যাক.
প্রবাহ তৈরি করা
- Dialogflow CX- এ, + আইকনে ক্লিক করুন > ফ্লো তৈরি করুন ।
- নাম উল্লেখ করুন:
Catalog
এবং এন্টার টিপুন।
আপনার প্রথম প্রবাহ ক্যাটালগ তৈরি করা হয়েছে. এখন অন্যান্য প্রবাহ তৈরি করুন:
-
Order Process
-
My Order
-
Customer Care
পরে এই ল্যাবে আমরা পেজ স্টেট হ্যান্ডলার সেট করব, এটি নিশ্চিত করবে যে শেষ পর্যন্ত ভিজ্যুয়ালাইজেশনটি এরকম দেখাবে:
সিমুলেটর
ডায়ালগফ্লো সিএক্স কনসোলের ডানদিকে আপনি বিল্ট-ইন সিমুলেটর সহ ভার্চুয়াল এজেন্ট পরীক্ষা করতে পারেন। আপনি কথোপকথনের শুরু থেকে বা একটি নির্দিষ্ট প্রবাহ থেকে কথোপকথন পরীক্ষা করতে পারেন।
- আপনার স্ক্রিনের উপরের ডানদিকে, টেস্ট এজেন্ট বোতামে ক্লিক করুন।
- এজেন্ট ফিল্ডের সাথে আলোচনায় লিখুন:
Hello
ভার্চুয়াল এজেন্ট একটি ডিফল্ট স্বাগত পাঠ্য সহ উত্তর দেবে: শুভেচ্ছা! আমি কিভাবে সাহায্য করতে পারি?
চলুন এই ডিফল্ট স্বাগত টেক্সট পরিবর্তন করা যাক.
ডিফল্ট স্টার্ট ফ্লো
চলুন শুরু করা যাক একটি ইন্টেন্ট রুট তৈরি করে যা আপনি ভার্চুয়াল এজেন্টকে অভ্যর্থনা জানালে ট্রিগার হবে।
- বাম বিল্ড > ফ্লোস সাইডবারে, ডিফল্ট স্টার্ট ফ্লোতে ক্লিক করুন এবং স্টার্ট ট্রি নোড নির্বাচন করুন।
এটি স্টার্ট পেজ খুলবে। এটি স্বয়ংক্রিয়ভাবে বিল্ড > পৃষ্ঠাগুলির সাইডবার বিভাগে স্টার্ট পৃষ্ঠাটি নির্বাচন করে।
- স্টার্ট > রুটে ডিফল্ট ওয়েলকাম ইন্টেন্টে ক্লিক করুন।
একটি অভিপ্রায় একটি কথোপকথনের মোড়ের জন্য একটি শেষ ব্যবহারকারীর অভিপ্রায়কে শ্রেণীবদ্ধ করে৷ ডায়ালগফ্লো CX-এ, পরবর্তী সক্রিয় পৃষ্ঠা বা পূর্ণতাকে রুট করার জন্য অভিপ্রায় একটি রাষ্ট্রীয় হ্যান্ডলারের অংশ হতে পারে
- সমস্ত এজেন্ট এন্ট্রি বলে সরান, এবং এই নতুন পাঠ্য যোগ করুন:
Welcome, I am the virtual agent of G-Records, a fictional rock label. You can order artists merchandise, ask questions about your order or shipping, and I can tell you more which artists are currently signed with us. How can I help?
কথোপকথনটি স্ট্রীমলাইন করতে, আমাদের কিছু দ্রুত উত্তর বোতাম / পরামর্শ চিপগুলিরও প্রয়োজন হবে৷
- অ্যাড ডায়ালগ বিকল্পে ক্লিক করুন > কাস্টম পেলোড এবং নীচের কোড স্নিপেট ব্যবহার করুন।
- নীচের কোড স্নিপেটটি একটি কাস্টম পেলোড হিসাবে ব্যবহার করুন এবং সংরক্ষণ করুন টিপুন।
কাস্টম পেলোড সম্পর্কে আরও পড়তে ডকুমেন্টেশন দেখুন।
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Which artists?"
},
{
"text": "Which products?"
},
{
"text": "About my order..."
}
]
}
]
]
}
- এগিয়ে যান এবং সিমুলেটরে স্বাগত অভিপ্রায় পরীক্ষা করুন।
আপনি সম্ভবত ভাবছেন কেন আপনি কোনো সমৃদ্ধ সামগ্রী দেখতে পাচ্ছেন না। কারণ সাজেশন চিপসের মতো সমৃদ্ধ বিষয়বস্তু একটি ইন্টিগ্রেশনের উপর নির্ভরশীল। নিম্নলিখিত ধাপগুলির জন্য একটি বিলিং অ্যাকাউন্টের প্রয়োজন, কিন্তু আপনার যদি না থাকে তবে আপনি সেগুলি এড়িয়ে যেতে পারেন৷
- বাম সাইডবারে, পরিচালনা > ইন্টিগ্রেশনে ক্লিক করুন।
- ডায়ালগফ্লো মেসেঞ্জার বেছে নিন এবং কানেক্ট এ ক্লিক করুন।
- পপআপে Enable এ ক্লিক করুন।
আরেকটি পপআপ দেখানো হবে, এইবার ইন্টিগ্রেশন জাভাস্ক্রিপ্ট কোডের সাথে যা আপনি আপনার ওয়েবসাইটে পেস্ট করতে পারেন আপনার ওয়েবসাইটে ডায়ালগফ্লো মেসেঞ্জার উপাদানকে সংহত করতে। যেহেতু আমাদের এখনও কোনো ওয়েবসাইট নেই, তাই আমরা সরাসরি টুলে ভার্চুয়াল এজেন্ট পরীক্ষা করব।
- Try Now লিঙ্কে ক্লিক করুন।
- চ্যাট উইন্ডো খুলতে নীচের ডানদিকে চ্যাটবট আইকনে ক্লিক করুন। কথোপকথন শুরু করতে
Hello
লিখুন।
আপাতত, আপনি যখন সাজেশন চিপগুলিতে ক্লিক করবেন, ভার্চুয়াল এজেন্ট বুঝতে পারবে না আপনি কী বোঝাতে চাচ্ছেন৷ এর কারণ হল আমাদের ভার্চুয়াল এজেন্ট এখনও রাজ্যগুলির মধ্যে স্যুইচ করছে না৷ আমরা পৃষ্ঠাগুলির সাথে Dialogflow CX এ এটি করতে পারি। চলুন ল্যাব চালিয়ে যাওয়া যাক, আমরা প্রথমে কিছু সত্তা এবং উদ্দেশ্য তৈরি করব।
4. সত্তার ধরন
এন্ড-ইউজার ইনপুট থেকে ডেটা কীভাবে বের করা হয় তা নিয়ন্ত্রণ করতে সত্তার ধরন ব্যবহার করা হয়। ডায়ালগফ্লো সিএক্স সত্তার ধরনগুলি ডায়ালগফ্লো ইএস সত্তার ধরনগুলির মতো। Dialogflow পূর্বনির্ধারিত সিস্টেম সত্তা প্রদান করে যা অনেক সাধারণ ধরনের ডেটার সাথে মেলে। উদাহরণ স্বরূপ, তারিখ, সময়, রং, ইমেল ঠিকানা ইত্যাদির জন্য সিস্টেম সত্তা আছে। কাস্টম ডেটা মেলানোর জন্য আপনি আপনার নিজস্ব কাস্টম সত্তাও তৈরি করতে পারেন।
আমরা একটি প্রবাহে পৃষ্ঠাগুলি ডিজাইন করার আগে সমস্ত কাস্টম সত্তা প্রস্তুত করে শুরু করি। আমরা নিম্নলিখিত সংস্থাগুলি তৈরি করব:
সত্তা তৈরি করা
আসুন একটি শিল্পী সত্তা তৈরি করি।
- ম্যানেজ > এন্টিটি টাইপ ক্লিক করুন
- ক্লিক করুন + তৈরি করুন
- প্রদর্শনের নাম:
Artist
- সত্তা:
-
The Google Dolls
(প্রতিশব্দ সহ:Google Dolls
) -
The Goo Fighters
(প্রতিশব্দ সহ:Goo Fighters
) -
G's N' Roses
(প্রতিশব্দ সহ:Gs and Roses
) -
Alice Googler
- অ্যাডভান্সড অপশনে ক্লিক করুন এবং ফাজি ম্যাচিং চেক করুন। (আপনি যদি ব্যান্ডের নামের বানান ভুল করেন, তবে এটি এখনও সঠিক সত্তার সাথে মেলে।)
- অ্যাডভান্সড অপশনেও রিড্যাক্ট ইন লগ চেক করুন। (যদি আপনি ব্যান্ডের নামের বানান ভুল করেন তবে এটি লগে নামটি সংশোধন করবে।)
- Save এ ক্লিক করুন
এছাড়াও আমাদের মার্চেন্ড আইটেমের জন্য একটি সত্তার প্রয়োজন হবে:
- ম্যানেজ > এন্টিটি টাইপ ক্লিক করুন
- ক্লিক করুন + তৈরি করুন
- প্রদর্শনের নাম:
Merch
- সত্তা:
-
T-shirt
-
Longsleeve
(প্রতিশব্দ সহ:Longsleeve shirt
) -
Tour Movie
-
Digital Album
(প্রতিশব্দ সহ:MP3 Album
,MP3
) -
CD
(প্রতিশব্দDisc
,Physical CD
সহ)
- Save এ ক্লিক করুন
অ্যালবামের জন্য আমাদের একটি সত্তারও প্রয়োজন হবে:
- ম্যানেজ > এন্টিটি টাইপ ক্লিক করুন
- ক্লিক করুন + তৈরি করুন
- প্রদর্শনের নাম:
Album
- সত্তা:
-
Live
-
Greatest Hits
(প্রতিশব্দ সহ:Hits
)
- Save এ ক্লিক করুন
আমাদের পোশাকের আকারের জন্য একটি সত্তারও প্রয়োজন হবে:
- ম্যানেজ > এন্টিটি টাইপ ক্লিক করুন
- ক্লিক করুন + তৈরি করুন
- প্রদর্শনের নাম:
ShirtSize
- সত্তা:
-
XS
(প্রতিশব্দ সহ:Extra Small
) -
S
(প্রতিশব্দ সহ:Small
) -
M
(প্রতিশব্দ সহ:Medium
) -
L
(প্রতিশব্দ সহ:Large
) -
XL
(প্রতিশব্দ সহ:Extra Large
) -
2XL
(প্রতিশব্দ সহ:Extra Extra Large
) -
3XL
- Save এ ক্লিক করুন
এবং অর্ডার নম্বরগুলির জন্য একটি সত্তা, যা সাধারণত 4টি বর্ণসংখ্যা এবং 3টি সংখ্যা। (ABCD123 এর মত)
- ম্যানেজ > এন্টিটি টাইপ ক্লিক করুন
- ক্লিক করুন + তৈরি করুন
- প্রদর্শনের নাম:
OrderNumber
- Regexp সত্তা
- সত্তা: [AZ]{4}[0-9]{3}
- Save এ ক্লিক করুন
আপনার সত্তা কনফিগারেশন নিম্নলিখিত অনুরূপ দেখতে হবে:
@শিল্পী:
@মার্চ:
@অ্যালবাম:
@শার্ট সাইজ:
@অর্ডার নম্বর:
একবার, কাস্টম সত্তা প্রস্তুত হয়ে গেলে, আমরা উদ্দেশ্যগুলি প্রস্তুত করতে পারি। ল্যাব চালিয়ে যাওয়া যাক।
5. অভিপ্রায়
একটি অভিপ্রায় একটি কথোপকথনের মোড়ের জন্য শেষ ব্যবহারকারীর অভিপ্রায়কে শ্রেণিবদ্ধ করে। ডায়ালগফ্লো সিএক্স-এ এগুলি নাটকীয়ভাবে সরলীকৃত হয়েছে, এটি আর কথোপকথন নিয়ন্ত্রণের জন্য একটি বিল্ডিং ব্লক নয়। Dialogflow CX শুধুমাত্র ব্যবহারকারীরা যা বলছে তা মেলানোর জন্য ইন্টেন্ট ব্যবহার করে। ডায়ালগফ্লো ইএস-এ, আপনাকে সমস্ত কিছুকে একটি উদ্দেশ্য (প্যারামিটার, ইভেন্ট, পরিপূর্ণতা, ইত্যাদি) এর সাথে বেঁধে রাখতে হয়েছিল। ডায়ালগফ্লো সিএক্স-এর উদ্দেশ্যগুলিতে শুধুমাত্র প্রশিক্ষণের বাক্যাংশ থাকে এবং তাই পুনরায় ব্যবহারযোগ্য। এটি আর কথোপকথন নিয়ন্ত্রণ করে না। সুতরাং অভিপ্রায় তৈরির প্রক্রিয়াটি সোজা হবে:
অভিপ্রায়ে প্রশিক্ষণ বাক্যাংশগুলি 'ভেরিয়েবল' ইনপুট বের করতে সত্তা ব্যবহার করতে পারে, এই কারণেই এটি একটি ভাল অভ্যাস, আপনার সত্তার ধরনগুলি আগে থেকেই তৈরি করা, যা আমরা ল্যাব পদক্ষেপগুলির পূর্ববর্তী পৃষ্ঠায় করেছি।
অভিপ্রায় তৈরি করা
আমরা একটি প্রবাহে পৃষ্ঠাগুলি ডিজাইন করার আগে সমস্ত উদ্দেশ্য প্রস্তুত করে শুরু করি।
- ম্যানেজ > ইন্টেন্টে ক্লিক করুন।
- + তৈরি করুন এ ক্লিক করুন
নিম্নলিখিত বিবরণ ব্যবহার করুন:
- প্রদর্শন নাম
redirect.artists.overview
- বর্ণনা
Artists overview: The bands supported by the label
নীচে স্ক্রোল করুন এবং নিম্নলিখিত প্রশিক্ষণ বাক্যাংশ তৈরি করুন:
-
Which bands are signed?
-
Which bands
-
Which artists
-
Which artists are part of the record label
-
Who is part of the label
-
From which bands can I buy merchandise
-
Band merchandise
-
Which music do you have?
-
I would like to know who are signed to the label
-
Who are supported by the label
-
From who can I buy shirts
-
What music can I order
-
Can I get an overview of all the artists
- Save এ ক্লিক করুন।
- এখন চলুন চালিয়ে যাওয়া যাক এবং অন্যান্য সমস্ত উদ্দেশ্য তৈরি করা যাক। আরও প্রশিক্ষণ বাক্যাংশ নিয়ে আসতে আপনার নিজের কল্পনা ব্যবহার করুন। একটি সর্বোত্তম অভ্যাস হল প্রতি অভিপ্রায় কমপক্ষে 10টি প্রশিক্ষণ বাক্যাংশ থাকা বিভিন্ন উপায়গুলিকে কভার করার জন্য যা একজন ব্যবহারকারী সেই অভিপ্রায়কে ট্রিগার করতে পারে৷ এই ল্যাবের উদ্দেশ্যে, কম থাকাও জরিমানা হওয়া উচিত।
দেখার জন্য কয়েকটি জিনিস:
- মনে রাখবেন যে আপনি আপনার প্রশিক্ষণের বাক্যাংশটি প্রবেশ করার সাথে সাথে, Dialogflow CX স্বয়ংক্রিয়ভাবে আপনার সত্তাকে টীকা করবে। যদি এটি না করে, তাহলে আপনাকে আপনার সত্তা আপডেট করতে হতে পারে (একটি প্রতিশব্দ যোগ করে) অথবা নিজে নিজে প্রশিক্ষণ বাক্যাংশটি টীকা করে।
- সংক্ষিপ্ত প্রশিক্ষণ বাক্যাংশ: Dialogflow এর NLU সিস্টেম ছোট প্রশিক্ষণ বাক্যাংশের সাথেও কাজ করতে পারে এবং আমরা এখানে কয়েকটি উদাহরণ প্রদান করেছি।
- অত্যধিক প্রশিক্ষণ: একটি অভিপ্রায়ের জন্য অত্যধিক প্রশিক্ষণ বাক্যাংশ অতিরিক্ত প্রশিক্ষণ এবং একটি কম পছন্দসই ফলাফলের কারণ হতে পারে। এটি পুনরাবৃত্তিমূলক এবং ক্রমবর্ধমান পরীক্ষা ব্যবহার করা এবং প্রশিক্ষণের বাক্যাংশগুলি যোগ করা সর্বোত্তম অভ্যাস যেখানে কোনও উদ্দেশ্য মিলছে না।
প্রদর্শনের নাম | প্রশিক্ষণ বাক্যাংশ |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
এখন আমাদের পুনঃব্যবহারযোগ্য উপাদান (প্রবাহ, সত্তা এবং উদ্দেশ্য) প্রস্তুত করা হয়েছে, আমরা পেজ এবং স্টেট হ্যান্ডলার তৈরি করে এটি একসাথে রাখতে পারি।
6. পেজ এবং স্টেট হ্যান্ডলার
একটি ডায়ালগফ্লো সিএক্স কথোপকথন (একটি অধিবেশন) একটি সসীম স্টেট মেশিন হিসাবে বর্ণনা এবং কল্পনা করা যেতে পারে। উদাহরণ হিসাবে একটি ভেন্ডিং মেশিন নিন, এটি একটি সীমাবদ্ধ রাষ্ট্র মেশিন হিসাবে মডেল করা যেতে পারে। এটির নিম্নলিখিত অবস্থা রয়েছে: কয়েনের জন্য অপেক্ষা করা, ক্যান্ডি নির্বাচন করুন, ক্যান্ডি দিন এবং ইনপুটগুলির একটি সেট দেওয়া হলে, এটি সেই রাজ্যগুলির মধ্যে চলে যায়। উদাহরণস্বরূপ, একটি কয়েন ঢোকানো ভেন্ডিং মেশিনকে কয়েনের অপেক্ষা থেকে ক্যান্ডিতে নিয়ে যায়। পৃষ্ঠাগুলি হল কিভাবে আমরা ডায়ালগফ্লো CX ভার্চুয়াল এজেন্টের জন্য এই রাজ্যগুলিকে মডেল করতে পারি৷
যেহেতু একজন শেষ ব্যবহারকারী একটি কথোপকথনে Dialogflow CX এর সাথে ইন্টারঅ্যাক্ট করেন, কথোপকথনটি পৃষ্ঠা থেকে পৃষ্ঠায় চলে যায় তাই যে কোনো মুহূর্তে, ঠিক একটি পৃষ্ঠা বর্তমান পৃষ্ঠা, বর্তমান পৃষ্ঠাটিকে সক্রিয় হিসাবে বিবেচনা করা হয় এবং সেই পৃষ্ঠার সাথে সম্পর্কিত প্রবাহকেও বিবেচনা করা হয় সক্রিয়
প্রতিটি প্রবাহের জন্য, আপনি অনেকগুলি পৃষ্ঠা সংজ্ঞায়িত করেন, যেখানে আপনার সম্মিলিত পৃষ্ঠাগুলি ফ্লোটি ডিজাইন করা বিষয়(গুলি) এর উপর একটি সম্পূর্ণ কথোপকথন পরিচালনা করতে পারে৷ প্রতিটি প্রবাহের একটি বিশেষ সূচনা পৃষ্ঠা রয়েছে। যখন একটি প্রবাহ প্রাথমিকভাবে সক্রিয় হয়, শুরু পৃষ্ঠাটি বর্তমান পৃষ্ঠায় পরিণত হয়। প্রতিটি কথোপকথনের জন্য, বর্তমান পৃষ্ঠাটি একই থাকবে বা অন্য পৃষ্ঠায় স্থানান্তরিত হবে। এই ধারণাটি আপনাকে অনেক পৃষ্ঠা এবং একাধিক কথোপকথনের মোড় নিয়ে বড় এজেন্ট তৈরি করার অনুমতি দেবে।
পৃষ্ঠাগুলিতে পূর্ণতা রয়েছে (স্ট্যাটিক এন্ট্রি ডায়ালগ এবং/অথবা ওয়েবহুক), প্যারামিটার এবং স্টেট হ্যান্ডলার । কথোপকথন নিয়ন্ত্রণ রাষ্ট্রীয় হ্যান্ডলারদের মাধ্যমে ঘটে, যা আপনাকে শর্তসাপেক্ষ (কথোপকথনের শাখা করার জন্য) সহ অন্য ডায়ালগফ্লো CX পৃষ্ঠায় স্থানান্তর করার জন্য বিভিন্ন রূপান্তর রুট তৈরি করতে দেয়।
একটি কথোপকথনের অবস্থা তিনটি ভিন্ন ধরণের রুট সহ পৃষ্ঠাগুলির মধ্যে স্থানান্তর পরিচালনা করে নিয়ন্ত্রিত হয়:
- অভিপ্রায় রুট : যখন একটি অভিপ্রায় মিলিত হওয়া উচিত (যেমন একটি শেষ ব্যবহারকারী যা বলে তার উপর ভিত্তি করে পৃষ্ঠা পরিবর্তন করা)। (ভিজ্যুয়াল ডায়াগ্রামে নীল রেখা।)
- কন্ডিশন রুট : যখন একটি শর্ত চেক করা উচিত (যেমন সেশনে সংরক্ষিত নির্দিষ্ট প্যারামিটারের উপর ভিত্তি করে পৃষ্ঠা পরিবর্তন করা) (ভিজ্যুয়াল ডায়াগ্রামে কমলা লাইন।)
- ইভেন্ট হ্যান্ডলার : যখন একটি নির্দিষ্ট ফলব্যাক ইভেন্ট পরিচালনা করা উচিত (যেমন কোনো ইনপুট পরিচালনা করা, কোনো মিল না থাকা, শেষ ব্যবহারকারীকে কোনো অভিপ্রায় বা শর্ত রুটে দ্ব্যর্থিত করার জন্য) (ভিজ্যুয়াল ডায়াগ্রামে সবুজ লাইন।)
কথোপকথনের উচ্চারণ (যেমন বিষয়বস্তু বা ব্যবহারকারীর কাছে ফিরে আসা প্রতিক্রিয়া) পূর্ণতা দ্বারা সংজ্ঞায়িত করা হয়, যা হয় স্থির বা গতিশীল হতে পারে:
- স্ট্যাটিক পূর্ণতা : যখন একটি স্ট্যাটিক পরিপূর্ণতা প্রতিক্রিয়া প্রদান করা হয়
- গতিশীল পরিপূর্ণতা : যখন একটি পরিপূর্ণতা ওয়েবহুককে গতিশীল প্রতিক্রিয়ার জন্য ডাকা হয়
আমাদের খুচরা বটের জন্য, আমরা কিছু অভিপ্রায় রুট তৈরি করব এবং কিছু স্ট্যাটিক এন্ট্রি পরিপূর্ণ প্রতিক্রিয়া প্রদান করব, যা একটি পৃষ্ঠা সক্রিয় হওয়ার সাথে সাথে ব্যবহারকারীর কাছে উপস্থাপন করা হবে। পরে, পণ্যের অর্ডার করতে আপনার যে তথ্যের প্রয়োজন হবে তা সংগ্রহ করতে আমরা শর্ত রুট সহ প্যারামিটার তৈরি করব।
পৃষ্ঠা অভিপ্রায় রুট
ডিফল্ট স্টার্ট ফ্লোতে পেজ তৈরি করা
এখানে ডিফল্ট শুরু প্রবাহের একটি ফ্লো চার্ট রয়েছে:
আসুন একসাথে এটি ক্লিক করুন:
- বিল্ড > ডিফল্ট স্টার্ট ফ্লো ক্লিক করুন
- স্টার্ট পেজে ক্লিক করুন
- রুটের পাশে + আইকনে ক্লিক করুন
- redirect.artists.overview যোগ করুন
- ট্রানজিশনে নিচে স্ক্রোল করুন এবং ক্যাটালগ প্রবাহে ট্রানজিশন করুন।
- সংরক্ষণ করুন
- এই টেবিল থেকে
redirect.product.overview
এবং অন্যান্য 11টি সারিগুলির জন্য উপরের ধাপগুলি পুনরাবৃত্তি করুন:
পৃষ্ঠা (প্রবাহে) | রুট > অভিপ্রায় | রুট > ট্রানজিশন টু |
শুরু করুন | | - |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: ক্যাটালগ |
শুরু করুন | | প্রবাহ: কাস্টমার কেয়ার |
শুরু করুন | | প্রবাহ: কাস্টমার কেয়ার |
শুরু করুন | | প্রবাহ: কাস্টমার কেয়ার |
শুরু করুন | | প্রবাহ: আমার আদেশ |
শুরু করুন | | প্রবাহ: আমার আদেশ |
শুরু করুন | | প্রবাহ: আমার আদেশ |
শুরু করুন | | পৃষ্ঠা: শেষ অধিবেশন |
ডিফল্ট স্টার্ট ফ্লো একটি কল সেন্টারে কল করার সময় বিকল্প মেনুর মতো কাজ করবে। যাইহোক, এই ভার্চুয়াল এজেন্টে এটিকে প্রাকৃতিক ভাষা দিয়ে প্রশিক্ষিত করা হয়, প্রশিক্ষন বাক্যাংশের সাথে অভিপ্রায়ে। তাই মিথস্ক্রিয়াটি কথোপকথনের দ্বারা চালিত হয় এবং DTMF বিকল্পগুলির দ্বারা নয় এবং এটি আরও প্রাকৃতিক এবং মানুষের মতো।
ক্যাটালগ ফ্লোতে পৃষ্ঠা তৈরি করা
নিম্নলিখিত চ্যাট ট্রান্সক্রিপ্ট ক্যাটালগ প্রবাহের অন্তর্গত:
> "Hi"
"Welcome, I am the virtual agent of G-Records, a fictional rock label.
You can order artists merchandise, ask questions about your order or shipping,
and I can tell you more which artists are currently signed with us. How can I help?"
> "Which bands are signed with this record label?"
"The following bands are signed with G-Records:
Alice Googler, G's N' Roses, The Goo Fighters and The Google Dolls.
From which of these artists would you like to order merchandise?"
> "Alice Googler"
"You want to rock with Alice Googler merchandise. Awesome!
We sell shirts, music or the tour movie.
Which merchandise item do you want?"
"(Suggestion chips: [Shirts] [Music] [Tour Movie])"
> "I would like to buy a Shirt"
"Do you want a longsleeve or a t-shirt?"
"(Suggestion chips: [T-shirt, Longsleeve, Price?])"
> "What's the price difference?"
"A t-shirt costs $25 and a longsleeve costs $30.
Do you want a longsleeve or a t-shirt?"
> "A t-shirt",
"What shirt size do you want?"
"(Suggestion chips: [XS, S, M, L, XL, 2XL, 3XL])"
> "M"
"A T-shirt of Alice Googler size: M costs $25. Shall I continue to order?"
আপনি যখন মিউজিক বা ট্যুর মুভি বেছে নেবেন তখন সংলাপ ভিন্ন হবে: মিউজিকের জন্য সংলাপটি দেখতে এইরকম হবে:
> "Music"
"We have a Greatest Hits Album or the Live Album. Which one do you want?"
"(Suggestion chips: [Greatest Hits, Live, Price?])"
> "The Live Album"
"Do you want this album on CD or MP3?"
"(Suggestion chips: [CD, MP3])"
> "What's the price difference?"
"A CD costs $15. The digital album on MP3 costs $10.
Do you want this album on CD or MP3?"
> "Digital Album",
"The Digital Album: Alice Googler - Live costs $10. Shall I continue to order?"
ট্যুর মুভির জন্য সংলাপটি দেখতে এইরকম হবে:
> "Tour Movie"
"The Tour Movie of G's N' Roses costs $25. Shall I continue to order?
এখানে ক্যাটালগ প্রবাহের মধ্যে থাকা সমস্ত পৃষ্ঠাগুলির একটি ফ্লো চার্ট রয়েছে:
এই প্রবাহের জটিলতা লক্ষ্য করুন:
- আমি কোন শিল্পীদের প্রশ্নটি এড়িয়ে যেতে পারি এবং অবিলম্বে জিজ্ঞাসা করতে পারি "কোন পণ্যদ্রব্য আইটেম উপলব্ধ" ৷
- ডিফল্ট স্টার্ট ফ্লো থেকে, আমি জিজ্ঞাসা করতে পারি: "আমি Google Dolls টি-শার্ট কিনতে চাই", অথবা "আমি কিছু কিনতে চাই"। যার মানে ভার্চুয়াল এজেন্ট এই প্রয়োজনীয় প্যারামিটারগুলির জন্য স্লটগুলি পূরণ করতে ফলো-আপ প্রশ্ন জিজ্ঞাসা করবে। এটি সরাসরি পণ্যের পৃষ্ঠায় চলে যায়।
- মূল্য সংলাপটি মূল্য পৃষ্ঠা থেকে আসে যা পুনরায় ব্যবহার করা হবে।
- যদিও ট্যুর মুভির সংলাপটি দেখে মনে হচ্ছে এটি সবচেয়ে সাধারণ সংলাপ, আমরা আসলে এটির সাথে বিশেষ কিছু করব। আমরা কথোপকথনের এই অংশটি পুনঃব্যবহার করব, যাতে শেষ-ব্যবহারকারীরা অন্য পণ্যগুলির মধ্যে একটির জন্য এটি সরাসরি প্রবেশ করতে পারে, যদি তারা একবারে সমস্ত তথ্য বিশেষ করে:
> "I want The Goo Fighters longsleeve size S."
"The longsleeve of The Goo Fighters size S costs $30. Shall I continue to order?"
প্রথমে পেজ সংযোগ দিয়ে শুরু করা যাক.
- বিল্ড > ক্যাটালগ ক্লিক করুন
- স্টার্ট পেজে ক্লিক করুন
- রুটের পাশে + আইকনে ক্লিক করুন
- redirect.artists.overview যোগ করুন
- ট্রানজিশনে নীচে স্ক্রোল করুন, পৃষ্ঠা নির্বাচন করুন এবং চয়ন করুন: + নতুন পৃষ্ঠা
- পৃষ্ঠার নাম ব্যবহার করুন:
Artist Overview
এবং সংরক্ষণ করুন টিপুন
এখন বাকি প্রবাহ শেষ করা যাক:
- পূর্ববর্তী পদক্ষেপগুলি নিম্নলিখিত পৃষ্ঠা, উদ্দেশ্য এবং পূর্ণতাগুলির সাথে পুনরাবৃত্তি করা যেতে পারে। এই টেবিল দখল. পৃষ্ঠা হল, আপনি ফ্লোতে যে পৃষ্ঠাটি নির্বাচন করবেন, রুট > ট্রানজিশন টু হল সেই নতুন প্রবাহ বা পৃষ্ঠা যা আপনি তৈরি করবেন এবং পরিবর্তন করবেন।
পৃষ্ঠা (প্রবাহে) | রুট > অভিপ্রায় | রুট > ট্রানজিশন টু |
ক্যাটালগ শুরু | | শিল্পী সংক্ষিপ্ত বিবরণ |
ক্যাটালগ শুরু | | পণ্য |
ক্যাটালগ শুরু | | পণ্য ওভারভিউ |
ক্যাটালগ শুরু | | পণ্য ওভারভিউ |
ক্যাটালগ শুরু | | শার্ট |
ক্যাটালগ শুরু | | সঙ্গীত |
ক্যাটালগ শুরু | | সেশন শেষ করুন |
ক্যাটালগ শুরু | | শেষ প্রবাহ |
শিল্পী সংক্ষিপ্ত বিবরণ | | পণ্য ওভারভিউ |
এখন চলুন চালিয়ে যাওয়া যাক এবং আরো স্ট্যাটিক পূর্ণতা যোগ করুন।
- ক্যাটালগ প্রবাহে, শিল্পী ওভারভিউ পৃষ্ঠায় ক্লিক করুন।
- এন্ট্রি পূর্ণতা বিভাগে সম্পাদনা সম্পাদনে ক্লিক করুন।
- নিম্নলিখিত স্ট্যাটিক পূর্ণতা ব্যবহার করুন ( এজেন্ট বলেছেন ):
-
The following bands are signed with G-Records: Alice Googler, G's N' Roses, The Goo Fighters and The Google Dolls.
- Save এ ক্লিক করুন
- ক্যাটালগ প্রবাহে, পণ্য ওভারভিউ পৃষ্ঠায় ক্লিক করুন।
- এন্ট্রি পূর্ণতা বিভাগে সম্পাদনা সম্পাদনে ক্লিক করুন।
- নিম্নলিখিত স্ট্যাটিক পূর্ণতা ব্যবহার করুন ( এজেন্ট বলেছেন ):
-
We sell shirts, music or the tour movie.
- সংরক্ষণ করুন.
পৃষ্ঠা প্যারামিটার
প্যারামিটারগুলি ক্যাপচার এবং রেফারেন্স মানগুলি ব্যবহার করা হয় যা একটি সেশনের সময় শেষ-ব্যবহারকারীর দ্বারা সরবরাহ করা হয়েছে। প্রতিটি প্যারামিটারের একটি নাম এবং একটি সত্তার ধরন রয়েছে। @Artist
এবং @Merch
হল ন্যূনতম প্যারামিটার যা একটি মার্চেন্ডাইজ অর্ডার করতে আমাদের সংগ্রহ করতে হবে। টি-শার্ট বা লংস্লিভের জন্য, আপনি @ShirtSize
সংগ্রহ করতে চান এবং যদি আপনি সঙ্গীত অর্ডার করতে চান, তাহলে আপনার একটি @Carrier
এবং @Album
নামও প্রয়োজন হবে।
সেই পরামিতিগুলিকে প্রয়োজনীয় হিসাবে চিহ্নিত করতে হবে। এবং একবার এটি প্রয়োজন হলে, আপনি আপনার শেষ ব্যবহারকারীকে মনে রাখার জন্য কাস্টম প্রম্পট প্রদান করতে চান, সঠিক উত্তর প্রদান করতে যাতে এই পরামিতিগুলি সংগ্রহ করা যায়। ডায়ালগফ্লো সিএক্স-এ কিছু মেকানিজম আছে যা আপনাকে এতে সাহায্য করতে পারে।
উদাহরণস্বরূপ, আপনি প্যারামিটার বিভাগে কাস্টম স্ট্যাটিক পূর্ণতা বার্তা প্রদান করতে পারেন। যদি পরামিতি প্রয়োজন হয়, তাহলে এই পরামিতি পূরণগুলি দেখানো হবে। এই প্রতিক্রিয়া বার্তাগুলি প্রতিক্রিয়া সারিতে যোগ করা হবে। একজন এজেন্টের পালা চলাকালীন, একাধিক পূর্ণতা কল করা সম্ভব (এবং কখনও কখনও পছন্দসই) হয়, যার প্রতিটি একটি প্রতিক্রিয়া বার্তা তৈরি করতে পারে। ডায়ালগফ্লো একটি প্রতিক্রিয়া সারিতে এই প্রতিক্রিয়াগুলি বজায় রাখে। পৃষ্ঠার জীবনচক্র সম্পর্কে আরও পড়তে, এবং এই পূরণগুলি প্রতিক্রিয়া সারিতে যোগ করা হবে, ডায়ালগফ্লো CX পৃষ্ঠা ডক্স পড়ুন।
শিল্পী ওভারভিউ পৃষ্ঠায় প্যারামিটার তৈরি করা হচ্ছে
আসুন কিছু পৃষ্ঠা প্যারামিটার সংজ্ঞায়িত করি:
- ক্যাটালগ ফ্লোতে, শিল্পী ওভারভিউ পৃষ্ঠায় ক্লিক করুন।
- প্যারামিটার ব্লকে + ক্লিক করুন। শিল্পী পরামিতি যোগ করুন:
- প্রদর্শনের নাম:
artist
- সত্তার ধরন:
@Artist
- প্রয়োজনীয়: চেক করুন
- লগ ইন রিডাক্ট: চেক
- এখন আমরা কিছু কাস্টম প্যারামিটার পূরণ বার্তা যোগ করব। যদি ভার্চুয়াল এজেন্ট এখনও শিল্পীর প্যারামিটার সংগ্রহ না করে থাকে, তাহলে শেষ ব্যবহারকারী এই এজেন্ট প্রতিক্রিয়াটি প্রতিক্রিয়া সারিতে যোগ করবেন:
From which of these artists would you like to order merchandise?
- একটি দ্বিতীয় ডায়ালগ বিকল্প যোগ করুন যা সমৃদ্ধ পরামর্শ চিপ প্রদান করে। সংলাপ বিকল্প যোগ করুন ক্লিক করুন এবং এই কোডটি ব্যবহার করুন ( JSON এ):
{
"richContent": [
[
{
"options": [
{
"text": "The Google Dolls"
},
{
"text": "The Goo Fighters"
},
{
"text": "Alice Googler"
},
{
"text": "G's N' Roses"
}
],
"type": "chips"
}
]
]
}
আপনার শেষ-ব্যবহারকারী এগুলির উত্তর দেওয়ার চেষ্টা করার পরিমাণের উপর ভিত্তি করে বিভিন্ন ফলব্যাক পূর্ণতা প্রম্পট পরিচালনা করা সম্ভব। আপনি প্যারামিটার ইভেন্ট হ্যান্ডলারের সাথে এটি করবেন। বিভিন্ন অন্তর্নির্মিত ইভেন্ট হ্যান্ডলার রয়েছে যেমন অবৈধ প্যারামিটার , উচ্চারণ খুব দীর্ঘ , কোনো ইনপুট নেই , কোনো ইনপুট প্রথম চেষ্টা , দ্বিতীয় চেষ্টা , বা কোনো মিল নেই । নো ইনপুট এবং নো ম্যাচের মধ্যে পার্থক্য হল যে কোনও ইনপুট ছাড়াই কোনও ব্যবহারকারী কখনই কোনও উত্তর দেয়নি, যেখানে কোনও মিল না থাকলে, ব্যবহারকারী একটি উত্তর দেয় কিন্তু ডায়ালগফ্লো সিএক্স কোনও পৃষ্ঠার সাথে এটি মেলাতে পারে না।
- রিপ্রম্পট ইভেন্ট হ্যান্ডলার বিভাগে নিচে স্ক্রোল করুন।
- ইভেন্ট হ্যান্ডলার যোগ করুন ক্লিক করুন এবং ইভেন্ট নির্বাচন করুন:
No-match default
- নিম্নলিখিত ইভেন্ট স্ট্যাটিক টেক্সট পরিপূর্ণতা ব্যবহার করুন:
I missed that. Please, specify the artist. You can choose between: Alice Googler, G's N' Roses, The Google Dolls or The Goo Fighters. Which artist do you want to buy merchandise from?
- Save এ ক্লিক করুন
- ইভেন্ট হ্যান্ডলার যোগ করুন ক্লিক করুন এবং ইভেন্ট নির্বাচন করুন:
No-input default
- নিম্নলিখিত ইভেন্ট স্ট্যাটিক টেক্সট পরিপূর্ণতা ব্যবহার করুন:
I am sorry, I could understand the artist's name. You can choose between Alice Googler, G's N' Roses, The Google Dolls or The Goo Fighters. Which artist do you want to buy merchandise from?
- Save এ ক্লিক করুন
পৃষ্ঠা শর্ত রুট
পৃষ্ঠা শর্তসাপেক্ষ রুটের সংমিশ্রণে পরামিতিগুলি খুবই শক্তিশালী। যখন একটি শর্ত সত্যে মূল্যায়ন করা হয়, তখন সংশ্লিষ্ট পৃষ্ঠার রুটটিকে কল করা হবে। একটি শর্ত হতে পারে, একটি প্যারামিটার একটি নির্দিষ্ট মানের সমান , বা একটি প্যারামিটার অনুপস্থিত হতে পারে না বা একটি ফর্ম যা সম্পূর্ণ হয়েছে , এবং আরও অনেক কিছু। আপনি ডায়ালগফ্লো সিএক্স ডকুমেন্টেশনে প্যারামিটার এবং শর্তাবলী সম্পর্কে আরও তথ্য পেতে পারেন।
আমাদের খুচরা ভার্চুয়াল এজেন্টের জন্য, আমাদের পরামিতিগুলির একটি ক্রম সংগ্রহ করতে হবে, তাই একটি 'ফর্ম' সম্পূর্ণ হয়েছে কিনা তা পরীক্ষা করার জন্য আমাদের একটি শর্ত তৈরি করতে হবে। একটি ফর্ম প্যারামিটারের একটি তালিকা যা পৃষ্ঠার জন্য শেষ ব্যবহারকারীর কাছ থেকে সংগ্রহ করা উচিত। ভার্চুয়াল এজেন্ট একাধিক কথোপকথনের মোড়ের জন্য শেষ-ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করে, যতক্ষণ না এটি প্রয়োজনীয় সমস্ত ফর্ম প্যারামিটার সংগ্রহ করে, যা পৃষ্ঠা প্যারামিটার নামেও পরিচিত।
Dialogflow CX স্বয়ংক্রিয়ভাবে ফর্ম পূরণের সময় শেষ-ব্যবহারকারীর দ্বারা প্রদত্ত পরামিতি মান সেট করে। বর্তমান পৃষ্ঠার সম্পূর্ণ ফর্মটি পূরণ হয়েছে কিনা তা পরীক্ষা করতে, নিম্নলিখিত শর্তটি ব্যবহার করুন: $page.params.status = "FINAL"
শিল্পী ওভারভিউ পৃষ্ঠায় শর্তসাপেক্ষ রুট তৈরি করা হচ্ছে
আসুন একটি শর্তসাপেক্ষ রুট তৈরি করি, যা পরবর্তী পৃষ্ঠায় স্থানান্তরিত হবে, একবার শিল্পী পরিচিত হলে:
- শিল্পী ওভারভিউ পৃষ্ঠায়, রুট বিভাগে + আইকনে ক্লিক করুন।
- কন্ডিশন বিভাগে নিচে স্ক্রোল করুন।
- অন্তত একটি নির্বাচন করুন (বা)
- পরবর্তী, আমরা একটি অভিব্যক্তি লিখব যে
- প্যারামিটার:
$page.params.status
- অপারেটর:
=
- মান:
"FINAL"
- এখন, আমরা শেষ ব্যবহারকারীর পছন্দ নিশ্চিত করে রুটে একটি নির্দিষ্ট স্ট্যাটিক পরিপূর্ণতা বার্তা তৈরি করব। পূর্ণতা ব্লকে স্ক্রোল করুন এবং নিম্নলিখিত পূর্ণতা বার্তাগুলি লিখুন:
-
$session.params.artist, great choice! Rock on!
-
You want to rock with $session.params.artist merchandise. Awesome!
- শর্তটি সত্য হলে, আপনাকে পণ্য ওভারভিউ পৃষ্ঠায় স্থানান্তর করা উচিত। ট্রানজিশন বিভাগে স্ক্রোল করুন এবং নিম্নলিখিত পৃষ্ঠাটি ব্যবহার করুন:
Product Overview
- সংরক্ষণ করুন.
পণ্য ওভারভিউ পৃষ্ঠায় রুট তৈরি করা
এখন, আমরা জানি কিভাবে আপনি প্যারামিটার এবং শর্তসাপেক্ষ রুট তৈরি করতে পারেন, আসুন নিম্নলিখিত পৃষ্ঠাগুলির জন্য আরও পরামিতি তৈরি করি:
পণ্য ওভারভিউ
- পণ্য ওভারভিউ পৃষ্ঠায়
artist
পরামিতি তৈরি করুন:
- প্রদর্শনের নাম:
artist
- সত্তার ধরন:
@Artist
- প্রয়োজনীয়: চেক করুন
- লগ ইন রিডাক্ট: চেক
- প্রাথমিক প্রম্পট পূর্ণতা:
From which of these artists would you like to order merchandise?
{
"richContent": [
[
{
"options": [
{
"text": "The Google Dolls"
},
{
"text": "The Goo Fighters"
},
{
"text": "Alice Googler"
},
{
"text": "G's N' Roses"
}
],
"type": "chips"
}
]
]
}
- ইভেন্ট হ্যান্ডলার >
No-match default
:To buy merchandise you can choose between the following artists: Alice Googler, G's N' Roses, The Google Dolls or The Goo Fighters. Which artist do you want to buy merchandise from?
- কাস্টম পেলোড:
{
"richContent": [
[
{
"options": [
{
"text": "The Google Dolls"
},
{
"text": "The Goo Fighters"
},
{
"text": "Alice Googler"
},
{
"text": "G's N' Roses"
}
],
"type": "chips"
}
]
]
}
- ইভেন্ট হ্যান্ডলার >
No-input default
:To buy merchandise you can choose between the following artists: Alice Googler, G's N' Roses, The Google Dolls or The Goo Fighters. Which artist were you trying to mention?
- কাস্টম পেলোড:
{
"richContent": [
[
{
"options": [
{
"text": "The Google Dolls"
},
{
"text": "The Goo Fighters"
},
{
"text": "Alice Googler"
},
{
"text": "G's N' Roses"
}
],
"type": "chips"
}
]
]
}
-
merch
প্যারামিটার তৈরি করুন:
- প্রদর্শনের নাম:
merch
- সত্তার ধরন:
@Merch
- প্রয়োজনীয়: চেক করুন
- লগ ইন রিডাক্ট: চেক
- পূর্ণতা:
Which merchandise item do you want?
- ক্লিক করুন: সংলাপ বিকল্প যোগ করুন > কাস্টম পেলোড :
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Shirts"
},
{
"text": "Music"
},
{
"text": "Tour movie"
}
]
}
]
]
}
- ইভেন্ট হ্যান্ডলার >
No-match default
- ইভেন্ট হ্যান্ডলার পূর্ণতা:
We sell Shirts, Music or the Tour movie. Which of these items do you want?
- কাস্টম পেলোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Shirts"
},
{
"text": "Music"
},
{
"text": "Tour movie"
}
]
}
]
]
}
- ইভেন্ট হ্যান্ডলার >
No-input default
- ইভেন্ট হ্যান্ডলার পূর্ণতা:
I couldn't understand which merchandise item you wanted to buy. You can choose between: Shirts, Music or the Tour movie. Which item do you want?
- কাস্টম পেলোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Shirts"
},
{
"text": "Music"
},
{
"text": "Tour movie"
}
]
}
]
]
}
- একটি রুট তৈরি করুন যা পণ্য পৃষ্ঠায় স্থানান্তরিত হবে যখন
artist
প্রদান করা হয় এবংmerch
আইটেম প্রদান করা হয়।
- শর্ত:
- প্রতিটি নিয়ম মেলে (এবং)
- অভিব্যক্তি:
$session.params.artist != null
- অভিব্যক্তি:
$session.params.merch != null
- পূর্ণতা:
Alright! $session.params.merch of $session.params.artist, let's go!
- স্থানান্তর: পৃষ্ঠা:
Product
- ব্যবহারকারী যখন "শার্ট" বলে তার জন্য একটি রুট তৈরি করুন
- উদ্দেশ্য: redirect.shirts
- স্থানান্তর: পৃষ্ঠা:
Shirts
- ব্যবহারকারী যখন "সঙ্গীত" বলে তার জন্য একটি রুট তৈরি করুন
- উদ্দেশ্য: redirect.music
- স্থানান্তর: পৃষ্ঠা:
Music
- ব্যবহারকারী যখন মূল্যের তথ্য চাইবে তার জন্য একটি রুট তৈরি করুন
- উদ্দেশ্য: redirect.price
- স্থানান্তর: নতুন পৃষ্ঠা তৈরি করুন:
Price
আপনি উপরের কনফিগারেশন সেট করার পরে, আপনি নীচের ছবির মত একটি ভিজ্যুয়ালাইজেশন দেখতে পাবেন। মনে রাখবেন যে অভিপ্রায়ের রুটগুলি ডায়াগ্রামে নীল, এবং কন্ডিশন রুটগুলি কমলা। চিত্রিত না হলেও, ইভেন্ট হ্যান্ডলারগুলি সবুজ, এবং যখন একাধিক রুট প্রকার একটি পৃষ্ঠায় স্থানান্তরিত হয়, তখন লাইনটি ধূসর হবে৷
এতক্ষণে, আপনি শিখেছেন কিভাবে স্টেট হ্যান্ডলারের সাহায্যে ফ্লোস , এন্টিটি , ইনটেন্ট এবং পেজ তৈরি করতে হয় যেমন: ইন্টেন্ট রুট এবং প্যারামিটারের উপর ভিত্তি করে শর্তসাপেক্ষ রুট । পরে এই ল্যাবে, আমরা ইনপুটের উপর ভিত্তি করে বিভিন্ন সংলাপ প্রদান করতে শর্তসাপেক্ষ শাখা ব্যবহার করব।
আমাদের ভার্চুয়াল এজেন্ট চূড়ান্ত করতে আপনি নিম্নলিখিত কনফিগারেশন ব্যবহার করতে পারেন।
শার্ট পৃষ্ঠা:
- শার্ট পৃষ্ঠায় নিম্নলিখিত কনফিগারেশন তৈরি করুন:
- এন্ট্রি পূর্ণতা:
Do you want a longsleeve or a t-shirt?
- এন্ট্রি পূর্ণতা কাস্টম পেলোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "T-shirt"
},
{
"text": "Longsleeve"
},
{
"text": "Price?"
}
]
}
]
]
}
- একটি ইন্টেন্ট রুট তৈরি করুন :
Price
পৃষ্ঠায় একটি রূপান্তর সহredirect.price
- নিম্নলিখিত পরামিতি তৈরি করুন:
- প্যারামিটার:
merch
- সত্তার ধরন:@Merch
,Required
এবংRedact in log
- প্যারামিটার > ইভেন্ট হ্যান্ডলার >
No-match default
- প্যারামিটার > ইভেন্ট হ্যান্ডলার পূর্ণতা:
You can choose between a t-shirt or a longsleeve. Which of these do you want?
- পরামিতি > ইভেন্ট হ্যান্ডলার পূরণ কাস্টম পেলোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "T-shirt"
},
{
"text": "Longsleeve"
}
]
}
]
]
}
- প্যারামিটার > ইভেন্ট হ্যান্ডলার >
No-input default
- প্যারামিটার > ইভেন্ট হ্যান্ডলার পূর্ণতা:
I couldn't understand if you want the t-shirt or the longsleeve. Which of these do you want?
- পরামিতি > ইভেন্ট হ্যান্ডলার পূরণ কাস্টম পেলোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "T-shirt"
},
{
"text": "Longsleeve"
}
]
}
]
]
}
- এন্ট্রি পূরণে ক্লিক করুন এবং প্যারামিটার প্রিসেটগুলিতে স্ক্রোল করুন, প্রতিবার যখন শার্ট পৃষ্ঠাটি সক্রিয় হবে, ক্যাটাগরি প্যারামিটারটি শার্টে সেট করা হবে:
প্যারামিটার | মান |
| |
- একটি শর্তসাপেক্ষ রুট যোগ করুন:
- অন্তত একটি নিয়ম মেলে (বা)
- অভিব্যক্তি:
$session.params.merch = "T-shirt"
- অভিব্যক্তি:
$session.params.merch = "Longsleeve"
- নতুন পৃষ্ঠায় স্থানান্তর:
Shirt Size
মূল্য পৃষ্ঠা:
যেহেতু দামের বার্তাগুলি নির্বাচিত পণ্যদ্রব্যের আইটেম বা বিভাগের (সঙ্গীত বা শার্ট) উপর নির্ভর করবে, তাই আমরা এই অংশটি পরে ল্যাবে ঠিক করব। এখনকার জন্য শুধু একটি স্থানধারক প্রবেশ করাই যথেষ্ট।
- মূল্য পৃষ্ঠায় নিম্নলিখিত কনফিগারেশন তৈরি করুন:
- এন্ট্রি পূর্ণতা:
PRICE TODO
যেহেতু আপনি কথোপকথনের বিভিন্ন স্থান থেকে মূল্যের জন্য অনুরোধ করতে পারেন, তাই এটি আপনাকে সর্বদা একটি উত্তর দেবে এবং অর্ডারটি চালিয়ে যেতে আপনাকে সংলাপের পূর্ববর্তী অংশে ফিরিয়ে দেবে। ডায়ালগ ট্রিতে 5টি জায়গা রয়েছে যেখানে আপনি দামের তথ্য পেতে শাখা করতে পারেন। (শার্ট, শার্টের আকার, সঙ্গীত, ক্যারিয়ার এবং একটি অভিপ্রায় রুটের মাধ্যমেও সরাসরি), এইভাবে ফিরে যাওয়ার জন্য আমাদের কিছু শর্তসাপেক্ষ রুটের প্রয়োজন হবে:
- একটি শর্তসাপেক্ষ রুট যোগ করুন:
- প্রতিটি নিয়ম মেলে (এবং)
- অভিব্যক্তি:
$session.params.category = "shirts"
- অভিব্যক্তি:
$session.params.merch = "null"
- নতুন পৃষ্ঠায় স্থানান্তর:
Shirts
- একটি শর্তসাপেক্ষ রুট যোগ করুন:
- প্রতিটি নিয়ম মেলে (এবং)
- অভিব্যক্তি:
$session.params.category = "shirts"
- অভিব্যক্তি:
$session.params.size = "null"
- নতুন পৃষ্ঠায় স্থানান্তর:
Shirt Size
- একটি শর্তসাপেক্ষ রুট যোগ করুন:
- প্রতিটি নিয়ম মেলে (এবং)
- অভিব্যক্তি:
$session.params.category = "music"
- এক্সপ্রেশন:
$session.params.album = "null"
- নতুন পৃষ্ঠায় রূপান্তর:
Music
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$session.params.category = "music"
- এক্সপ্রেশন:
$session.params.merch = "null"
- নতুন পৃষ্ঠায় রূপান্তর:
Carrier
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$session.params.category = "null"
- নতুন পৃষ্ঠায় রূপান্তর:
Product Overview
শার্টের আকার পৃষ্ঠা:
- শার্ট আকারের পৃষ্ঠায় নিম্নলিখিত কনফিগারেশনগুলি তৈরি করুন:
- প্রবেশের পরিপূর্ণতা:
What shirt size do you want?
- প্রবেশের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "XS"
},
{
"text": "S"
},
{
"text": "M"
},
{
"text": "L"
},
{
"text": "XL"
},
{
"text": "2XL"
},
{
"text": "3XL"
}
]
}
]
]
}
- একটি অভিপ্রায় রুট তৈরি করুন:
Price
পৃষ্ঠায় রূপান্তর সহredirect.price
। - নিম্নলিখিত প্যারামিটার তৈরি করুন:
- প্যারামিটার:
shirtsize
- সত্তা প্রকার:@ShirtSize
-Required
,Redact In Log
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-match default
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা:
Please tell me the shirt size, such as XL.
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "XS"
},
{
"text": "S"
},
{
"text": "M"
},
{
"text": "L"
},
{
"text": "XL"
},
{
"text": "2XL"
},
{
"text": "3XL"
}
]
}
]
]
}
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-input default
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা:
I couldn't understand the shirt size. What size do you want?
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "XS"
},
{
"text": "S"
},
{
"text": "M"
},
{
"text": "L"
},
{
"text": "XL"
},
{
"text": "2XL"
},
{
"text": "3XL"
}
]
}
]
]
}
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$page.params.shirtsize != "null"
- পৃষ্ঠায় রূপান্তর:
Product
সংগীত পৃষ্ঠা:
- সঙ্গীত পৃষ্ঠায় নিম্নলিখিত কনফিগারেশনগুলি তৈরি করুন:
- প্রবেশের পরিপূর্ণতা:
We have a Greatest Hits Album or the Live Album. Which one do you want?
- প্রবেশের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Greatest Hits"
},
{
"text": "Live"
},
{
"text": "Price?"
}
]
}
]
]
}
- একটি অভিপ্রায় রুট তৈরি করুন: পৃষ্ঠায় রূপান্তর সহ
redirect.price
:Price
। - নিম্নলিখিত প্যারামিটার তৈরি করুন:
- প্যারামিটার:
album
- সত্তার ধরণ:@Album
-Required
,Redact In Log
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-match default
- প্যারামিটার> ইভেন্ট হ্যান্ডলার পরিপূরণ:
You can choose between Greatest Hits and Live Album. Which of these do you want?
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Greatest Hits"
},
{
"text": "Live"
}
]
}
]
]
}
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-input default
- প্যারামিটার> ইভেন্ট হ্যান্ডলার পরিপূরণ:
I couldn't understand if you want the album: Greatest Hit or Live. Which of these do you want?
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Greatest Hits"
},
{
"text": "Live"
}
]
}
]
]
}
- প্রবেশের পরিপূর্ণতায় ক্লিক করুন এবং প্যারামিটার প্রিসেটগুলিতে নীচে স্ক্রোল করুন, প্রতিবার যখন সংগীত পৃষ্ঠাটি সক্রিয় হয়, বিভাগের প্যারামিটারটি সংগীতে সেট করা হবে:
প্যারামিটার | মান |
| |
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$page.params.album != "null"
- পৃষ্ঠায় রূপান্তর:
Carrier
ক্যারিয়ার পৃষ্ঠা:
- ক্যারিয়ার পৃষ্ঠায় নিম্নলিখিত কনফিগারেশনগুলি তৈরি করুন:
- প্রবেশের পরিপূর্ণতা:
Do you want this album on CD or MP3?
- প্রবেশের পরিপূর্ণতা কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "CD"
},
{
"text": "MP3"
},
{
"text": "Price?"
}
]
}
]
]
}
- একটি অভিপ্রায় রুট তৈরি করুন:
redirect.price
যাPrice
পৃষ্ঠায় স্থানান্তর করে। - নিম্নলিখিত প্যারামিটার তৈরি করুন:
- প্যারামিটার:
merch
- সত্তার ধরণ:@Merch
-Required
,Redact In Log
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-match default
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা:
Do you want a physical CD or the digital album?
- প্যারামিটার> ইভেন্ট হ্যান্ডলার পরিপূরণ: কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "CD"
},
{
"text": "Digital Album"
}
]
}
]
]
}
- প্যারামিটার> ইভেন্ট হ্যান্ডলার>
No-input default
- প্যারামিটার> ইভেন্ট হ্যান্ডলারের পরিপূর্ণতা:
I couldn't understand if you mean CD or MP3. Which one do you want?
- প্যারামিটার> ইভেন্ট হ্যান্ডলার পরিপূরণ: কাস্টম পে -লোড:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "CD"
},
{
"text": "MP3"
}
]
}
]
]
}
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$page.params.merch != "null"
- পৃষ্ঠায় রূপান্তর:
Product
পণ্য পৃষ্ঠা:
- নিম্নলিখিত পরামিতিগুলি তৈরি করুন:
প্যারামিটার ডিসপ্লে নাম | প্যারামিটার সত্তা প্রকার | চেক করে |
| | প্রয়োজনীয়, লগ মধ্যে redact |
| | প্রয়োজনীয়, লগ মধ্যে redact |
- শিল্পী প্যারামিটারের জন্য নিম্নলিখিত প্রাথমিক প্রম্পট পরিপূর্ণতা প্রয়োজন, যা শিল্পী জানা না থাকলে প্রদর্শিত হবে।
You didn't mention which artist you are interested in. You can ask me to buy the $session.params.merch of the artist you like or ask which artists we signed. How can I help?
{
"richContent": [
[
{
"options": [
{
"text": "Which artists?"
}
],
"type": "chips"
}
]
]
}
- এছাড়াও পরিপূর্ণতার সাথে কোনও
No-input default
ইভেন্ট হ্যান্ডলার যুক্ত করুন:I couldn't understand what you just said. Ask me which artists are signed.
- এবং পরিপূর্ণতা সহ একটি
No-match default
ইভেন্ট হ্যান্ডলার:I missed that. Please ask me which artists are signed.
- মার্চ প্যারামিটারের পাশাপাশি পুনর্বিবেচনা ইভেন্ট হ্যান্ডলারগুলিও প্রয়োজন।
- পরিপূর্ণতা সহ একটি
No-input default
ইভেন্ট হ্যান্ডলার যুক্ত করুন:I couldn't understand what you just said. Which merchandise item do you want?
- এবং পরিপূর্ণতা সহ একটি
No-match default
ইভেন্ট হ্যান্ডলার:I missed that. Which merchandise item do you want?
পরবর্তী রুটটি যখন শিল্পী পরিচিত হয় এবং ব্যবহারকারী একটি "ট্যুর মুভি" চয়ন করে তখন নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- প্রতিটি নিয়মের সাথে মেলে (এবং)
- এক্সপ্রেশন:
$session.params.artist != null
- এক্সপ্রেশন:
$session.params.merch = "Tour Movie"
- প্যারামিটার প্রিসেটগুলি প্যারামিটার যুক্ত করুন>
price = 25
- নতুন পৃষ্ঠায় রূপান্তর:
Confirmation
পরবর্তী রুটটি যখন শিল্পী পরিচিত এবং ব্যবহারকারী একটি "টি-শার্ট" চয়ন করে এবং শার্টের আকারটি বেছে নেওয়া হয় তখন নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND $session.params.merch = "T-shirt" AND $session.params.shirtsize != null
- প্যারামিটার প্রিসেটগুলি প্যারামিটার যুক্ত করুন>
price = 25
- পৃষ্ঠায় রূপান্তর:
Confirmation
পরবর্তী রুটটি নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে যখন শিল্পী পরিচিত এবং ব্যবহারকারী একটি "লংস্লিভ" চয়ন করে এবং শার্টের আকারটি বেছে নেওয়া হয়।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND $session.params.merch = "Longsleeve" AND $session.params.shirtsize != null
- প্যারামিটার প্রিসেটগুলি প্যারামিটার যুক্ত করুন>
price = 30
- পৃষ্ঠায় রূপান্তর:
Confirmation
পরবর্তী রুটটি নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে যখন শিল্পী পরিচিত এবং ব্যবহারকারী একটি "সিডি" চয়ন করে অ্যালবামের নামটিও বেছে নেওয়া হয়।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND $session.params.merch = "CD" AND $session.params.album != null
- প্যারামিটার প্রিসেটগুলি প্যারামিটার যুক্ত করুন>
price = 15
- পৃষ্ঠায় রূপান্তর:
Confirmation
পরবর্তী রুটটি যখন শিল্পী পরিচিত এবং ব্যবহারকারী একটি "ডিজিটাল অ্যালবাম" চয়ন করে এবং অ্যালবামের নামটি বেছে নেওয়া হয় তখন নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND $session.params.merch = "Digital Album" AND $session.params.album != null
- প্যারামিটার প্রিসেটগুলি প্যারামিটার যুক্ত করুন>
price = 10
- পৃষ্ঠায় রূপান্তর:
Confirmation
এরপরে, আমরা এখন প্রম্পটগুলি সহ কিছু উন্নত শর্তাদি তৈরি করব যা অনুপস্থিত তথ্য সনাক্ত করে। পরবর্তী রুটটি যখন শিল্পী পরিচিত হয় এবং ব্যবহারকারী একটি "সিডি" বা একটি "ডিজিটাল অ্যালবাম" চয়ন করে তবে অ্যালবামের নামটি বেছে নেওয়া হয়নি।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND ($session.params.merch = "CD" OR $session.params.merch = "Digital Album") AND $session.params.album = null
- পরিপূর্ণতা:
I would also need to know which album you would like to buy!
- পৃষ্ঠায় রূপান্তর:
Music
এবং শেষ রুটটি নিশ্চিতকরণ পৃষ্ঠায় স্থানান্তরিত হবে যখন শিল্পী পরিচিত এবং ব্যবহারকারী একটি "টি-শার্ট" বা একটি "লঙ্গস্লিভ" চয়ন করেন, তবে যখন টি-শার্টের আকার বেছে নেওয়া হয়নি।
- একটি শর্তসাপেক্ষ রুট যুক্ত করুন:
- কাস্টম এক্সপ্রেশন:
$session.params.artist != null AND ($session.params.merch = "T-shirt" OR $session.params.merch = "Longsleeve") AND $session.params.shirtsize = null
- পরিপূর্ণতা:
I would also need to know which shirt size you need!
- পৃষ্ঠায় রূপান্তর:
Shirt Size
ল্যাবের পরবর্তী অংশে, আমরা ইনপুটটির উপর নির্ভর করে বিভিন্ন পরিপূর্ণতা বার্তা দেওয়ার জন্য শর্তসাপেক্ষ পরিপূর্ণতা ব্যবহার করব।
7 .. শর্তাধীন প্রতিক্রিয়া
কিছু প্রতিক্রিয়া ইনপুটটির উপর ভিত্তি করে একটি পৃথক কথোপকথন ফিরিয়ে দেবে, সংলাপগুলি শাখা বন্ধ করে দেবে, আমরা এই শর্তাধীন প্রতিক্রিয়াগুলি বলি। এটি আকর্ষণীয় হয়ে উঠতে পারে, যখন আপনি ওয়েবহুক পরিপূর্ণতা ব্যবহার করছেন না, যেখানে শর্তসাপেক্ষ প্রতিক্রিয়াগুলি ব্যাক-এন্ডে নির্ধারিত হয়েছিল। একটি উদাহরণ দেখতে দেখতে পারে:
if [condition]
[response]
elif [condition]
[response]
elif [condition]
[response]
else
[response]
endif
- একটি [শর্ত] এর উদাহরণ হতে পারে:
$session.params.user-age >= 21
। এটি রুটের শর্তগুলির মতো অনুরূপ বিন্যাস ব্যবহার করে। - একটি [প্রতিক্রিয়া] স্থির পাঠ্য প্রতিক্রিয়া নেয়
- শর্তাধীন প্রতিক্রিয়া সর্বদা
if
শুরু হয় -
elif
এবংelse
ব্লকগুলি al চ্ছিক
ডায়ালগফ্লো সিএক্স ব্যবহার করতে অন্তর্নির্মিত সিস্টেম ফাংশনগুলিও ব্যবহার করতে পারে। উদাহরণস্বরূপ একটি তারিখ বা সময় ফর্ম্যাট করা, বা বর্তমান সময় প্রদর্শন করতে ( $sys.func.NOW()
)
আসুন নিশ্চিতকরণ এবং মূল্য পৃষ্ঠাগুলি ঠিক করে ক্যাটালগ প্রবাহকে চূড়ান্ত করি।
নিশ্চিতকরণ পৃষ্ঠা:
এখন আমরা নিশ্চিতকরণ পৃষ্ঠা তৈরি করব। এটি নিম্নলিখিত প্রয়োজনীয়তা আছে:
- যদি মার্চ সিডি বা ডিজিটাল অ্যালবাম হয়। আমরা নিশ্চিতকরণে নিম্নলিখিত ক্ষেত্রগুলি প্রদর্শন করব: শিল্পী , মার্চ , অ্যালবাম এবং দাম ।
- যদি মার্চ টি-শার্ট বা লংস্লিভ হয়। আমরা নিশ্চিতকরণে নিম্নলিখিত ক্ষেত্রগুলি প্রদর্শন করব: শিল্পী , বণিক , আকার এবং দাম ।
- অন্যথায় (এবং এইভাবে যদি মার্চ ট্যুর মুভি হয়)। আমরা নিশ্চিতকরণে নিম্নলিখিত ক্ষেত্রগুলি প্রদর্শন করব: শিল্পী , বণিক এবং দাম ।
- নিশ্চিতকরণ পৃষ্ঠায় ক্লিক করুন।
- সম্পাদনা সম্পাদনা> এজেন্ট প্রতিক্রিয়াগুলি ক্লিক করুন> কথোপকথন বিকল্প যুক্ত করুন > শর্তসাপেক্ষ প্রতিক্রিয়া :
if ($session.params.merch = "CD" OR $session.params.merch = "Digital Album")
The $session.params.merch: $session.params.artist - $session.params.album costs $$session.params.price. Shall I continue to order?
elif ($session.params.merch = "T-shirt" OR $session.params.merch = "Longsleeve")
A $session.params.merch of $session.params.artist size: $session.params.shirtsize costs $$session.params.price. Shall I continue to order?
elif $session.params.merch = "Tour Movie"
The $session.params.merch of $session.params.artist costs $$session.params.price. Shall I continue to order?
else
It looks like something went wrong with your order. You can say "Reset", to restart the order process.
endif
- Create the following Custom payload:
- Custom payload:
{
"richContent": [
[
{
"options": [
{
"text": "Yes, confirm"
}
],
"type": "chips"
}
]
]
}
Next, create two intent routes:
confirm.proceed.order
transitions to:Order Process
Flow.decline.proceed.order
transitions toEnd Flow
When the user declines the order, and does not want to proceed the order process, we will have to transition back to the welcome page, but all the parameters have to be cleared. We can do this by specifically setting null to all the possible parameters. You can do this with Parameter presets.
- In the decline.proceed.order intent route, scroll down to Parameter presets and add the following parameters:
Parameter | Value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Notice that we have created an additional parameter called restart
. If this parameter is present, the Default Start Flow, should know to continue the conversation by showing a customized message.
- Click on the Default Start Flow, Start Page, and create another Conditional Route:
$session.params.restart = "true"
- Fulfillment:
"Welcome back, as the virtual agent of G-Records, I can help you order artists merchandise, you can ask questions about your order or shipping, and I can tell you more which artists are currently signed with us. How can I help?"
- Custom payload:
{
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Which artists?"
},
{
"text": "Which products?"
},
{
"text": "About my order..."
}
]
}
]
]
}
- Select the Start Page and click on the
redirect.end
intent. Create the following fulfillment:Thank you for contacting G-Records! Have a nice day!
Price Page:
Let's also fix the Price TODOs. The price information will be static for now. Click on the Price Page in the Catalog Flow, and use the following entry fulfillment:
- Delete the Agent Says entry fulfillment.
- Create a new Conditional Response:
if $session.params.category = "shirts"
A t-shirt costs $25 and a longsleeve costs $30.
elif $session.params.category = "music"
A CD costs $15. The digital album on MP3 costs $10.
else
A t-shirt costs $25 and a longsleeve costs $30. A CD costs $15 and a digital album on MP3 $10. In case you are interested in the Tour Movie, that one is $25.
endif
Well done, by now you completed the Catalog flow. Your flow should look similar to this diagram:
8. Wrapping up the agent
We are almost at the end of this lab. Let's configure the last flows together, and take in practice all the new things that we have learned.
Creating the My Order Flow
- Go to the My Order Flow, and create the following intent transitions:
Page (In Flow) | Routes > Intent | Routes > Transition To |
My Order Start |
| My Order |
My Order Start |
| My Order Status |
My Order Start |
| My Order Cancellation |
My Order Start |
| End Session |
My Order Start |
| End Flow |
My Order |
| My Order Status |
My Order |
| My Order Cancellation |
Default Start Flow |
| Flow: My Order |
Default Start Flow |
| Flow: My Order |
- Let's create the following entry fulfillment for the My Order Page:
- Entry fulfillment:
I can look up the status of your order, or I can cancel an order.
- In the My Order Page create the following parameter:
- Displayname:
ordernumber
- Entity Type:
@OrderNumber
- Required: checked
- Initial prompt fulfillment:
What's the order number? For example ABCD123.
- Event Handler:
No-match default
:To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- Event Handler:
No-input default
:I missed that. To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- Create the following conditional route:
- Customize Expression:
$page.params.status = "FINAL"
- Fulfillment:
And do you want to Cancel your order, or should I look up the status?
- Click on Add state handler > Event Handlers and create the Event Handler:
No-input default
- Fulfillment:
I'm sorry, what was that? Would you like me to cancel an order or look up the status?
- Custom payload:
{
"richContent": [
[
{
"options": [
{
"text": "Status"
},
{
"text": "Cancel"
}
],
"type": "chips"
}
]
]
}
- Create the Event Handler:
No-match default
- Fulfillment:
Would you like me to cancel an order or lookup the status?
- Custom payload:
{
"richContent": [
[
{
"options": [
{
"text": "Status"
},
{
"text": "Cancel"
}
],
"type": "chips"
}
]
]
}
- In the My Order Status Page create the following parameter:
- Displayname:
ordernumber
- Entity Type:
@OrderNumber
- Required checked
- Initial prompt fulfillment:
What's the order number? For example ABCD123.
- Event Handler:
No-match default
:To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- Event Handler:
No-input default
:I missed that. To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- In the My Order Status Page create the following conditional route:
- Customize Expression:
$session.params.ordernumber != null
- Fulfillment:
Your order $session.params.ordernumber has been shipped, it can take up to approx 2 weeks before you will receive your items.
- Add dialogue option > Text:
Is there anything else I can help you with?
- In the My Order Cancelation Page create the following parameter:
- Displayname:
ordernumber
- Entity Type:
@OrderNumber
- Required checked
- Initial prompt fulfillment:
What's the order number? For example ABCD123.
- Event Handler:
No-match default
:To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- Event Handler:
No-input default
:I missed that. To proceed with your order I will need an order number. Order numbers start with 4 characters and end with 3 numbers, such as ABCD123. Which order number may I use?
- In the My Order Cancelation Page create the following conditional route:
- Customize Expression:
$session.params.ordernumber != null
- Fulfillment:
Your order $session.params.ordernumber has been canceled.
- Add dialogue option > Text:
Is there anything else I can help you with?
- Test the flow and create the following two test scenarios:
>"About my order"
>"ABCD123"
>"Status"
And:
>"What's the status of order DEFG222"
- Select the Start Page and click on the
redirect.end
intent. Create the following fulfillment:Thank you for contacting G-Records! Have a nice day!
- Select the Start Page and click on the
redirect.home
intent. Create the following parameter preset:restart = true
Default Negative intents (Fallback)
When you create a virtual agent, a default negative intent is created for you. You can add training phrases to this intent that act as negative examples that will trigger a No-match event. There may be cases where end-user input has a slight resemblance to training phrases in normal intents, but you do not want these inputs to match any normal intents.
- Try in the simulator:
I don't like Alice Googler
.
You will see that the virtual agent answers with the Product Overview Page, to continue ordering Alice Googler merchandise. However, your end user does not like that artist. Let's use the Default Negative Intent for this.
- Go to Manage > Intents and select the Default Negative Intent.
- Add the following training phrases that will trigger the No-match event.
I don't like Alice Googler
I am not a fan of G's N' Roses
I can't stand the music of the Google Dolls
- Hit Save and test the following sentence in the simulator:
I am really not a fan of the Goo Fighters
This time the No-match
event was triggered, you stayed on the Start Page.
Default Fallback Messages
- Click the Default Start Flow, select the
sys.no-input-default
event handler.
The No-input fallback basically means: No text or speech answers were detected. Likely no answers were given, or the system couldn't hear it. Therefore, let's make the fallback messages more specific. Use the tab key, to create alternative dialogues:
- Remove all answers, and add these text dialogues:
I'm sorry, I didn't receive an answer. Can you say it again?
I missed your answer, can you say it again?
Sorry, I didn't hear anything. Can you say it again?
I couldn't hear what you were saying, what was that?
I'm sorry, I missed your answer. What were you trying to say?
Don't forget to click Save.
- Click the Default Start Flow, select the
sys.no-match-default
event handler.
The No Match fallback basically means: Text or speech answers were detected but nothing in Dialogflow CX got matched.
- Remove all answers, and add these text dialogues:
Sorry, I didn't get that. Can you please rephrase?
I'm sorry, I don't understand. Can you please rephrase?
I don't understand, please rephrase.
Sorry, I didn't get that. What was that?
I didn't get that, can you please rephrase?
Don't forget to click Save.
- It's advised to repeat these steps for the Catalog, My Order, Order Process and Customer Care flows.
Here's a tip: when creating fallback messages, make them more explicit, by rephrasing the previous question or by mentioning an example. You could create these type of No-match and No-input events on Page level when creating parameters. In our labs, we have already done this.
Creating the Order Process Flow
- Go to the Order Process Flow, and create the following intent transitions:
Page (In Flow) | Routes > Intent | Routes > Transition To |
Order Process Start |
| End Session |
Order Process Start |
| End Flow |
Order Process Start |
| New Page: Shipping Details |
- Let's create the following entry fulfillment for the Shipping Details Page:
- Entry fulfillment:
To complete your order I will first need to collect your shipping details.
- Create the following parameters:
These parameters will make use of built-in system entities. System entity support differs for each language. See the docs for more information.
Parameter Display name | Entity | Required? | Initial prompt fulfillment | No-match default | No-input default |
| @sys.person | Required |
|
|
|
| @sys.person | Required |
|
|
|
| @sys.address | Required |
|
|
|
| @sys.any | Required |
|
|
|
| @sys.geo-city | Required |
|
|
|
| @sys.geo-country | Required |
|
|
|
| @sys.email | Required |
|
|
|
- Create the following conditional route:
- Customize Expression:
$page.params.status = "FINAL"
- Transition to new Page:
Payment Details
- Create the following entry fulfillment.
Let's fake it that this virtual agent makes use of Google Pay. Don't worry this tutorial won't make real transactions. Create the following entry dialogues:
- Agent Says:
Alright $session.params.firstname! We will make use of Google Pay, that's connected to your email account: $session.params.email.
- Conditional Response
if $session.params.merch != "Digital Album"
Shipping costs an additional 5 dollars. This will make the total price $$sys.func.TO_TEXT($sys.func.ADD($session.params.price, 5)).
Your merchandise will be shipped to:
$session.params.firstname $session.params.lastname
$session.params.address
$session.params.zipcode $session.params.city
$session.params.country
To continue the order process please explicitly say "I confirm". Do you want to confirm your $session.params.artist $session.params.merch order?
else
The total costs will be: $$session.params.price.
After purchasing the digital album, you will receive an email with the download link.
To continue the order process please explicitly say "I confirm".
Do you want to confirm your $session.params.artist $session.params.merch order?
endif
- নিম্নলিখিত অভিপ্রায় রুট তৈরি করুন
- অভিপ্রায়:
confirm.proceed.order
- এজেন্ট বলেছেন:
Thank you for your order! Your merchandise will be shipped today!
- কথোপকথন বিকল্প যুক্ত করুন> পাঠ্য:
Here's the order number: ABCD123
। - কথোপকথন বিকল্প যুক্ত করুন> পাঠ্য:
Have a good day!
- রূপান্তর:
End Session
- শুরু পৃষ্ঠাটি নির্বাচন করুন এবং
redirect.end
ক্লিক করুন end নিম্নলিখিত পরিপূর্ণতা তৈরি করুন:Thank you for contacting G-Records! Have a nice day!
- শুরু পৃষ্ঠাটি নির্বাচন করুন এবং
redirect.home
অভিপ্রায়। নিম্নলিখিত প্যারামিটার প্রিসেট তৈরি করুন:restart = true
অসাধারন! এতক্ষণে আমাদের কাছে সম্পূর্ণ কার্যকরী রিয়েলওয়ার্ল্ড খুচরা বিক্রেতা চ্যাটবট রয়েছে! পরবর্তী ল্যাবে, আমরা ভার্চুয়াল এজেন্ট কতটা ভাল সম্পাদন করে তা পরীক্ষা করব!
9। আপনার ভার্চুয়াল এজেন্ট পরীক্ষা করুন
আপনি আপনার ভার্চুয়াল এজেন্টের সংলাপগুলি পরীক্ষা করতে অন্তর্নির্মিত সিমুলেটরটি ব্যবহার করতে পারেন। সিমুলেটারে প্রবাহগুলি পরীক্ষা করার সুবিধাটি হ'ল আপনি প্রবাহ, পৃষ্ঠাগুলি, পরামিতি এবং (ডিটিএমএফ) ইভেন্টগুলির একটি দুর্দান্ত ওভারভিউ দেখতে পাবেন যা আপনার প্রবাহের মধ্য দিয়ে চলার সময় সিমুলেটরটি সংগ্রহ করা হয়েছিল। এটি সরাসরি একটি সংহতকরণে এটি পরীক্ষার চেয়ে পরীক্ষাকে সহজ করে তোলে, কারণ এই ধরণের তথ্য শেষ ব্যবহারকারীর কাছ থেকে লুকানো হবে। এমনকি পরীক্ষার কেসগুলি তৈরি করা, সেই পরীক্ষার কেসগুলি সংরক্ষণ এবং পুনরায় ব্যবহার করাও সম্ভব। এটি অনেক অর্থবোধ করে তোলে, কারণ আপনি যখন সময়ের সাথে আপনার প্রবাহ বজায় রাখেন বা সম্পাদনা করেন এবং আপনি নিশ্চিত হতে চান যে আপনার কোনও পরিবর্তন আপনার আগের কাজটি ভেঙে দেয় না।
গুগল ক্লাউড স্টোরেজ বা স্থানীয়তে পরীক্ষাগুলি সংরক্ষণ করে পূর্বে তৈরি পরীক্ষার কেসগুলি রফতানি ও আমদানি করাও সম্ভব। একটি পরীক্ষা রফতানি করা একটি ব্লব ফাইল ডাউনলোড করবে। সিমুলেটর এবং পরীক্ষার কেসগুলি সম্পর্কে আরও জানতে সিমুলেটর / পরীক্ষার কেসগুলি ডকগুলি পরীক্ষা করে দেখুন।
কিছু পরীক্ষার কেস তৈরির আগে আসুন প্রথমে আমাদের ভার্চুয়াল এজেন্টের বাকী অংশটি চূড়ান্ত করা যাক:
গ্রাহক যত্ন প্রবাহ তৈরি করা
- গ্রাহক যত্ন প্রবাহে যান এবং নিম্নলিখিত অভিপ্রায় রূপান্তরগুলি তৈরি করুন:
পৃষ্ঠা (প্রবাহে) | রুটস> অভিপ্রায় | রুট> রূপান্তর |
গ্রাহক যত্ন শুরু | | শিপিং |
গ্রাহক যত্ন শুরু | | ফেরত |
গ্রাহক যত্ন শুরু | | অদলবদল |
গ্রাহক যত্ন শুরু | | শেষ প্রবাহ |
গ্রাহক যত্ন শুরু | | শেষ অধিবেশন |
- শিপিং পৃষ্ঠার জন্য নিম্নলিখিত প্রবেশের পরিপূর্ণতা তৈরি করুন:
-
Shipping physical merchandise items can take up to 2 weeks.
-
Is there anything else I can help you with?
- ফেরত পৃষ্ঠার জন্য নিম্নলিখিত প্রবেশের পরিপূর্ণতা তৈরি করুন:
-
We offer free returns and refunds. We provide one free return label for each order. You can use it within 30 days from receiving your order. If your refund is accepted, we will refund the price you paid for your item back to your original payment method.
-
Is there anything else I can help you with?
- অদলবদল পৃষ্ঠার জন্য নিম্নলিখিত প্রবেশের পরিপূর্ণতা তৈরি করুন:
-
If you would like to change your item for a different one, please return your unwanted item and place a new order. If your refund is accepted, we will refund the price you paid for your item back to your original payment method.
-
Is there anything else I can help you with?
- শুরু পৃষ্ঠাটি নির্বাচন করুন এবং
redirect.end
ক্লিক করুন end নিম্নলিখিত পরিপূর্ণতা তৈরি করুন:Thank you for contacting G-Records! Have a nice day!
- শুরু পৃষ্ঠাটি নির্বাচন করুন এবং
redirect.home
অভিপ্রায়। নিম্নলিখিত প্যারামিটার প্রিসেট তৈরি করুন:restart = true
টেস্ট কেস তৈরি করুন
- স্ক্রিনের ডান পাশের টেস্ট এজেন্ট বোতামটি ক্লিক করুন।
আপনি যখন প্রথম সিমুলেটরটি খুলেন, আপনাকে একটি এজেন্ট পরিবেশ এবং সক্রিয় প্রবাহ নির্বাচন করতে হবে। বেশিরভাগ ক্ষেত্রে, আপনার খসড়া পরিবেশ এবং ডিফল্ট শুরু প্রবাহ ব্যবহার করা উচিত।
- প্রকার:
Hi
- জিজ্ঞাসা করুন:
Which artists are signed with your label?
- বলুন:
The Google Dolls
- বলুন:
I am interested in buying a shirt
- বলুন:
A t-shirt
- বলুন:
Medium
- এখন সেভ টেস্ট কেস বোতামে ক্লিক করুন। যা আপনি সিমুলেটারের শীর্ষে খুঁজে পেতে পারেন (রেডো তীরের পাশে এবং ট্র্যাশ বিন আইকনটি পুনরায় সেট করুন)
- এটি নিম্নলিখিত বিবরণ দিন:
- পরীক্ষার কেসের নাম:
Buy Google Dolls t-shirt size M
- ট্যাগ্স: #ক্যাটালগ, #শার্ট, #টি-শার্ট, #টিগোগলডলস
- Save এ ক্লিক করুন
আসুন আরও পরীক্ষার কেস তৈরি করি।
- প্রথমে রিসেট (থ্র্যাশ বিন) আইকনে ক্লিক করে বর্তমান কথোপকথনটি সাফ করুন।
- নিম্নলিখিত পরীক্ষার কেসগুলি তৈরি করুন:
অ্যালিস গুগলার টি-শার্ট কিনুন:
>"Buy the Alice Googler t-shirt."
>"XL"
- পরীক্ষার কেসের নাম:
Buy the Alice Googler t-shirt
- ট্যাগ্স:
#catalog, #shirts, #t-shirt, #AliceGoogler
একটি টি-শার্টের আকার এম কিনুন: (দ্রষ্টব্য শিল্পীর নাম উল্লেখ করা হয়নি, তবে আপনি ব্যান্ডগুলি ওভারভিউ, পণ্য ওভারভিউ, শার্ট এবং শার্টের আকারের পৃষ্ঠাগুলি এড়িয়ে যেতে চান না)
>"Buy a t-shirt size M"
>"The Google Fighters"
- পরীক্ষার কেসের নাম:
Buy a t-shirt size M
- ট্যাগ্স:
#catalog, #shirts, #t-shirt, #TheGoogleFighters
- বর্ণনা: (নোট শিল্পীর নাম উল্লেখ করা হয়নি, তবে আপনি ব্যান্ডগুলি ওভারভিউ, পণ্য ওভারভিউ, শার্ট এবং শার্টের আকারের পৃষ্ঠাগুলি এড়িয়ে যেতে চান না)
জি এর এন 'গোলাপের সংগীত ক্রয় করুন (নোট করুন এটি ব্যান্ডগুলি ওভারভিউ এবং পণ্য ওভারভিউ পৃষ্ঠা এড়িয়ে যাবে)
>"Purchase music of G's N' Roses"
>"Live"
>"CD"
- পরীক্ষার কেসের নাম:
Purchase music of G's N' Roses
- ট্যাগ্স:
#catalog, #music, #CD, #GsNRoses, #live
- বর্ণনা: (দ্রষ্টব্য এটি ব্যান্ডগুলি ওভারভিউ এবং পণ্য ওভারভিউ পৃষ্ঠা এড়িয়ে যাবে)
দামের তথ্য পরীক্ষা করুন:
>"Which products"
>"Shirts"
>"What's the price difference?"
>"Longsleeve"
>"What does it cost?"
>"M"
>"The Google Dolls"
>"No"
>"Which bands"
>"The Gooo Fighters"
>"Music"
>"How much does it cost?"
>"Greatest Hits"
>"What's the price difference?"
>"Mp3"
>"No"
>"I want to buy the tour movie"
>"Alice Googler"
>"Yes"
- পরীক্ষার কেস নাম:
Price info
- ট্যাগ্স:
#catalog, #music, #tourmovie, #shirts
- বর্ণনা: সংলাপের বিভিন্ন পয়েন্টে পরীক্ষার মূল্য তথ্য
প্রাক-রেকর্ড করা পরীক্ষার কেসগুলি পরীক্ষা করুন
- বাম দিকে ডায়ালগফ্লো প্রধান মেনুতে> পরীক্ষার কেসগুলি পরিচালনা করুন নির্বাচন করুন।
- সমস্ত পরীক্ষার কেস নির্বাচন করুন এবং টেবিলের উপরে রান বোতাম টিপুন।
ডায়ালগফ্লো সিএক্স "গোল্ডেন টেস্ট কেস" হিসাবে সংরক্ষণ করা রেকর্ডিংয়ের বিপরীতে সমস্ত নির্বাচিত পরীক্ষার কেস পরিচালনা করবে, যদি ফলাফলগুলি আপনি কীভাবে সংরক্ষণ করেছেন তার সমান হলে পরীক্ষাগুলি পাস করা হয়। - সঠিকভাবে কনফিগার করা হয়নি এমন পৃষ্ঠাগুলির মতো প্রবাহগুলিতে কিছু পরিবর্তন করেছে, বা আপনাকে ভুল পৃষ্ঠাগুলিতে নির্দেশনা দিয়েছে এমন উদ্দেশ্যগুলি, তারপরে পরীক্ষাগুলি ব্যর্থ হবে।
- সিমুলেটারে নিম্নলিখিত প্রশ্নটি জিজ্ঞাসা করুন:
How long will shipping take?
- ফলাফলটি নোট করুন, এবং ট্যাগের সাথে
Shipping
হিসাবে পরীক্ষার কেসটি সংরক্ষণ করুন:#shipping
। - ম্যানেজমেন্ট> পরীক্ষার কেস প্যানেলে যান এবং কেবল
Shipping
পরীক্ষার কেসটি চালানোর জন্য গ্রিডের উপরের ডানদিকে রান বোতামটি টিপুন।
এই পরীক্ষাটি পাস করা উচিত।
- গ্রাহক যত্ন প্রবাহে ফিরে যান, শুরু পৃষ্ঠাটি নির্বাচন করুন এবং রুট শিরোনামে ক্লিক করুন।
এটি একটি গ্রিড সহ একটি স্ক্রিন প্রদর্শন করবে যা সমস্ত রুট দেখায়।
-
redirect.shipping.info route
সরান - ম্যানেজমেন্ট> পরীক্ষার কেস প্যানেলে যান এবং কেবল
Shipping
পরীক্ষার কেসটি চালানোর জন্য গ্রিডের উপরের ডানদিকে রান বোতামটি টিপুন।
এই পরীক্ষা ব্যর্থ হওয়া উচিত।
- ব্যর্থতার বিশদটি দেখতে আপনি ব্যর্থ পরীক্ষায় ক্লিক করতে পারেন।
এক্ষেত্রে নীচের ত্রুটি বার্তাটি দিয়ে পরীক্ষাটি ব্যর্থ হয়েছে:
Page: Page mismatch:
Expected: Shipping
Actual: Start Page
এর কারণ হ'ল কারণ পৃষ্ঠাটি আর প্রবাহে বিদ্যমান নেই। আমরা Shipping
পৃষ্ঠাটি প্রত্যাশা করেছি, তবে পরিবর্তে আমরা কখনই Start
পৃষ্ঠা থেকে সরে যাইনি। (বা আপনার শেষ ব্যবহারকারীরা একটি ফ্যালব্যাক বার্তা পাবেন))
অন্য কথায়, এটি একটি মিস করা অনুরোধ, একটি মিথ্যা নেতিবাচক পরীক্ষার ফলাফল। পরীক্ষা ব্যর্থ হয়েছে। আমরা শিপিং পৃষ্ঠাটি প্রত্যাশা করেছি, তবে কিছুই হয় না, বা একটি ফ্যালব্যাক বার্তা দেখানো হয়েছিল।
- গ্রাহক যত্নের প্রবাহে ফিরে যান এবং শুরু পৃষ্ঠায় একটি অভিপ্রায় রুট হিসাবে
redirect.shipping.info
যুক্ত করুন। শিপিং পৃষ্ঠায় স্থানান্তর করতে এবং সেভকে আঘাত করতে ভুলবেন না। - সিমুলেটর রেকর্ডে নিম্নলিখিত পরীক্ষার ক্ষেত্রে:
I want to swap my item
, এই পরীক্ষার কেসটি#swapping
Swapping
হিসাবে সংরক্ষণ করতে চাই। - পরিচালনা করুন> ইনটেন্টস> পুনর্নির্মাণ.আরফান্ড.ইনফো এবং নিম্নলিখিত প্রশিক্ষণের বাক্যাংশটি যুক্ত করুন:
I want to swap this item for a refund
এই প্রশিক্ষণের বাক্যাংশ ব্যতীত, যখন কোনও ব্যবহারকারী কোনও রিফান্ডের জন্য কোনও আইটেম পরিবর্তন করতে বলবে, এটি পুনর্নির্মাণ.সপিং.ইনফো অভিপ্রায়টি আঘাত করবে, তবে আমরা আইটেমগুলি পরিবর্তন করার বিষয়ে তথ্য দিতে চাই না, আমরা ফেরতগুলিতে তথ্য দিতে চাই।
- নিম্নলিখিত গোল্ডেন টেস্ট কেসটি তৈরি করুন:
I want to swap this item for a refund
এবং এই পরীক্ষার কেসটি রিফান্ড#refund
Swap for Refund
হিসাবে সংরক্ষণ করতে চাই - পরিচালনা> ইনটেন্টস> পুনর্নির্মাণ.আরফান্ড.ইনফো ইন্টেন্টে ফিরে যান এবং
I want to swap this item for a refund
। - > পরীক্ষার কেসগুলি পরিচালনা করতে ফিরে যান, ফেরত পরীক্ষার ক্ষেত্রে অদলবদল নির্বাচন করুন এবং এটি চালান ।
নীচের ত্রুটি বার্তাটি সহ আপনার সর্বশেষ পরীক্ষাটি ব্যর্থ হয়েছে:
If you would like to change your item for a different one, please return your unwanted item and place a new order. If your refund is accepted, we will refund the price you paid for your item back to your original payment method.`
Is there anything else I can help you with?
Page: Page mismatch:
Expected: Refund
Actual: Swapping
অন্য কথায়, এটি একটি মিস বোঝা অনুরোধ, একটি মিথ্যা ইতিবাচক পরীক্ষার ফলাফল। পরীক্ষা ব্যর্থ হয়েছে। আমরা ফেরত পৃষ্ঠাটি প্রত্যাশা করেছি, তবে অদলবদল পৃষ্ঠাটি সক্রিয় হয়ে উঠেছে।
কভারেজ
ডায়ালগফ্লো সিএক্স -এ, টেস্ট কভারেজ হ'ল একটি পরিমাপ যা ভার্চুয়াল এজেন্টের সংলাপ (পৃষ্ঠাগুলি এবং উদ্দেশ্য) এর সংলাপটি কার্যকর করা হয় যখন কোনও নির্দিষ্ট পরীক্ষার স্যুটটি চালিত হয়। শতাংশ হিসাবে পরিমাপ করা উচ্চ পরীক্ষার কভারেজ সহ একটি ভার্চুয়াল এজেন্টের পরীক্ষার সময় এর আরও বেশি সংলাপ কার্যকর করা হয়েছে, যা পরামর্শ দেয় যে এটি কম পরীক্ষার কভারেজযুক্ত ভার্চুয়াল এজেন্টের তুলনায় সনাক্ত করা বাগগুলি (মিস করা অনুরোধগুলির মতো) ধারণ করার কম সম্ভাবনা রয়েছে।
- সমস্ত পরীক্ষার মামলার জন্য একটি পরীক্ষার কভারেজ প্রতিবেদন দেখতে, কভারেজ ক্লিক করুন।
- ট্যাব ট্রানজিশনে ক্লিক করুন।
এটি আপনাকে সমস্ত পৃষ্ঠার ট্রানজিশনের জন্য পরীক্ষার কভারেজ দেখাবে।
- ট্যাব ইন্টেন্টগুলিতে ক্লিক করুন।
এটি আপনাকে সমস্ত উদ্দেশ্যগুলির জন্য পরীক্ষার কভারেজ প্রদর্শন করবে।
অভিনন্দন, এখনই আপনি খুচরা বিক্রেতা বটের একটি সম্পূর্ণ বাস্তব বিশ্বের উদাহরণ তৈরি এবং পরীক্ষা করেছেন! আসুন উপসংহারটি পড়তে পরবর্তী ল্যাব পৃষ্ঠায় যাই এবং কিছু সহজ রেফারেন্সগুলি সন্ধান করি!
10. উপসংহার
ডায়ালগফ্লো সিএক্স হ'ল চ্যাট বা ভয়েস বটের মতো ভার্চুয়াল এজেন্ট তৈরির জন্য একটি কথোপকথন এআই প্ল্যাটফর্ম (সিএআইপি)। ডায়ালগফ্লো সিএক্স আপনার দলকে ভিজ্যুয়াল বট বিল্ডারদের মাধ্যমে এন্টারপ্রাইজ-স্তরের কথোপকথনের অভিজ্ঞতাগুলি, পুনরায় ব্যবহারযোগ্য উদ্দেশ্য এবং বহু-টার্ন কথোপকথনের সমাধানের ক্ষমতা তৈরির ত্বরান্বিত করার ক্ষমতা দেয়।
এই কোডল্যাব -এ, আপনি কীভাবে একটি বাস্তব ওয়ার্ল্ড রিটেইল ভার্চুয়াল এজেন্ট তৈরি করবেন তা শিখেছেন। আমরা নিম্নলিখিত ধারণাগুলি সম্বোধন করেছি:
- প্রবাহিত হয়
- পরামিতি, কাস্টম এবং সিস্টেম সত্তা
- পাতা
- উদ্দেশ্য রুট এবং শর্ত রুটের মতো রাষ্ট্রীয় হ্যান্ডলারগুলি
- স্থির পরিপূর্ণতা বার্তা এবং শর্তাধীন প্রতিক্রিয়া
- ফ্যালব্যাক ইনটেন্টস
- সিমুলেটর, পরীক্ষার মামলা এবং কভারেজ
তথ্যসূত্র
ডায়ালগফ্লো সম্পর্কে আরও জানতে সিএক্স নিম্নলিখিত ব্লগ এবং ডকুমেন্টেশনগুলি দেখুন!