একটি ডায়ালগফ্লো CX Google Chat অ্যাপ তৈরি করুন যা স্বাভাবিক ভাষা বোঝে এবং সাড়া দেয়

এই পৃষ্ঠায় Dialogflow ব্যবহার করে কীভাবে একটি Google Chat অ্যাপ তৈরি করা যায় তা ব্যাখ্যা করা হয়েছে, যা স্বাভাবিক ভাষা বুঝতে ও সেই ভাষায় উত্তর দিতে পারে। এই নির্দেশিকায় Dialogflow CX ব্যবহার করা হয়েছে, যার সাথে Google Chat-এর সরাসরি ইন্টিগ্রেশন রয়েছে। এছাড়াও, Dialogflow ES Google Chat নির্দেশিকা অনুসরণ করে আপনি Dialogflow ES ব্যবহার করে একটি Dialogflow ES Google Chat অ্যাপ তৈরি করতে পারেন।

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

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

  • ফ্লাইট বুক করুন
  • ডাক্তারের সাথে সাক্ষাতের সময় নির্ধারণ করুন
  • খাবার ডেলিভারির অর্ডার দিন
  • একটি খুচরা পণ্যের ক্যাটালগ সম্পর্কিত প্রশ্নের উত্তর দিন, যেমন পণ্যগুলো অন্য রঙে পাওয়া যাবে কিনা।
  • পূর্ব-নির্মিত Dialogflow এজেন্ট নির্বাচন পৃষ্ঠা।
    চিত্র ১. ডায়ালগফ্লো চ্যাট অ্যাপের জন্য একটি পূর্ব-নির্মিত এজেন্ট নির্বাচন করা।
  • Dialogflow CX-এ এজেন্টটি পরীক্ষা করা হচ্ছে।
    চিত্র ২। এজেন্টের লজিক এবং কনফিগারেশন উদ্দেশ্য অনুযায়ী কাজ করছে কিনা তা নিশ্চিত করার জন্য Dialogflow CX-এ এজেন্টটি পরীক্ষা করা হচ্ছে। ডায়াগ্রামটিতে বিষয়ভিত্তিক পেজগুলোর একটি ধারাবাহিক সেট দেখানো হয়েছে, যা কথোপকথনের নির্দিষ্ট ধাপগুলোর সাথে সম্পর্কিত, যেমন একটি ভাড়া করা গাড়ির জন্য পিকআপ এবং রিটার্ন লোকেশন নির্ধারণ করা, এবং সেগুলোকে সংযুক্তকারী লজিকটি কনফিগার করে। কথোপকথনটি একটি সিমুলেটরে পরীক্ষা করা হয়।
  • একটি Dialogflow চ্যাট অ্যাপ কনফিগার করা।
    চিত্র ৩. গুগল ক্লাউড কনসোলের চ্যাট এপিআই কনফিগারেশন পৃষ্ঠায় ডায়ালগফ্লো সিএক্স এজেন্ট ব্যবহার করে প্রতিক্রিয়া প্রক্রিয়াকরণের জন্য একটি চ্যাট অ্যাপ কনফিগার করা।
  • Dialogflow CX চ্যাট অ্যাপ পরীক্ষা করা হচ্ছে
    চিত্র ৪। গুগল চ্যাটে ডায়ালগফ্লো চ্যাট অ্যাপ ব্যবহার করে ভাড়ার গাড়ি বুকিং নিয়ে কথোপকথন।

উদ্দেশ্য

  • আপনার পরিবেশ প্রস্তুত করুন।
  • একটি Dialogflow CX এজেন্ট তৈরি ও স্থাপন করুন।
  • Dialogflow CX এজেন্ট দ্বারা চালিত একটি চ্যাট অ্যাপ তৈরি ও স্থাপন করুন।
  • চ্যাট অ্যাপটি পরীক্ষা করুন।

পূর্বশর্ত

স্থাপত্য

নিম্নলিখিত ডায়াগ্রামটি Dialogflow দিয়ে তৈরি একটি চ্যাট অ্যাপের আর্কিটেকচার দেখাচ্ছে:

ডায়ালগফ্লো দিয়ে বাস্তবায়িত একটি চ্যাট অ্যাপের আর্কিটেকচার।

