একটি Gemini AI Chat অ্যাপের সাথে চ্যাট কথোপকথনের উপর ভিত্তি করে প্রশ্নের উত্তর দিন

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

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

কর্মচারী অন্তর্ভুক্তিকরণ এবং সহায়তার ক্ষেত্রে চ্যাট অ্যাপটি যেভাবে কাজ করে তা এখানে তুলে ধরা হলো:

  • এআই নলেজ অ্যাসিস্ট্যান্ট অ্যাপটির উল্লেখ করলে তা একটি স্পেসে যুক্ত হয়।
    চিত্র ১. চার্লি একটি চ্যাট স্পেসে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যুক্ত করে।
  • ডানা একটি প্রশ্ন করে।
    চিত্র ২. ডানা জানতে চায় যে কোম্পানিটি জনসমক্ষে বক্তৃতা দেওয়ার প্রশিক্ষণ দেয় কিনা।
  • এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি প্রশ্নের উত্তর দেয়।
    চিত্র ৩। এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি চ্যাট স্পেসের কথোপকথনের ইতিহাসের উপর ভিত্তি করে ড্যানার প্রশ্নের উত্তর দেওয়ার জন্য জেমিনি সহ ভার্টেক্স এআই-কে নির্দেশ দেয় এবং তারপর উত্তরটি শেয়ার করে।

পূর্বশর্ত

উদ্দেশ্য

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

স্থাপত্য

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

এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের আর্কিটেকচার ডায়াগ্রাম

এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি এইভাবে কাজ করে:

  • একজন ব্যবহারকারী একটি চ্যাট স্পেসে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যোগ করেন:

    1. চ্যাট অ্যাপটি, চ্যাট স্পেসে এটি যুক্ত করা ব্যবহারকারীকে প্রমাণীকরণ এবং অনুমোদন কনফিগার করার জন্য অনুরোধ করে।

    2. চ্যাট অ্যাপটি চ্যাট এপিআই-এর spaces.messages.list মেথডটি কল করে স্পেসের মেসেজগুলো সংগ্রহ করে এবং তারপর সংগৃহীত মেসেজগুলো একটি ফায়ারস্টোর ডেটাবেসে সংরক্ষণ করে।

    3. চ্যাট অ্যাপটি স্পেসের মেসেজের মতো ইভেন্ট শোনা শুরু করার জন্য গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই-এর subscriptions.create মেথডটিকে কল করে। সাবস্ক্রিপশনের নোটিফিকেশন এন্ডপয়েন্টটি একটি পাব/সাব টপিক, যা ইভেন্টটিকে চ্যাট অ্যাপে ফরোয়ার্ড করার জন্য ইভেন্টআর্ক ব্যবহার করে।

    4. চ্যাট অ্যাপটি স্পেসটিতে একটি পরিচিতিমূলক বার্তা পোস্ট করে।

  • চ্যাট স্পেসে একজন ব্যবহারকারী একটি বার্তা পোস্ট করেন:

    1. চ্যাট অ্যাপটি পাব/সাব টপিক থেকে রিয়েল টাইমে মেসেজটি গ্রহণ করে।

    2. চ্যাট অ্যাপটি বার্তাটি ফায়ারস্টোর ডেটাবেসে যুক্ত করে।

      যদি কোনো ব্যবহারকারী পরবর্তীতে বার্তাটি সম্পাদনা বা মুছে ফেলেন, তাহলে চ্যাট অ্যাপটি রিয়েল টাইমে আপডেট বা মুছে ফেলার ঘটনাটি গ্রহণ করে এবং তারপর ফায়ারস্টোর ডেটাবেসে বার্তাটি আপডেট বা মুছে ফেলে।

    3. চ্যাট অ্যাপটি জেমিনির মাধ্যমে ভার্টেক্স এআই-কে বার্তা পাঠায়:

      1. এই প্রম্পটটি Gemini সহ Vertex AI-কে নির্দেশ দেয় যে মেসেজটিতে কোনো প্রশ্ন আছে কিনা তা পরীক্ষা করতে। যদি প্রশ্ন থাকে, তাহলে Gemini, Firestore-এ সংরক্ষিত চ্যাট স্পেসের মেসেজ হিস্টোরির উপর ভিত্তি করে প্রশ্নটির উত্তর দেয় এবং এরপর Google Chat অ্যাপটি মেসেজটি সেই চ্যাট স্পেসে পাঠিয়ে দেয়। যদি প্রশ্ন না থাকে, তাহলে কোনো উত্তর দেওয়া হয় না।

      2. যদি Gemini সহ Vertex AI প্রশ্নটির উত্তর দেয়, তাহলে চ্যাট অ্যাপটি অ্যাপ অথেন্টিকেশন ব্যবহার করে চ্যাট এপিআই-এর spaces.messages.create মেথডটি কল করার মাধ্যমে উত্তরটি পোস্ট করে।

        যদি Gemini সহ Vertex AI প্রশ্নটির উত্তর দিতে না পারে, তাহলে চ্যাট অ্যাপটি একটি বার্তা পোস্ট করে জানায় যে, এটি চ্যাট স্পেসের ইতিহাসে সেই প্রশ্নটির কোনো উত্তর খুঁজে পায়নি।

  • চ্যাট অ্যাপটি গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই থেকে একটি লাইফসাইকেল নোটিফিকেশন পায় যে চ্যাট স্পেস সাবস্ক্রিপশনটির মেয়াদ শেষ হতে চলেছে:

    1. চ্যাট অ্যাপটি গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই-এর subscriptions.patch মেথডটি কল করার মাধ্যমে সাবস্ক্রিপশন নবায়নের জন্য একটি অনুরোধ পাঠায়।
  • চ্যাট অ্যাপটি একটি চ্যাট স্পেস থেকে সরিয়ে ফেলা হয়েছে:

    1. চ্যাট অ্যাপটি গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই-এর subscriptions.delete মেথডটি কল করার মাধ্যমে সাবস্ক্রিপশনটি ডিলিট করে।

    2. চ্যাট অ্যাপটি ফায়ারস্টোর থেকে চ্যাট স্পেসের ডেটা মুছে দেয়।

এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপে ব্যবহৃত পণ্যগুলো পর্যালোচনা করুন।

এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি নিম্নলিখিত গুগল ওয়ার্কস্পেস এবং গুগল ক্লাউড প্রোডাক্টগুলো ব্যবহার করে:

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

পরিবেশ প্রস্তুত করুন

এই অংশে চ্যাট অ্যাপের জন্য কীভাবে একটি গুগল ক্লাউড প্রজেক্ট তৈরি ও কনফিগার করতে হয়, তা দেখানো হয়েছে।

একটি গুগল ক্লাউড প্রজেক্ট তৈরি করুন

গুগল এপিআই কনসোল

  1. Google API Console-এ, > IAM & Admin > Create a Project-এ যান।

    প্রজেক্ট তৈরি করতে যান

  2. 'প্রজেক্ট নেম' ফিল্ডে আপনার প্রজেক্টের জন্য একটি বর্ণনামূলক নাম লিখুন।

    ঐচ্ছিক: প্রজেক্ট আইডি সম্পাদনা করতে, 'সম্পাদনা' (Edit) বোতামে ক্লিক করুন। প্রজেক্ট তৈরি হয়ে গেলে তা আর পরিবর্তন করা যায় না, তাই এমন একটি আইডি বেছে নিন যা প্রজেক্টটির পুরো জীবনকাল জুড়ে আপনার প্রয়োজন মেটাবে।

  3. লোকেশন ফিল্ডে, আপনার প্রোজেক্টের জন্য সম্ভাব্য লোকেশনগুলো দেখতে ব্রাউজ-এ ক্লিক করুন। এরপর, সিলেক্ট-এ ক্লিক করুন।
  4. Create-এ ক্লিক করুন। Google API Console আপনাকে ড্যাশবোর্ড পৃষ্ঠায় নিয়ে যাবে এবং কয়েক মিনিটের মধ্যেই আপনার প্রজেক্টটি তৈরি হয়ে যাবে।

gcloud CLI

নিম্নলিখিত ডেভেলপমেন্ট এনভায়রনমেন্টগুলির মধ্যে যেকোনো একটিতে Google Cloud CLI ( gcloud ) অ্যাক্সেস করুন:

  • ক্লাউড শেল : আগে থেকে সেট আপ করা gcloud CLI সহ একটি অনলাইন টার্মিনাল ব্যবহার করতে, ক্লাউড শেল সক্রিয় করুন।
    ক্লাউড শেল সক্রিয় করুন
  • লোকাল শেল : স্থানীয় উন্নয়ন পরিবেশ ব্যবহার করতে, gcloud CLI ইনস্টলচালু করুন
    একটি ক্লাউড প্রজেক্ট তৈরি করতে, gcloud projects create কমান্ডটি ব্যবহার করুন:
    gcloud projects create PROJECT_ID
    আপনি যে প্রজেক্টটি তৈরি করতে চান, তার আইডি দিয়ে PROJECT_ID প্রতিস্থাপন করুন।

ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করুন

গুগল এপিআই কনসোল

  1. Google API কনসোলে, বিলিং- এ যান। মেনু > বিলিং > আমার প্রজেক্টস- ক্লিক করুন।

    আমার প্রোজেক্টগুলোর বিলিং-এ যান

  2. 'একটি সংস্থা নির্বাচন করুন' -এ, আপনার গুগল ক্লাউড প্রকল্পের সাথে যুক্ত সংস্থাটি বেছে নিন।
  3. প্রজেক্ট রো-তে, অ্যাকশনস মেনু ( ) খুলুন, চেঞ্জ বিলিং-এ ক্লিক করুন এবং ক্লাউড বিলিং অ্যাকাউন্টটি বেছে নিন।
  4. অ্যাকাউন্ট সেট করুন -এ ক্লিক করুন।

gcloud CLI

  1. উপলব্ধ বিলিং অ্যাকাউন্টগুলির তালিকা পেতে, চালান:
    gcloud billing accounts list
  2. একটি গুগল ক্লাউড প্রজেক্টের সাথে বিলিং অ্যাকাউন্ট লিঙ্ক করুন:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • PROJECT_ID হলো সেই ক্লাউড প্রজেক্টের প্রজেক্ট আইডি , যার জন্য আপনি বিলিং চালু করতে চান।
    • BILLING_ACCOUNT_ID হলো গুগল ক্লাউড প্রজেক্টের সাথে লিঙ্ক করার জন্য বিলিং অ্যাকাউন্ট আইডি

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

গুগল এপিআই কনসোল

  1. Google API কনসোলে, Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API এবং Cloud Run Admin API সক্রিয় করুন।

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

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

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

gcloud CLI

  1. প্রয়োজনে, বর্তমান ক্লাউড প্রজেক্টটি আপনার তৈরি করা প্রজেক্টটিতে সেট করুন:

    gcloud config set project PROJECT_ID

    PROJECT_ID জায়গায় আপনার তৈরি করা ক্লাউড প্রজেক্টের প্রজেক্ট আইডিটি বসান।

  2. Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API, Google Workspace Events API, Eventarc API এবং Cloud Run Admin API সক্রিয় করুন:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    workspaceevents.googleapis.com \
    eventarc.googleapis.com \
    run.googleapis.com

প্রমাণীকরণ এবং অনুমোদন সেট আপ করুন