পূর্ববর্তী ডায়াগ্রামে, Dialogflow Chat অ্যাপের সাথে মিথস্ক্রিয়াকারী একজন ব্যবহারকারীর তথ্যের প্রবাহ নিম্নরূপ:

  1. একজন ব্যবহারকারী চ্যাট অ্যাপের চ্যাটে, সরাসরি বার্তা হিসেবে অথবা চ্যাট স্পেসে একটি বার্তা পাঠান।
  2. গুগল ক্লাউডে অবস্থিত একটি ডায়ালগফ্লো ভার্চুয়াল এজেন্ট বার্তাটি গ্রহণ ও প্রক্রিয়াকরণ করে একটি প্রতিক্রিয়া তৈরি করে।
  3. ঐচ্ছিকভাবে, একটি Dialogflow ওয়েবহুক ব্যবহার করে, Dialogflow এজেন্ট বাহ্যিক তৃতীয় পক্ষের পরিষেবাগুলির সাথে যোগাযোগ করতে পারে, যেমন একটি প্রজেক্ট ম্যানেজমেন্ট সিস্টেম বা একটি টিকেটিং টুল।
  4. Dialogflow এজেন্ট Chat-এর মধ্যে থাকা Chat অ্যাপ সার্ভিসে একটি প্রতিক্রিয়া ফেরত পাঠায়।
  5. উত্তরটি চ্যাট স্পেসে পৌঁছে দেওয়া হয়।

পরিবেশ তৈরি করুন

গুগল এপিআই ব্যবহার করার আগে, আপনাকে একটি গুগল ক্লাউড প্রজেক্টে সেগুলি চালু করতে হবে। আপনি একটি একক গুগল ক্লাউড প্রজেক্টে এক বা একাধিক এপিআই চালু করতে পারেন।
  1. গুগল ক্লাউড কনসোলে গুগল চ্যাট এপিআই এবং ডায়ালগফ্লো এপিআই সক্রিয় করুন।

    এপিআইগুলি সক্রিয় করুন

  2. আপনি সঠিক ক্লাউড প্রজেক্টে এপিআইগুলো সক্রিয় করছেন কিনা তা নিশ্চিত করুন, তারপর 'Next' বাটনে ক্লিক করুন।

  3. আপনি সঠিক API-গুলো সক্রিয় করছেন কিনা তা নিশ্চিত করুন, তারপর 'Enable'-এ ক্লিক করুন।

একটি Dialogflow CX এজেন্ট তৈরি করুন

একটি Dialogflow CX এজেন্ট হলো একটি ভার্চুয়াল এজেন্ট যা আপনার ব্যবহারকারীদের সাথে যুগপৎ কথোপকথন পরিচালনা করে। এটি একটি স্বাভাবিক ভাষা বোঝার মডিউল যা মানুষের ভাষার সূক্ষ্মতা বুঝতে পারে। Dialogflow কথোপকথনের সময় ব্যবহারকারীর টেক্সটকে এমন কাঠামোগত ডেটাতে অনুবাদ করে যা আপনার অ্যাপ এবং পরিষেবাগুলো বুঝতে পারে। আপনার সিস্টেমের জন্য প্রয়োজনীয় কথোপকথনের ধরনগুলো পরিচালনা করতে আপনি একটি Dialogflow এজেন্ট ডিজাইন ও তৈরি করেন।

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

Dialogflow CX এজেন্ট তৈরি করার পদ্ধতিটি নিচে দেওয়া হলো:

  1. Dialogflow CX কনসোলে, Dialogflow CX কনসোলটি খুলুন। মেনু > Dialogflow CX- ক্লিক করুন।

    Dialogflow CX কনসোলে যান

  2. একটি গুগল ক্লাউড প্রজেক্ট বেছে নিন। আপনার প্রজেক্টটি খুঁজে পেতে, আপনাকে 'All'-এ ক্লিক করে তারপর এটি অনুসন্ধান করতে হতে পারে।

  3. এখন আপনার কাছে আগে থেকে তৈরি এজেন্ট বেছে নেওয়ার বা নিজের এজেন্ট তৈরি করার বিকল্প রয়েছে। আপনি যদি পরে এজেন্ট কাস্টমাইজেশন বিস্তারিতভাবে জানতে চান, তাহলে আগে থেকে তৈরি এজেন্টগুলোর মধ্যে একটি বেছে নিন, যা এজেন্টদের ক্ষমতা সম্পর্কে জানতেও সহায়ক।

    আগে থেকে তৈরি এজেন্ট বেছে নিতে, এই ধাপগুলো অনুসরণ করুন:

    1. আগে থেকে তৈরি এজেন্ট ব্যবহার করুন -এ ক্লিক করুন।
    2. আগে থেকে তৈরি একজন এজেন্ট নির্বাচন করুন। এই নির্দেশিকার জন্য, ভ্রমণ: গাড়ি ভাড়া নির্বাচন করুন।

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

    3. এজেন্ট হিসেবে ইম্পোর্ট করতে ক্লিক করুন।

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

    1. এজেন্ট তৈরি করুন -এ ক্লিক করুন।
    2. ডেটা স্টোর এজেন্ট তৈরি করতে অটো-জেনারেট নির্বাচন করুন অথবা অন্যান্য ধরনের এজেন্ট তৈরি করতে বিল্ড ইওর ওন নির্বাচন করুন।

    এজেন্ট তৈরির প্রক্রিয়ার বিস্তারিত বিবরণের জন্য, “Create a Dialogflow CX agent” দেখুন।

  4. এজেন্টের প্রাথমিক সেটিংস কনফিগার করুন:

    1. ডিসপ্লে নেম (Display name) অংশে একটি ডিসপ্লে নেম লিখুন।
    2. আপনার পছন্দের অবস্থান নির্বাচন করুন। আপনি যদি উন্নত অবস্থান সেটিংস পরিবর্তন করতে চান, তাহলে সম্পাদনা-তে ক্লিক করুন।
    3. আপনার পছন্দের সময় অঞ্চল নির্বাচন করুন।
    4. আপনার এজেন্টের জন্য ডিফল্ট ভাষা নির্বাচন করুন। এজেন্ট তৈরি করার পর আপনি এর ডিফল্ট ভাষা পরিবর্তন করতে পারবেন না।
  5. Create-এ ক্লিক করুন। Dialogflow CX এজেন্টটি তৈরি করা শুরু করে এবং তারপর এজেন্টের ডিফল্ট স্টার্ট ফ্লো প্রদর্শন করে।

  6. ঐচ্ছিকভাবে, এজেন্টটি কাস্টমাইজ করুন। এজেন্ট কাস্টমাইজেশন প্রক্রিয়ার বিস্তারিত বিবরণের জন্য, “Create a Dialogflow CX agent” দেখুন।

  7. সর্বোত্তম অনুশীলন হিসেবে, এজেন্টটি পরীক্ষা করুন:

    1. টেস্ট এজেন্ট-এ ক্লিক করুন।
    2. পরিবেশে টেস্ট এজেন্ট নির্বাচন করুন।
    3. এনভায়রনমেন্ট-এ, ড্রাফট নির্বাচন করুন।
    4. ফ্লো-তে, ডিফল্ট স্টার্ট ফ্লো নির্বাচন করুন।
    5. Page-এ, Start Page নির্বাচন করুন।
    6. ‘টক টু এজেন্ট’ কম্পোজ বারে Hello টাইপ করে এন্টার চাপুন। এজেন্টটি নিজের পরিচয় দিয়ে উত্তর দেবে।
    7. নমুনা কথোপকথনটি করে পরীক্ষাটি সম্পূর্ণ করুন।
  8. Dialogflow CX এজেন্টটি তৈরি হয়ে গেছে। Dialogflow CX কনসোলে ফিরে যান। মেনু > Dialogflow CX-এ করুন।

    Dialogflow CX কনসোলে যান

  9. Agents-এর অধীনে, > Copy name-এ ক্লিক করুন। এই নামটি সংরক্ষণ করুন, কারণ চ্যাট অ্যাপ কনফিগার করার সময় আপনি এটি ব্যবহার করবেন।

একটি চ্যাট অ্যাপ তৈরি করুন এবং এটিকে Dialogflow এজেন্টের সাথে সংযুক্ত করুন।

Dialogflow CX এজেন্ট তৈরি করার পর, সেটিকে একটি চ্যাট অ্যাপে পরিণত করতে এই ধাপগুলো অনুসরণ করুন:

  1. গুগল ক্লাউড কনসোলে, গুগল চ্যাট এপিআই (Google Chat API)-তে যান। 'গুগল চ্যাট এপিআই' (Google Chat API) লিখে সার্চ করুন এবং গুগল চ্যাট এপিআই (Google Chat API )-তে ক্লিক করুন, তারপর ম্যানেজ (Manage)-এ ক্লিক করুন।

    চ্যাট এপিআই-তে যান

  2. কনফিগারেশনে ক্লিক করুন এবং চ্যাট অ্যাপটি সেট আপ করুন:

    1. App name- এর জায়গায় Dialogflow App লিখুন।
    2. Avatar URL- এর জায়গায় https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png লিখুন।
    3. Description- এ লিখুন Responds to real human conversation ’।
    4. Functionality-এর অধীনে, Join spaces and group conversations নির্বাচন করুন।
    5. কানেকশন সেটিংস-এর অধীনে, ডায়ালগফ্লো নির্বাচন করুন।
    6. Dialogflow সেটিংস-এর অধীনে, Dialogflow CX নির্বাচন করুন।
    7. Agent or Environment resource name- এর জায়গায়, Create a Dialogflow CX agent-এর শেষে কপি করা Dialogflow CX এজেন্টের নামটি পেস্ট করুন।
    8. আপনার ডোমেইনের নির্দিষ্ট ব্যক্তি ও গ্রুপগুলোর জন্য এই চ্যাট অ্যাপটি উপলব্ধ করুন এবং আপনার ইমেল ঠিকানা লিখুন।
    9. লগস-এর অধীনে, ত্রুটি লগ করার বিকল্পটি লগিং-এ নির্বাচন করুন।
  3. সংরক্ষণ করুন- এ ক্লিক করুন।

চ্যাট অ্যাপটি চ্যাটে বার্তা গ্রহণ ও উত্তর দেওয়ার জন্য প্রস্তুত।