প্রমাণীকরণ এবং অনুমোদন চ্যাট অ্যাপটিকে গুগল ওয়ার্কস্পেস এবং গুগল ক্লাউডের রিসোর্স অ্যাক্সেস করার সুযোগ দেয়।

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

  1. Google API কনসোলে, > Google Auth প্ল্যাটফর্ম > ব্র্যান্ডিং- এ যান।

    ব্র্যান্ডিং-এ যান

  2. আপনি যদি ইতিমধ্যেই Google Auth প্ল্যাটফর্মটি কনফিগার করে থাকেন, তাহলে আপনি Branding , Audience , এবং Data Access- এ নিম্নলিখিত OAuth Consent Screen সেটিংস কনফিগার করতে পারেন। যদি আপনি এমন কোনো বার্তা দেখতে পান যেখানে লেখা আছে ‘Google Auth প্ল্যাটফর্ম এখনও কনফিগার করা হয়নি’ , তাহলে Get Started-এ ক্লিক করুন:

    1. অ্যাপ ইনফরমেশন-এর অধীনে অ্যাপ নেম-এর জায়গায় AI knowledge assistant টাইপ করুন।
    2. ব্যবহারকারী সহায়তা ইমেল- এ, আপনার ইমেল ঠিকানা অথবা একটি উপযুক্ত গুগল গ্রুপ নির্বাচন করুন।
    3. পরবর্তী ধাপে যান।
    4. Audience-এর অধীনে, Internal নির্বাচন করুন। যদি আপনি Internal নির্বাচন করতে না পারেন, তাহলে External নির্বাচন করুন।
    5. পরবর্তী ধাপে যান।
    6. যোগাযোগের তথ্যের অধীনে, একটি ইমেল ঠিকানা লিখুন যেখানে আপনার প্রকল্পের যেকোনো পরিবর্তন সম্পর্কে আপনাকে জানানো যাবে।
    7. পরবর্তী ধাপে যান।
    8. Finish-এর অধীনে, Google API Services ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং যদি আপনি সম্মত হন, তাহলে I agree to the Google API Services: User Data Policy নির্বাচন করুন।
    9. চালিয়ে যান-এ ক্লিক করুন।
    10. তৈরি করুন- এ ক্লিক করুন।
    11. যদি আপনি ব্যবহারকারীর ধরন হিসেবে 'এক্সটার্নাল' নির্বাচন করে থাকেন, তাহলে পরীক্ষামূলক ব্যবহারকারী যোগ করুন:
      1. দর্শকবৃন্দে ক্লিক করুন।
      2. টেস্ট ইউজার্স-এর অধীনে, অ্যাড ইউজার্স-এ ক্লিক করুন।
      3. আপনার ইমেল ঠিকানা এবং অন্য কোনো অনুমোদিত পরীক্ষামূলক ব্যবহারকারীর তথ্য প্রবেশ করান, তারপর সেভ-এ ক্লিক করুন।
  3. ডেটা অ্যাক্সেস > স্কোপ যোগ বা অপসারণ-এ ক্লিক করুন। একটি প্যানেল প্রদর্শিত হবে, যেখানে আপনার গুগল ক্লাউড প্রজেক্টে সক্রিয় করা প্রতিটি এপিআই-এর স্কোপের একটি তালিকা থাকবে।

    1. ‘Manually add scopes’-এর অধীনে, নিম্নলিখিত স্কোপটি পেস্ট করুন:

      • https://www.googleapis.com/auth/chat.messages
    2. টেবিলে যোগ করুন-এ ক্লিক করুন।

    3. আপডেট-এ ক্লিক করুন।

    4. আপনার অ্যাপের জন্য প্রয়োজনীয় পরিধিগুলো নির্বাচন করার পর, ডেটা অ্যাক্সেস পৃষ্ঠায়, সেভ-এ ক্লিক করুন।

OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করুন

  1. Google API Console-এ, Menu > APIs & Services > Credentials- এ যান

    পরিচয়পত্রে যান

  2. ক্রেডেনশিয়াল তৈরি করুন > OAuth ক্লায়েন্ট আইডি-তে ক্লিক করুন।

  3. অ্যাপ্লিকেশন টাইপ > ওয়েব অ্যাপ্লিকেশন-এ ক্লিক করুন।

  4. Name ফিল্ডে ক্রেডেনশিয়ালটির জন্য একটি নাম টাইপ করুন। এই নামটি শুধুমাত্র Google API Console-এ দেখানো হয়।

  5. অনুমোদিত রিডাইরেক্ট ইউআরআই-এর অধীনে, ইউআরআই যোগ করুন-এ ক্লিক করুন।

  6. URI 1- এ নিম্নলিখিতটি টাইপ করুন:

    https://REGION-PROJECT_ID.cloudfunctions.net/app/oauth2
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • REGION : ক্লাউড ফাংশনের অঞ্চল, যেমন us-central1 । পরবর্তীতে, যখন আপনি দুটি ক্লাউড ফাংশন তৈরি করবেন, তখন আপনাকে অবশ্যই তাদের অঞ্চল এই মানটিতে সেট করতে হবে।
    • PROJECT_ID : আপনার তৈরি করা ক্লাউড প্রজেক্টের প্রজেক্ট আইডি
  7. তৈরি করুন- এ ক্লিক করুন।

  8. OAuth ক্লায়েন্ট তৈরি হওয়ার উইন্ডো থেকে, Download JSON-এ ক্লিক করুন।

  9. ডাউনলোড করা ফাইলটি credentials.json নামে সংরক্ষণ করুন। পরবর্তীতে, যখন আপনি দুটি ক্লাউড ফাংশন তৈরি করবেন, তখন প্রতিটি ডেপ্লয়মেন্টে credentials.json ফাইলটি অন্তর্ভুক্ত করবেন।

  10. OK ক্লিক করুন।

পাব/সাব টপিক তৈরি করুন

পাব/সাব টপিকটি গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই-এর সাথে কাজ করে একটি চ্যাট স্পেসের মেসেজের মতো ইভেন্টগুলিতে সাবস্ক্রাইব করতে এবং রিয়েল টাইমে চ্যাট অ্যাপকে অবহিত করতে।

পাব/সাব টপিক তৈরি করার পদ্ধতি নিচে দেওয়া হলো:

গুগল এপিআই কনসোল

  1. Google API কনসোলে, মেনু > পাব/সাব- যান।

    পাব/সাব-এ যান

  2. বিষয় তৈরি করুন- এ ক্লিক করুন।

  3. টপিক আইডি -তে events-api টাইপ করুন।

  4. ডিফল্ট সাবস্ক্রিপশন যোগ করুন বিকল্পটি অনির্বাচিত করুন।

  5. এনক্রিপশন-এর অধীনে, গুগল-পরিচালিত এনক্রিপশন কী নির্বাচন করুন।

  6. Create-এ ক্লিক করুন। Pub/Sub টপিকটি প্রদর্শিত হবে।

  7. এই পাব/সাব টপিক এবং গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই একসাথে কাজ করার জন্য, চ্যাট আইএএম ব্যবহারকারীকে পাব/সাব টপিকে পোস্ট করার অনুমতি দিন:

    1. events-api প্যানেলে, PERMISSIONS- এর অধীনে, Add Principal-এ ক্লিক করুন।

    2. Add principals-এর অধীনে New principals- এ, chat-api-push@system.gserviceaccount.com টাইপ করুন।

    3. 'ভূমিকা নির্ধারণ করুন'- এর অধীনে, 'একটি ভূমিকা নির্বাচন করুন' -এ, 'পাব/সাব > পাব/সাব পাবলিশার' নির্বাচন করুন।

    4. সংরক্ষণ করুন- এ ক্লিক করুন।

gcloud CLI

  1. events-api টপিক আইডি দিয়ে একটি পাব/সাব টপিক তৈরি করুন:

    gcloud pubsub topics create events-api
  2. চ্যাট আইএএম ব্যবহারকারীকে পাব/সাব টপিকে পোস্ট করার অনুমতি দিন:

    gcloud pubsub topics add-iam-policy-binding events-api \
    --member='serviceAccount:chat-api-push@system.gserviceaccount.com' \
    --role='roles/pubsub.publisher'

ফায়ারস্টোর ডাটাবেস তৈরি করুন

ফায়ারস্টোর ডাটাবেস চ্যাট স্পেস থেকে মেসেজের মতো ডেটা সংরক্ষণ ও পুনরুদ্ধার করে। আপনি ডেটা মডেল নির্ধারণ করেন না, যা স্যাম্পল কোডে model/message.js এবং services/firestore-service.js ফাইলগুলোর মাধ্যমে পরোক্ষভাবে সেট করা থাকে।

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

নিম্নলিখিত ডায়াগ্রামটি হলো এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের ডেটা মডেলের একটি সংক্ষিপ্ত বিবরণ:

ফায়ারস্টোর ডাটাবেসের ডেটা মডেল।

রুটে দুটি কালেকশন রয়েছে:

  1. spaces , যেখানে প্রতিটি ডকুমেন্ট একটি চ্যাট স্পেসকে প্রতিনিধিত্ব করে যেখানে চ্যাট অ্যাপটি যুক্ত করা হয়। প্রতিটি মেসেজ messages সাবকালেকশনের একটি ডকুমেন্ট দ্বারা প্রতিনিধিত্ব করা হয়।

  2. users , যেখানে প্রতিটি ডকুমেন্ট এমন একজন ব্যবহারকারীকে প্রতিনিধিত্ব করে যিনি একটি চ্যাট স্পেসে চ্যাট অ্যাপটি যুক্ত করেছেন।

সংগ্রহ, নথি এবং ক্ষেত্রের সংজ্ঞা দেখুন

spaces

একটি চ্যাট স্পেস, যেখানে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি অন্তর্ভুক্ত রয়েছে।

ক্ষেত্র
Document ID String
একটি নির্দিষ্ট স্পেসের অনন্য আইডি। চ্যাট এপিআই-তে স্পেসটির রিসোর্স নামের একটি অংশ।
messages Subcollection of Documents ( messages )
চ্যাট স্পেসে পাঠানো বার্তা। এটি ফায়ারবেসে থাকা কোনো message Document ID সাথে সঙ্গতিপূর্ণ।
spaceName String
চ্যাট এপিআই-তে স্পেসটির অনন্য নাম। এটি চ্যাট এপিআই-তে স্পেসটির রিসোর্স নামের সাথে সঙ্গতিপূর্ণ।

messages

চ্যাট স্পেসে পাঠানো বার্তা।

ক্ষেত্র
Document ID String
একটি নির্দিষ্ট বার্তার অনন্য আইডি।
name String
চ্যাট এপিআই-তে একটি মেসেজের অনন্য নাম। এটি চ্যাট এপিআই-তে মেসেজটির রিসোর্স নামের সাথে সঙ্গতিপূর্ণ।
text String
বার্তাটির মূল অংশ।
time String ( Timestamp format)
যে সময়ে বার্তাটি তৈরি করা হয়েছিল।

users

যেসব ব্যবহারকারী একটি চ্যাট স্পেসে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যুক্ত করেছেন।

ক্ষেত্র
Document ID String
একজন নির্দিষ্ট ব্যবহারকারীর অনন্য আইডি।
accessToken String
OAuth 2.0 ব্যবহারকারী অনুমোদনের সময় প্রদত্ত অ্যাক্সেস টোকেনটি গুগল ওয়ার্কস্পেস এপিআই কল করতে ব্যবহৃত হয়।
refreshToken String
OAuth 2.0 ব্যবহারকারী অনুমোদনের সময় প্রদত্ত রিফ্রেশ টোকেন।

ফায়ারস্টোর ডাটাবেস তৈরি করার পদ্ধতি নিচে দেওয়া হলো:

গুগল এপিআই কনসোল

  1. Google API কনসোলে, মেনু > ফায়ারস্টোর- যান।

    ফায়ারস্টোরে যান

  2. ডাটাবেস তৈরি করুন -এ ক্লিক করুন।

  3. আপনার ফায়ারস্টোর মোড নির্বাচন করুন থেকে, নেটিভ মোডে ক্লিক করুন।

  4. চালিয়ে যান-এ ক্লিক করুন।

  5. ডাটাবেস কনফিগার করুন:

    1. আপনার ডেটাবেসের নাম দেওয়ার ক্ষেত্রে, ডেটাবেস আইডি (default) হিসাবেই রাখুন।

    2. অবস্থানের ধরণ-এর অধীনে, অঞ্চল নির্বাচন করুন।

    3. 'Region'- এ আপনার ডাটাবেসের জন্য একটি অঞ্চল নির্দিষ্ট করুন, যেমন us-central1 । সর্বোত্তম পারফরম্যান্সের জন্য, চ্যাট অ্যাপের ক্লাউড ফাংশনগুলোর মতো একই বা কাছাকাছি অবস্থান নির্বাচন করুন।

  6. ডাটাবেস তৈরি করুন -এ ক্লিক করুন।

gcloud CLI

  • নেটিভ মোডে একটি ফায়ারস্টোর ডাটাবেস তৈরি করুন:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    LOCATION জায়গায় একটি Firestore অঞ্চলের নাম লিখুন, যেমন us-central1 । সর্বোত্তম পারফরম্যান্সের জন্য, চ্যাট অ্যাপের ক্লাউড ফাংশনগুলোর মতো একই বা কাছাকাছি অবস্থান নির্বাচন করুন।

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

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

  1. দুটি ক্লাউড ফাংশন তৈরি ও স্থাপন করুন। একটি চ্যাট ইন্টারঅ্যাকশন ইভেন্টে সাড়া দেওয়ার জন্য এবং অন্যটি পাব/সাব ইভেন্টে সাড়া দেওয়ার জন্য।
  2. গুগল চ্যাট এপিআই কনফিগারেশন পেজে একটি চ্যাট অ্যাপ তৈরি ও স্থাপন করুন।

ক্লাউড ফাংশন তৈরি এবং স্থাপন করুন

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

  • app : চ্যাট অ্যাপের কোড হোস্ট ও রান করে, যা চ্যাট থেকে HTTP অনুরোধ হিসাবে প্রাপ্ত ইভেন্টগুলিতে সাড়া দেয়।
  • eventsApp : পাব/সাব থেকে আসা বার্তার মতো চ্যাট স্পেসের ইভেন্টগুলো গ্রহণ ও প্রক্রিয়াকরণ করে।

একত্রে এই ক্লাউড ফাংশনগুলো এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের অ্যাপ্লিকেশন লজিক তৈরি করে।

ঐচ্ছিকভাবে, ক্লাউড ফাংশনগুলো তৈরি করার আগে, গিটহাবে হোস্ট করা নমুনা কোডটি পর্যালোচনা করে ভালোভাবে দেখে নিন।

গিটহাবে দেখুন

app তৈরি এবং স্থাপন করুন

গুগল এপিআই কনসোল

  1. গিটহাব থেকে কোডটি একটি জিপ ফাইল হিসেবে ডাউনলোড করুন।

    জিপ ফাইলটি ডাউনলোড করুন

  2. ডাউনলোড করা জিপ ফাইলটি এক্সট্র্যাক্ট করুন।

    এক্সট্র্যাক্ট করা ফোল্ডারটিতে সম্পূর্ণ গুগল ওয়ার্কস্পেস স্যাম্পল রিপোজিটরিটি রয়েছে।

  3. এক্সট্র্যাক্ট করা ফোল্ডারটিতে, add-ons-samples-main/node/chat/ai-knowledge-assistant ডিরেক্টরিতে যান।

  4. add-ons-samples/node/chat/ai-knowledge-assistant ডিরেক্টরিতে, প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করার সময় ডাউনলোড করা credentials.json ফাইলটি যোগ করুন।

  5. ai-knowledge-assistant ফোল্ডারের বিষয়বস্তুগুলোকে একটি জিপ ফাইলে সংকুচিত করুন।

    জিপ ফাইলটিতে অবশ্যই নিম্নলিখিত ফাইল এবং ফোল্ডারগুলো থাকতে হবে:

    • .gcloudignore
    • .gitignore
    • README.md
    • deploy.sh
    • env.js
    • events_index.js
    • http_index.js
    • index.js
    • credentials.json
    • package-lock.json
    • package.json
    • controllers/
    • model/
    • services/
    • test/
  6. Google API কনসোলে, মেনু > ক্লাউড ফাংশন- যান।

    ক্লাউড ফাংশনে যান

    আপনার চ্যাট অ্যাপের জন্য গুগল ক্লাউড প্রজেক্টটি নির্বাচিত আছে কিনা, তা নিশ্চিত করুন।

  7. ফাংশন তৈরি করতে ক্লিক করুন।

  8. ফাংশন তৈরি করার পৃষ্ঠায়, আপনার ফাংশনটি সেট আপ করুন:

    1. এনভায়রনমেন্ট- এ, ক্লাউড রান ফাংশন নির্বাচন করুন।
    2. ফাংশনের নামে , app টাইপ করুন।
    3. Region- এ, us-central1 মতো একটি অঞ্চল নির্বাচন করুন। প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করার সময় আপনি অনুমোদিত রিডাইরেক্ট URI-তে যে অঞ্চলটি সেট করেছিলেন, এই অঞ্চলটি অবশ্যই তার সাথে মিলতে হবে।
    4. ট্রিগার টাইপ-HTTPS নির্বাচন করুন।
    5. Authentication-এর অধীনে, Allow unauthenticated invocations নির্বাচন করুন।
    6. পরবর্তী ধাপে যান।
  9. রানটাইমে , Node.js 20 নির্বাচন করুন।

  10. এন্ট্রি পয়েন্টে , ডিফল্ট টেক্সটটি মুছে দিয়ে app লিখুন।

  11. সোর্স কোডে , জিপ আপলোড নির্বাচন করুন।

  12. গন্তব্য বাকেটে , একটি বাকেট তৈরি করুন বা নির্বাচন করুন:

    1. ব্রাউজ-এ ক্লিক করুন।
    2. একটি বালতি বেছে নিন।
    3. নির্বাচন করুন- এ ক্লিক করুন।

    গুগল ক্লাউড জিপ ফাইলটি এই বাকেটে আপলোড করে এবং এর উপাদান ফাইলগুলো এক্সট্র্যাক্ট করে। এরপর ক্লাউড ফাংশনস উপাদান ফাইলগুলোকে ক্লাউড ফাংশনের মধ্যে কপি করে।

  13. Zip file অংশে, GitHub থেকে ডাউনলোড করা, এক্সট্র্যাক্ট করা এবং পুনরায় কম্প্রেস করা zip ফাইলটি আপলোড করুন:

    1. ব্রাউজ-এ ক্লিক করুন।
    2. জিপ ফাইলটিতে যান এবং সেটি নির্বাচন করুন।
    3. খুলুন- এ ক্লিক করুন।
  14. ডিপ্লয়-এ ক্লিক করুন।

    ক্লাউড ফাংশন ডিটেইল পেজটি খোলে এবং আপনার ফাংশনটি দুটি অগ্রগতি সূচক সহ প্রদর্শিত হয়: একটি বিল্ডের জন্য এবং অন্যটি সার্ভিসের জন্য। যখন উভয় অগ্রগতি সূচক অদৃশ্য হয়ে যায় এবং একটি টিক চিহ্ন দ্বারা প্রতিস্থাপিত হয়, তখন আপনার ফাংশনটি ডেপ্লয় করা এবং ব্যবহারের জন্য প্রস্তুত হয়ে যায়।

  15. ধ্রুবকগুলো সেট করতে নমুনা কোডটি সম্পাদনা করুন:

    1. ক্লাউড ফাংশন বিস্তারিত পৃষ্ঠায়, সম্পাদনা (Edit ) বোতামে ক্লিক করুন।
    2. পরবর্তী ধাপে যান।
    3. সোর্স কোডে , ইনলাইন এডিটর নির্বাচন করুন।
    4. ইনলাইন এডিটরে env.js ফাইলটি খুলুন এবং সম্পাদনা করুন:
      1. project মান আপনার ক্লাউড প্রজেক্ট আইডি-তে সেট করুন।
      2. location মান ক্লাউড ফাংশনের অঞ্চলে সেট করুন, যেমন us-central1
  16. ডিপ্লয়-এ ক্লিক করুন।