চ্যাট অ্যাপটি পরীক্ষা করুন

Google Chat-এ মেসেজ পাঠিয়ে Dialogflow CX Chat অ্যাপটি পরীক্ষা করুন।

  1. বিশ্বস্ত পরীক্ষক হিসেবে নিজেকে যুক্ত করার সময় আপনি যে Google Workspace অ্যাকাউন্টটি দিয়েছিলেন, সেটি ব্যবহার করে Google Chat খুলুন।

    গুগল চ্যাটে যান

  2. নতুন চ্যাট -এ ক্লিক করুন।
  3. ‘এক বা একাধিক ব্যক্তি যোগ করুন’ ফিল্ডে আপনার চ্যাট অ্যাপের নামটি টাইপ করুন।
  4. ফলাফল থেকে আপনার চ্যাট অ্যাপটি বেছে নিন। একটি সরাসরি বার্তা খুলে যাবে।

  5. অ্যাপের নতুন ডাইরেক্ট মেসেজে, Hello টাইপ করুন এবং enter চাপুন।

    Dialogflow Chat অ্যাপটি নিজের পরিচয় দিয়ে উত্তর দেয়।

  6. নমুনা কথোপকথনটি করে পরীক্ষাটি সম্পূর্ণ করুন।

নমুনা পরীক্ষার কথোপকথন

Dialogflow CX কনসোল অথবা Google Chat-এ Dialogflow CX চ্যাট অ্যাপটি পরীক্ষা করার জন্য, নিম্নলিখিত কথোপকথনটি করুন। এই ব্যাখ্যাটি আপনাকে বুঝতে সাহায্য করবে যে, কথোপকথনের প্রতিটি ধাপে Dialogflow CX এজেন্ট কীভাবে ব্যবহারকারীর স্বাভাবিক ভাষা অনুধাবন করে এবং নিজস্ব স্বাভাবিক ভাষার প্রতিক্রিয়া তৈরি করে। এই নমুনা কথোপকথনটি 'Travel: car rental' নামক পূর্ব-নির্মিত এজেন্টের উপর ভিত্তি করে তৈরি।

সংলাপ ব্যাখ্যা
ব্যবহারকারী: হ্যালো
এজেন্ট: হ্যালো! আমি ভার্চুয়াল গাড়ি ভাড়া এজেন্ট। আমি আপনাকে একটি নতুন গাড়ি ভাড়ার রিজার্ভেশন শুরু করতে সাহায্য করতে পারি। আজ আমি আপনাকে কীভাবে সহায়তা করতে পারি?
  1. ডিফল্ট স্টার্ট ফ্লো- তে থাকা ডিফল্ট ওয়েলকাম ইনটেন্ট রুটটি কল করা হয়।
  2. এই স্টেট হ্যান্ডলারের ("হাই! আমি...") ফুলফিলমেন্টটি রেসপন্স কিউতে যোগ করা হয়।
  3. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
ব্যবহারকারী: আমি একটি গাড়ি ভাড়া করতে চাই।
এজেন্ট: আপনি গাড়িটি কোথা থেকে নিতে চান?
  1. স্টার্ট পেজের car_rental.reservation_create ইন্টেন্ট রুটটি ম্যাচ হয়েছে।
  2. সেশনটি পিকআপ লোকেশন পেজে চলে যায়।
  3. পিকআপ লোকেশন পেজের ফর্মটি সম্পূর্ণ নয়, তাই এজেন্ট ` pickup_location` প্যারামিটার ব্যবহার করে ব্যবহারকারীকে জিজ্ঞাসা করে ("আপনি কোথা থেকে পিকআপ করতে চান..."), যা রেসপন্স কিউ-তে যুক্ত হয়।
  4. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
চূড়ান্ত ব্যবহারকারী: লাস ভেগাস
এজেন্ট: ঠিক আছে, আপনার পিকআপটি লাস ভেগাসে হবে।
এজেন্ট: আপনার ড্রপ অফ লোকেশন এবং পিকআপ লোকেশন কি আলাদা?
  1. ব্যবহারকারীর ইনপুট পূর্ববর্তী কথোপকথনের পালা চলাকালীন এজেন্টের অনুরোধ করা pickup_location প্যারামিটারটি পূরণ করে।
  2. ডিফল্ট স্টার্ট ফ্লো- তে থাকা car_rental.return_different_location ইন্টেন্ট রুটটি মিলে গেছে।
  3. পিকআপ লোকেশন পেজের ফর্ম পূরণের রুটটি মূল্যায়ন করে কল করা হয়। এতে একটি ফুলফিলমেন্ট ("ঠিক আছে, আপনার পিকআপ...") থাকে, যা এন্ড-ইউজারের সরবরাহ করা প্রকৃত মানে প্যারামিটার রেফারেন্সগুলো রিজলভ করে রেসপন্স কিউতে যোগ করা হয়।
  4. সেশনটি ' অবস্থান নিশ্চিত করুন' পৃষ্ঠায় চলে যায়।
  5. ' অবস্থান নিশ্চিত করুন' পৃষ্ঠায় একটি এন্ট্রি পূরণের শর্ত ("আপনার পণ্য জমা দেওয়ার স্থান কি ভিন্ন...") রয়েছে, যা প্রতিক্রিয়া সারিতে যুক্ত করা হয়।
  6. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