gcloud CLI

  1. গিটহাব থেকে কোডটি ক্লোন করুন:

    git clone https://github.com/googleworkspace/add-ons-samples.git
  2. এই এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটির কোড ধারণকারী ডিরেক্টরিতে যান:

    cd add-ons-samples/node/chat/ai-knowledge-assistant
  3. add-ons-samples/node/chat/ai-knowledge-assistant ডিরেক্টরিতে, প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করার সময় ডাউনলোড করা credentials.json ফাইলটি যোগ করুন।

  4. এনভায়রনমেন্ট ভেরিয়েবল সেট করতে env.js ফাইলটি সম্পাদনা করুন:

    1. project মান আপনার ক্লাউড প্রজেক্ট আইডি-তে সেট করুন।
    2. location মান ক্লাউড ফাংশনের অঞ্চলে সেট করুন, যেমন us-central1
  5. গুগল ক্লাউডে ক্লাউড ফাংশনটি স্থাপন করুন:

    gcloud functions deploy app \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=app \
    --trigger-http \
    --allow-unauthenticated

    env.js ফাইলে সেট করা ক্লাউড ফাংশনের অঞ্চলের মানের সাথে মিলিয়ে REGION প্রতিস্থাপন করুন, যেমন us-central1

eventsApp তৈরি এবং স্থাপন করুন

গুগল এপিআই কনসোল

  1. Google API কনসোলে, মেনু > ক্লাউড ফাংশন- যান।

    ক্লাউড ফাংশনে যান

    আপনার চ্যাট অ্যাপের জন্য গুগল ক্লাউড প্রজেক্টটি নির্বাচিত আছে কিনা, তা নিশ্চিত করুন।

  2. ফাংশন তৈরি করতে ক্লিক করুন।

  3. ফাংশন তৈরি করার পৃষ্ঠায়, আপনার ফাংশনটি সেট আপ করুন:

    1. এনভায়রনমেন্ট- এ, ক্লাউড রান ফাংশন নির্বাচন করুন।
    2. Function name- এর জায়গায় eventsApp টাইপ করুন।
    3. Region- এ, us-central1 মতো একটি অঞ্চল নির্বাচন করুন। প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করার সময় আপনি অনুমোদিত রিডাইরেক্ট URI-তে যে অঞ্চলটি সেট করেছিলেন, এই অঞ্চলটি অবশ্যই তার সাথে মিলতে হবে।
    4. ট্রিগার টাইপ-ক্লাউড পাব/সাব নির্বাচন করুন।
    5. ক্লাউড পাব/সাব টপিকে , আপনার তৈরি করা পাব/সাব টপিকের নামটি নির্বাচন করুন, যার ফরম্যাটটি হলো projects/ PROJECT /topics/events-api যেখানে PROJECT হলো আপনার ক্লাউড প্রজেক্ট আইডি।
    6. যদি আপনি Service account(s) might not have enough permissions to deploy the function with the selected trigger. এর মতো কোনো বার্তা দেখতে পান, তাহলে “Grant All” -এ ক্লিক করুন।
    7. পরবর্তী ধাপে যান।
  4. রানটাইমে , Node.js 20 নির্বাচন করুন।

  5. এন্ট্রি পয়েন্টে , ডিফল্ট টেক্সটটি মুছে দিয়ে eventsApp লিখুন।

  6. সোর্স কোডে , ক্লাউড স্টোরেজ থেকে জিপ নির্বাচন করুন।

  7. ক্লাউড স্টোরেজ লোকেশন- এ, ব্রাউজ-এ ক্লিক করুন।

  8. app ক্লাউড ফাংশন তৈরি করার সময় আপনি যে বাকেটে জিপ ফাইলটি আপলোড করেছিলেন, সেটি নির্বাচন করুন।

  9. আপনার আপলোড করা জিপ ফাইলটিতে ক্লিক করুন।

  10. নির্বাচন করুন- এ ক্লিক করুন।

  11. ডিপ্লয়-এ ক্লিক করুন।

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

  12. ধ্রুবকগুলো সেট করতে নমুনা কোডটি সম্পাদনা করুন:

    1. ক্লাউড ফাংশন বিস্তারিত পৃষ্ঠায়, সম্পাদনা (Edit ) বোতামে ক্লিক করুন।
    2. পরবর্তী ধাপে যান।
    3. সোর্স কোডে , ইনলাইন এডিটর নির্বাচন করুন।
    4. ইনলাইন এডিটরে env.js ফাইলটি খুলুন এবং সম্পাদনা করুন:
      1. project মান আপনার ক্লাউড প্রজেক্ট আইডি-তে সেট করুন।
      2. location মান ক্লাউড ফাংশনের অঞ্চলে সেট করুন, যেমন us-central1
  13. ডিপ্লয়-এ ক্লিক করুন।