ব্যবহারকারী: হ্যাঁ। আমি গাড়িটা লস অ্যাঞ্জেলেসে রেখে আসব।
এজেন্ট: ঠিক আছে, আপনাকে লস অ্যাঞ্জেলেসে নামিয়ে দেওয়া হবে।
এজেন্ট: আপনি কোন তারিখ ও সময়ে গাড়িটি নিতে চান?
  1. ডিফল্ট স্টার্ট ফ্লো- তে থাকা car_rental.return_different_location ইন্টেন্ট রুটটি মিলে গেছে।
  2. সেশনটি ড্রপ অফ লোকেশন পেজে চলে যায়।
  3. ব্যবহারকারীর ইনপুট পূর্ববর্তী কথোপকথনের পর্বে এজেন্টের অনুরোধ করা drop_off_location প্যারামিটারটি পূরণ করে।
  4. ড্রপ অফ লোকেশন পেজের ফর্ম পূরণের রুটটি মূল্যায়ন করা হয় এবং কল করা হয়। এতে একটি ফুলফিলমেন্ট ("ঠিক আছে, আপনার ড্রপ অফ...") থাকে, যা রেসপন্স কিউতে যোগ করা হয়।
  5. সেশনটি ভাড়ার সময়কাল পৃষ্ঠায় স্থানান্তরিত হয়।
  6. ভাড়ার সময়কাল পৃষ্ঠার ফর্মের মান অসম্পূর্ণ থাকায়, এটি ব্যবহারকারীকে pickup_date_time প্যারামিটারটি ("আপনি কোন তারিখ ও সময়ে গাড়িটি নিতে চান...") পূরণ করতে অনুরোধ করে, যা রেসপন্স কিউ-তে যুক্ত হয়।
  7. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
ব্যবহারকারী: আমি মার্চের ৫ তারিখে দুপুর ১২টায় গাড়িটি নিতে চাই।
এজেন্ট: আপনি কোন তারিখ ও সময়ে গাড়িটি জমা দিতে চান?
  1. পূর্ববর্তী কথোপকথনের পালা চলাকালীন এজেন্টের অনুরোধ করা pickup_date_time প্যারামিটারটি ব্যবহারকারীর ইনপুট দ্বারা পূরণ করা হয়।
  2. ভাড়ার সময়কাল পেজটিতে আরেকটি ফর্ম ভ্যালু অনুপস্থিত থাকায়, এটি ব্যবহারকারীকে drop_off_date_time প্যারামিটারটির জন্য অনুরোধ করে ("আপনি কোন তারিখ ও সময়ে গাড়িটি ফেরত দিতে চান..."), যা রেসপন্স কিউ-তে যুক্ত করা হয়।
  3. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
চূড়ান্ত ব্যবহারকারী: মার্চ মাসের ১৫ তারিখ দুপুর ১২টায়।
এজেন্ট: তাহলে নিশ্চিত হতে চাই:

আপনি ২০২৪-০৩-০৫ ১২:০০:০০ তারিখে লাস ভেগাস থেকে গাড়িটি সংগ্রহ করবেন এবং ২০২৪-০৩-১৫ ১২:০০:০০ তারিখে লস অ্যাঞ্জেলেসে ফেরত দেবেন।

কথাটা কি ঠিক মনে হচ্ছে?
  1. পূর্ববর্তী কথোপকথনের পর্বে এজেন্টের অনুরোধ করা drop_off_date_time প্যারামিটারটি ব্যবহারকারীর ইনপুট দ্বারা পূরণ করা হয়।
  2. সেশনটি ' ভাড়ার সময়কাল নিশ্চিত করুন ' পৃষ্ঠায় চলে যায়।
  3. "ভাড়ার সময়কাল নিশ্চিত করুন" পৃষ্ঠায় একটি এন্ট্রি পূরণের ("তাহলে নিশ্চিত করতে...") ব্যবস্থা রয়েছে, যা রেসপন্স কিউতে যুক্ত হয়।
  4. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