gcloud CLI

  1. gcloud CLI-তে, যদি আপনি ইতিমধ্যে সেখানে না থাকেন, তাহলে সেই ডিরেক্টরিতে যান যেখানে এই AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটির কোড রয়েছে, যেটি আপনি আগে GitHub থেকে ক্লোন করেছিলেন:

    cd add-ons-samples/node/chat/ai-knowledge-assistant
  2. add-ons-samples/node/chat/ai-knowledge-assistant ডিরেক্টরিতে, প্রমাণীকরণ এবং অনুমোদনের জন্য OAuth ক্লায়েন্ট আইডি ক্রেডেনশিয়াল তৈরি করার সময় ডাউনলোড করা credentials.json ফাইলটি যোগ করুন।

  3. এনভায়রনমেন্ট ভেরিয়েবল সেট করতে env.js ফাইলটি সম্পাদনা করুন:

    1. project মান আপনার ক্লাউড প্রজেক্ট আইডি-তে সেট করুন।
    2. location মান ক্লাউড ফাংশনের অঞ্চলে সেট করুন, যেমন us-central1
  4. গুগল ক্লাউডে ক্লাউড ফাংশনটি স্থাপন করুন:

    gcloud functions deploy eventsApp \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=eventsApp \
    --trigger-topic=events-api

    env.js ফাইলে সেট করা ক্লাউড ফাংশনের অঞ্চলের মানের সাথে মিলিয়ে REGION প্রতিস্থাপন করুন, যেমন us-central1

app ক্লাউড ফাংশনের ট্রিগার ইউআরএলটি কপি করুন।

গুগল এপিআই কনসোলে চ্যাট অ্যাপ কনফিগার করার সময়, পরবর্তী বিভাগে app ক্লাউড ফাংশনের ট্রিগার ইউআরএলটি পেস্ট করুন।

গুগল এপিআই কনসোল

  1. Google API কনসোলে, মেনু > ক্লাউড ফাংশন- যান।

    ক্লাউড ফাংশনে যান

  2. ক্লাউড ফাংশন তালিকার Name কলামে app ক্লিক করুন।

  3. ক্লিক ট্রিগার

  4. URL-টি কপি করুন।

gcloud CLI

  1. app ক্লাউড ফাংশন বর্ণনা করুন:

    gcloud functions describe app
  2. url প্রপার্টিটি কপি করুন।

গুগল এপিআই কনসোলে চ্যাট অ্যাপটি কনফিগার করুন।

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

  1. Google API কনসোলে, মেনু এপিআই ও পরিষেবা > সক্রিয় এপিআই ও পরিষেবা > গুগল চ্যাট এপিআই > কনফিগারেশন- এ ক্লিক করুন

    চ্যাট এপিআই কনফিগারেশনে যান

  2. অ্যাপের নামে , AI knowledge assistant টাইপ করুন।

  3. Avatar URL-https://fonts.gstatic.com/s/i/short-term/release/googlesymbols/live_help/default/24px.svg টাইপ করুন।

  4. Description অংশে, Answers questions with AI টাইপ করুন।

  5. ইন্টারেক্টিভ ফিচার সক্ষম করুন টগলটি অন অবস্থানে ক্লিক করুন।

  6. Functionality-এর অধীনে, Join spaces and group conversations নির্বাচন করুন।

  7. সংযোগ সেটিংস-এর অধীনে, HTTP এন্ডপয়েন্ট URL নির্বাচন করুন।

  8. সার্ভিস অ্যাকাউন্টের ইমেলটি কপি করুন। আপনার অ্যাড-অনকে ফাংশনটি চালু করার অনুমোদন দেওয়ার জন্য এই ইমেলটি প্রয়োজন হবে।

  9. ট্রিগার-এর অধীনে, সমস্ত ট্রিগারের জন্য একটি সাধারণ HTTP এন্ডপয়েন্ট URL ব্যবহার করুন বিকল্পটি নির্বাচন করুন।

  10. HTTP এন্ডপয়েন্ট URL-এর জায়গায়, app ক্লাউড ফাংশন ট্রিগারের URL- .cloudfunctions.net/app https:// ফরম্যাটে পেস্ট করুন - যেখানে REGION REGION ক্লাউড ফাংশনের অঞ্চল, যেমন us PROJECT_ID us-central1 এবং PROJECT_ID হলো আপনার তৈরি করা ক্লাউড প্রজেক্টের প্রজেক্ট আইডি

  11. ‘Visibility’-এর অধীনে, ‘Make this Google Chat app available to specific people and groups in your domain’ বিকল্পটি নির্বাচন করুন এবং আপনার ইমেল ঠিকানা লিখুন।

  12. ঐচ্ছিকভাবে, Logs-এর অধীনে, Log errors to Logging নির্বাচন করুন।

  13. সংরক্ষণ করুন- এ ক্লিক করুন। কনফিগারেশন সংরক্ষিত হয়েছে এমন একটি বার্তা প্রদর্শিত হবে।

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

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

মেসেজ সহ একটি চ্যাট স্পেসে এমন প্রশ্ন জিজ্ঞাসা করে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি পরীক্ষা করুন, যেগুলোর উত্তর অ্যাপটি দিতে পারে।

এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি পরীক্ষা করার কয়েকটি উপায় নিচে দেওয়া হলো:

  • বিদ্যমান কোনো চ্যাট স্পেসে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যোগ করুন এবং সেই স্পেসের সাথে প্রাসঙ্গিক প্রশ্ন জিজ্ঞাসা করুন।
  • একটি চ্যাট স্পেস তৈরি করুন এবং ডেটা সোর্স হিসেবে ব্যবহারের জন্য কয়েকটি মেসেজ পোস্ট করুন। জেমিনি থেকে ‘ Answer 20 common onboarding questions employees ask their teams. অথবা, আপনি ‘ডেভেলপ উইথ চ্যাট ওভারভিউ’ গাইড থেকে কয়েকটি প্যারাগ্রাফ পেস্ট করে সে সম্পর্কে প্রশ্ন করতে পারেন।

এই টিউটোরিয়ালের জন্য, চলুন একটি চ্যাট স্পেস তৈরি করি এবং 'ডেভেলপ উইথ চ্যাট ওভারভিউ' গাইড থেকে কয়েকটি প্যারাগ্রাফ পেস্ট করি।

  1. গুগল চ্যাট খুলুন।

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

  2. একটি চ্যাট স্পেস তৈরি করুন:

    1. নতুন চ্যাট > একটি স্পেস তৈরি করুন -এ ক্লিক করুন।

    2. `Name` স্পেসে , Testing AI knowledge assistant app টাইপ করুন।

    3. ‘এই স্থানটি কীসের জন্য?’- এর অধীনে, ‘সহযোগিতা’ নির্বাচন করুন।

    4. অ্যাক্সেস সেটিংস-এর অধীনে, কারা এই স্পেসটি অ্যাক্সেস করতে পারবে তা নির্বাচন করুন।

    5. তৈরি করুন- এ ক্লিক করুন।

  3. ডেটা উৎস হিসেবে ব্যবহার করার জন্য বার্তা যোগ করুন:

    1. ওয়েব ব্রাউজারে, 'ডেভেলপ উইথ চ্যাট' ওভারভিউ গাইডটি দেখুন।

    2. গাইডটির বিষয়বস্তু কপি করে আপনার তৈরি করা চ্যাট স্পেসে পেস্ট করুন।

  4. এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যোগ করুন:

    1. মেসেজ কম্পোজ বারে @AI knowledge assistant টাইপ করুন এবং যে সাজেশন মেনুটি আসবে, সেখান থেকে AI knowledge assistant চ্যাট অ্যাপটি সিলেক্ট করে enter চাপুন।

    2. একটি বার্তা আসবে, যেখানে জিজ্ঞাসা করা হবে আপনি এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি স্পেসটিতে যোগ করতে চান কিনা। ‘অ্যাড টু স্পেস’-এ ক্লিক করুন।

    3. আপনি যদি প্রথমবারের মতো কোনো স্পেসে চ্যাট অ্যাপ যোগ করেন, তাহলে আপনাকে অবশ্যই চ্যাট অ্যাপটির জন্য অথেনটিকেশন এবং অথরাইজেশন কনফিগার করতে হবে:

      1. কনফিগার-এ ক্লিক করুন।
      2. একটি নতুন ব্রাউজার উইন্ডো বা ট্যাব খুলবে, যেখানে আপনাকে একটি গুগল অ্যাকাউন্ট বেছে নিতে বলা হবে। যে অ্যাকাউন্টটি দিয়ে আপনি পরীক্ষা করছেন, সেটি বেছে নিন।
      3. এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি যে অনুমতিগুলো চায়, সেগুলো পর্যালোচনা করুন। সেগুলো মঞ্জুর করতে, 'Allow' বাটনে ক্লিক করুন।
      4. You may close this page now. লেখা একটি বার্তা প্রদর্শিত হবে। ব্রাউজার উইন্ডো বা ট্যাবটি বন্ধ করে চ্যাট স্পেসে ফিরে যান।
  5. একটি প্রশ্ন জিজ্ঞাসা করুন:

    1. মেসেজ কম্পোজ বারে, What are Google Chat apps? এর মতো একটি প্রশ্ন টাইপ করুন।

    2. এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি উত্তর দেয়।

বিবেচ্য বিষয়সমূহ, বিকল্প স্থাপত্য পছন্দসমূহ এবং পরবর্তী পদক্ষেপসমূহ

এই বিভাগে এআই নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি তৈরি করার অন্যান্য উপায়গুলো পর্যালোচনা করা হয়েছে।

ফায়ারস্টোর, ক্লাউড স্টোরেজ, অথবা চ্যাট এপিআই-তে বার্তা তালিকা কল করা

এই টিউটোরিয়ালটি চ্যাট স্পেসের ডেটা, যেমন মেসেজ, একটি ফায়ারস্টোর ডেটাবেসে সংরক্ষণ করার পরামর্শ দেয়। কারণ, চ্যাট অ্যাপ যখনই কোনো প্রশ্নের উত্তর দেয়, তখন প্রতিবার চ্যাট এপিআই ব্যবহার করে Message রিসোর্সের list মেথড কল করার তুলনায় এটি পারফরম্যান্স উন্নত করে। এছাড়াও, বারবার list messages কল করার ফলে চ্যাট অ্যাপটি এপিআই কোটার সীমায় পৌঁছে যেতে পারে।

তবে, কোনো চ্যাট স্পেসের কথোপকথনের ইতিহাস খুব দীর্ঘ হয়ে গেলে ফায়ারস্টোর ব্যবহার করা ব্যয়বহুল হয়ে উঠতে পারে।

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

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

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

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

পরিষ্কার করা

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

  1. Google API Console-এ, Manage resources পেজে যান। Menu > IAM & Admin > Manage Resources-এ করুন।

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

  2. প্রজেক্ট তালিকা থেকে আপনি যে প্রজেক্টটি মুছতে চান সেটি নির্বাচন করুন এবং তারপর 'মুছে ফেলুন বোতামে ক্লিক করুন।
  3. ডায়ালগ বক্সে প্রজেক্ট আইডি টাইপ করুন এবং তারপর প্রজেক্টটি মুছে ফেলার জন্য 'শাট ডাউন'-এ ক্লিক করুন।