ব্যবহারকারী: হ্যাঁ, ধন্যবাদ।
এজেন্ট: চমৎকার! এবার চলুন একটি যানবাহন পছন্দ করি।
এজেন্ট: আপনি কি ইকোনমি নাকি লাক্সারি গাড়ি নিতে চান?
  1. 'ভাড়ার সময়কাল নিশ্চিত করুন ' পৃষ্ঠার small_talk.confirmation.yes ইন্টেন্ট রুটটি মিলে গেছে।
  2. এজেন্ট একটি বার্তার ("চমৎকার! এবার বেছে নেওয়া যাক...") মাধ্যমে ব্যবহারকারীর পছন্দ নিশ্চিত করে, যা রেসপন্স কিউ-তে যুক্ত করা হয়।
  3. সেশনটি যানবাহন দ্ব্যর্থতা নিরসন পৃষ্ঠায় স্থানান্তরিত হয়।
  4. যানবাহন দ্ব্যর্থতা নিরসন পৃষ্ঠার ফর্মটি অসম্পূর্ণ থাকায়, এজেন্ট ব্যবহারকারীকে জিজ্ঞাসা করার জন্য ("আপনি কি ইকোনমি নাকি লাক্সারি চান...") vehicle_type প্যারামিটারটি ব্যবহার করে, যা রেসপন্স কিউ-তে যুক্ত হয়।
  5. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
চূড়ান্ত ব্যবহারকারী: অনুগ্রহ করে সাশ্রয়ী হোন।
এজেন্ট: আপনি কি সিম্বাল কার নাকি সিম্বাল ট্রাকটি নিতে চান?
  1. $session.params.vehicle_type="economy_vehicle" ইন্টেন্ট রুটটি মিলে গেছে।
  2. সেশনটি ইকোনমি অপশনস পেজে চলে যায়।
  3. ইকোনমি অপশনস পৃষ্ঠায় একটি এন্ট্রি পূরণের অপশন ("আপনি কি চান...") রয়েছে, যা রেসপন্স কিউতে যুক্ত হয়।
  4. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
চূড়ান্ত ব্যবহারকারী: সিম্বাল ট্রাক।
এজেন্ট: সিম্বাল ট্রাকটির দৈনিক ভাড়া ৫০.৩৩ ডলার। এতে ৪ জন বসতে পারে এবং একটি এএম/এফএম রেডিও আছে। আপনি কি পেমেন্ট করতে চান?
ব্যবহারকারী: হ্যাঁ, অনুগ্রহ করে।
  1. $session.params.vehicle_type="Cymbal Truck" ইন্টেন্ট রুটটি মিলে গেছে এবং vehicle_model প্যারামিটারটি পূরণ করা হয়েছে।
  2. সেশনটি 'Confirm Cymbal Truck' পেজে চলে যায়।
  3. "Confirm Cymbal Truck" পেজটিতে একটি এন্ট্রি পূরণের তথ্য ("The Cymbal Truck is $50.33 per day...") রয়েছে, যা রেসপন্স কিউ-তে যুক্ত করা হয়।
  4. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
  5. ব্যবহারকারীর প্রতিক্রিয়া small_talk.confirmation.yes রুটের সাথে মিলে যায়।
এজেন্ট: আপনি কোন ধরনের কার্ড ব্যবহার করবেন?
শেষ ব্যবহারকারী: অল্টোস্ট্র্যাট
এজেন্ট: অনুগ্রহ করে কার্ড নম্বরটি প্রবেশ করান।
শেষ ব্যবহারকারী: ১২৩৪ ১২৩৪ ১২৩৪ ১২৩৪
এজেন্ট: কার্ডে কী নাম লেখা আছে?
শেষ ব্যবহারকারী: চার্লি
এজেন্ট: বিলিংয়ের রাস্তার ঠিকানা কী?
চূড়ান্ত ব্যবহারকারী: ১৮০০ অ্যাম্ফিবিয়াস বুলেভার্ড, মাউন্টেন ভিউ, ক্যালিফোর্নিয়া
এজেন্ট: বিলিং জিপ কোডটি কী?
চূড়ান্ত ব্যবহারকারী: ৯৪০৪৫
এজেন্ট: আপনি ২০২৪-০৩-০৫ তারিখ ১২:০০:০০-এ লাস ভেগাস থেকে সিম্বাল কারটি সংগ্রহ করবেন এবং ২০২৪-০৩-১৫ তারিখ ১২:০০:০০-এ তা ফেরত দেবেন। এই ট্রিপের মোট খরচ হবে $১৭৫.৩৮।
এজেন্ট: আমাদের কাছ থেকে ভাড়া নেওয়ার জন্য আপনাকে ধন্যবাদ এবং আপনার দিনটি সুন্দর হোক!
  1. সেশনটি পেমেন্ট পেজে চলে যায়।
  2. পেমেন্ট ফর্মটি সম্পূর্ণ না থাকায় এজেন্ট ব্যবহারকারীর কাছে `card_type` , `card_number` , `billing_name` , `billing_street_address` , এবং `billing_zip_code` প্যারামিটারগুলো ("কোন ধরনের কার্ড ব্যবহার করা হবে...") জানতে চায়, যেগুলো ক্রমানুসারে রেসপন্স কিউ-তে যুক্ত হয় এবং ব্যবহারকারীর উত্তর দেওয়ার সাথে সাথে পাঠানো হয়। ব্যবহারকারীর উত্তরগুলো প্রতিটি প্যারামিটারের মান নির্ধারণ করে।
  3. সেশনটি রেন্টাল কনফার্মেশন পেজে চলে যায়।
  4. ভাড়া নিশ্চিতকরণ পৃষ্ঠায় একটি এন্ট্রি পূরণের ("ঠিক আছে, আপনার পিকআপের সময় হবে...") ব্যবস্থা রয়েছে, যা প্রতিক্রিয়া সারিতে যুক্ত হয়।
  5. এজেন্টটি রেসপন্স কিউটি এন্ড-ইউজারের কাছে পাঠিয়ে দেয়।
  6. সেশনটি ' সেশন শেষ' পৃষ্ঠায় চলে যায়।

Dialogflow থেকে কার্ড বার্তা পাঠান

Dialogflow টেক্সট বা কার্ড মেসেজের মাধ্যমে সাড়া দিতে পারে। কার্ড মেসেজের মাধ্যমে সাড়া দিতে, ফুলফিলমেন্ট- এ এটিকে একটি কাস্টম পেলোড হিসেবে নির্দিষ্ট করুন।

নিম্নলিখিত JSON-টি দেখায় যে কীভাবে ফুলফিলমেন্টে একটি কার্ড মেসেজকে কাস্টম পেলোড হিসাবে পাঠাতে হয়:

json

{
  'cardsV2': [{
    'cardId': 'createCardMessage',
    'card': {
      'header': {
        'title': 'A card message!',
        'subtitle': 'Sent from Dialogflow',
        'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
        'imageType': 'CIRCLE'
      },
      'sections': [
        {
          'widgets': [
            {
              'buttonList': {
                'buttons': [
                  {
                    'text': 'Read the docs!',
                    'onClick': {
                      'openLink': {
                        'url': 'https://developers.google.com/workspace/chat'
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

সীমাবদ্ধতা এবং বিবেচ্য বিষয়

  • চ্যাট ইন্টারঅ্যাকশন ইভেন্টগুলোর সমর্থন সীমিত এবং কিছু বিবেচ্য বিষয় রয়েছে:
    • নিম্নলিখিত ইন্টারঅ্যাকশন ইভেন্টের প্রকারগুলি সমর্থিত:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • For MESSAGE or ADDED_TO_SPACE events, the query input sent to the Dialogflow agent corresponds to the value of the argumentText field in the Chat message. If the message includes a slash command , the value of the text field is used instead.
    • CARD_CLICKED ইভেন্টগুলির জন্য, Dialogflow এজেন্টের কাছে পাঠানো কোয়েরি ইনপুটটি CARD_CLICKED.functionName আকারে বিন্যস্ত থাকে, যেখানে functionName হলো ইন্টারেক্টিভ কার্ড এলিমেন্টের (যেমন একটি বাটন) সাথে সংযুক্ত Action অবজেক্টের function ফিল্ডের মান।
    • প্রতিটি চ্যাট ইন্টারঅ্যাকশন ইভেন্টের সম্পূর্ণ JSON পেলোড কোয়েরি প্যারামিটারে একটি কাস্টম পেলোড হিসেবে Dialogflow-তে পাঠানো হয়, এবং একটি Dialogflow ওয়েবহুকের মাধ্যমে WebhookRequest.payload ফিল্ডের মান কোয়েরি করে এটি অ্যাক্সেস করা যায়।
  • স্ল্যাশ কমান্ডের প্রতিক্রিয়া জানানো এবং কার্ড বা ডায়ালগ থেকে ডেটা গ্রহণ করার ক্ষেত্রে বিবেচ্য বিষয়সমূহ:
    • যখন Dialogflow Chat অ্যাপগুলো স্ল্যাশ কমান্ডসহ কোনো বার্তা গ্রহণ করে, তখন কোয়েরি ইনপুটে শুধুমাত্র text ফিল্ডের মানটি থাকে। text ফিল্ডটি স্ল্যাশ কমান্ডের নাম দিয়ে শুরু হয় (উদাহরণস্বরূপ, /command ), যা ব্যবহার করে আপনি একটি Dialogflow এজেন্টের ইনটেন্টকে স্ল্যাশ কমান্ড শনাক্ত করার জন্য কনফিগার করতে পারেন।
    • Dialogflow এজেন্টের যদি চ্যাট ইন্টারঅ্যাকশন ইভেন্টের JSON পেলোড প্রসেস করার প্রয়োজন হয়, তবে এটি কোয়েরি প্যারামিটারে থাকা কাস্টম পেলোডটি পরীক্ষা করার জন্য একটি Dialogflow ওয়েবহুক ব্যবহার করে তা করতে পারে।
    • Dialogflow Agent থেকে একটি ডায়ালগ প্রদর্শন করতে, একটি একক কাস্টম JSON পেলোড দিয়ে সাড়া দিন, যাতে একটি DIALOG অ্যাকশন প্রতিক্রিয়া সম্বলিত একটি বার্তা অন্তর্ভুক্ত থাকে।
    • কার্ড থেকে ইনপুট করা ডেটা প্রসেস করার জন্য, Dialogflow এজেন্ট CARD_CLICKED লেখা দিয়ে শুরু হওয়া ইনটেন্টগুলো শনাক্ত করতে পারে এবং উপযুক্ত অ্যাকশন সম্বলিত একটিমাত্র কাস্টম JSON পেলোড দিয়ে সাড়া দিতে পারে।
  • লিঙ্ক প্রিভিউ সমর্থিত নয়।
  • যদি Dialogflow এজেন্ট কেবল একটি বার্তা দিয়ে সাড়া দেয়, তাহলে বার্তাটি সিনক্রোনাসভাবে Google Chat-এ পাঠানো হয়। যদি Dialogflow এজেন্ট একাধিক বার্তা দিয়ে সাড়া দেয়, তাহলে প্রতিটি বার্তার জন্য একবার করে Chat API-এর spaces.messages রিসোর্সের create মেথড কল করার মাধ্যমে সমস্ত বার্তা অ্যাসিঙ্ক্রোনাসভাবে Chat-এ পাঠানো হয়।
  • চ্যাটের সাথে Dialogflow CX ইন্টিগ্রেশন ব্যবহার করার সময়, Dialogflow এজেন্ট এবং চ্যাট অ্যাপ অবশ্যই একই Google Cloud প্রজেক্টে সেট আপ করতে হবে। যদি আপনাকে Dialogflow এবং Chat আলাদা ক্লাউড প্রজেক্টে সেট আপ করতে হয়, তাহলে সংযোগ সহজ করার জন্য আপনি একটি মধ্যবর্তী সার্ভার সেট আপ করতে পারেন। কীভাবে তা করতে হয়, তা জানতে GitHub-এ Dialogflow CX-এর জন্য এই চ্যাট ইন্টিগ্রেশন উদাহরণটি দেখুন।

সমস্যা সমাধান

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

যদিও চ্যাট UI-তে কোনো ত্রুটির বার্তা প্রদর্শিত নাও হতে পারে, চ্যাট অ্যাপের জন্য ত্রুটি লগিং চালু থাকলে, ত্রুটিগুলি সমাধান করতে সাহায্য করার জন্য বর্ণনামূলক ত্রুটির বার্তা এবং লগ ডেটা উপলব্ধ থাকে। ত্রুটি দেখা, ডিবাগ করা এবং সমাধান করার জন্য, "গুগল চ্যাটের ত্রুটি সমাধান ও প্রতিকার" দেখুন।

পরিষ্কার করা

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

  1. Google Cloud কনসোলে, Manage resources পেজে যান। Menu > IAM & Admin > Manage Resources- ক্লিক করুন।

    রিসোর্স ম্যানেজারে যান

  2. প্রজেক্ট তালিকা থেকে আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং তারপর 'মুছে ফেলুন বোতামে ক্লিক করুন।
  3. ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলার জন্য 'শাট ডাউন'-এ ক্লিক করুন।
  • Dialogflow CX, Dialogflow এজেন্ট ডিজাইনের জন্য একটি স্টেট মেশিন পদ্ধতি ব্যবহার করে, যা আপনাকে একটি কথোপকথনের উপর স্পষ্ট ও সুনির্দিষ্ট নিয়ন্ত্রণ, উন্নততর এন্ড-ইউজার অভিজ্ঞতা এবং একটি উন্নততর ডেভেলপমেন্ট ওয়ার্কফ্লো প্রদান করে। একটি Dialogflow চ্যাট অ্যাপ তৈরি করার সময়, আমরা Dialogflow CX ব্যবহার করার পরামর্শ দিই।
    • এজেন্ট তৈরি ও কনফিগার করার বিষয়ে আরও জানতে, Dialogflow CX Agents দেখুন।
    • এজেন্ট কীভাবে তৈরি ও কনফিগার করতে হয় তার বিস্তারিত নির্দেশনার জন্য, “Create a Dialogflow CX agent” দেখুন।
    • : কীভাবে একটি Dialogflow CX ডেটা স্টোর এজেন্ট তৈরি করতে হয় তার একটি উদাহরণের জন্য, "Build apps for Google Chat with Gemini" কোডল্যাবের নলেজ চ্যাট অ্যাপটি দেখুন।
    • : কীভাবে একটি Dialogflow CX কনভারসেশনাল এজেন্ট তৈরি করতে হয় তার একটি উদাহরণের জন্য, “ Build apps for Google Chat with Gemini” কোডল্যাবের ফিডব্যাক চ্যাট অ্যাপটি দেখুন।
  • Dialogflow ES হলো একটি চ্যাট অ্যাপের সাথে Dialogflow ব্যবহার করার আরেকটি উপায়।