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

এই টিউটোরিয়ালে দেখানো হয়েছে কীভাবে এমন একটি Google Chat অ্যাপ তৈরি করা যায় যা Gemini-র সাথে Vertex AI দ্বারা পরিচালিত জেনারেটিভ AI-এর মাধ্যমে Chat স্পেসে কথোপকথনের ভিত্তিতে প্রশ্নের উত্তর দেয়। Chat অ্যাপ, রিয়েল-টাইমে Chat স্পেসে পোস্ট করা প্রশ্ন শনাক্ত ও উত্তর দিতে Google Workspace Events API ও Pub/Sub ব্যবহার করে। এমনকি, অ্যাপের কথা উল্লেখ করা না থাকলেও এটি করা হয়।

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

কর্মচারী অনবোর্ডিং ও সহায়তা স্পেসে Chat অ্যাপ কীভাবে কাজ করে তা এখানে দেওয়া হল:

  • AI নলেজ অ্যাসিস্ট্যান্ট অ্যাপের নাম উল্লেখ করলে সেটি স্পেসে যোগ হয়ে যায়।
    ছবি ১. চার্লি Chat স্পেসে AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ যোগ করে।
  • ডানা একটি প্রশ্ন করে।
    ছবি ২. কোম্পানি পাবলিক স্পিকিং ট্রেনিং দেয় কিনা তা ডানা জানতে চান।
  • AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ প্রশ্নের উত্তর দেয়।
    ছবি ৩. AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ, চ্যাট স্পেসের কথোপকথনের ইতিহাসের উপর ভিত্তি করে ডানার প্রশ্নের উত্তর দেওয়ার জন্য Vertex AI-কে Gemini-র সাথে প্রম্পট করে এবং তারপরে উত্তরটি শেয়ার করে।

পূর্বশর্ত

উদ্দেশ্য

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

আর্কিটেকচার

নিচের ডায়াগ্রামে AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের ব্যবহার করা Google Workspace এবং Google Cloud রিসোর্সের আর্কিটেকচার দেখানো হয়েছে।

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

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

  • কোনও ব্যবহারকারী Chat স্পেসে AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ যোগ করেন:

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

    2. Chat API-তে spaces.messages.list মেথড কল করে Chat অ্যাপ স্পেসের মেসেজ ফেচ করে এবং তারপরে Firestore ডেটাবেসে ফেচ করা মেসেজ স্টোর করে।

    3. Chat অ্যাপ, স্পেসে মেসেজের মতো ইভেন্ট শোনার জন্য subscriptions.create Google Workspace Events API-তে মেথড কল করে। সাবস্ক্রিপশনের বিজ্ঞপ্তি এন্ডপয়েন্ট হল একটি Pub/Sub টপিক যা Eventarc ব্যবহার করে Chat অ্যাপে ইভেন্ট ফরওয়ার্ড করে।

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

  • Chat স্পেসে কোনও ব্যবহারকারী মেসেজ পোস্ট করেন:

    1. Pub/Sub টপিক থেকে Chat অ্যাপ রিয়েল-টাইমে মেসেজ পায়।

    2. Chat অ্যাপ Firestore ডেটাবেসে মেসেজ যোগ করে।

      কোনও ব্যবহারকারী পরে মেসেজটি এডিট বা মুছে দিলে, Chat অ্যাপ রিয়েল-টাইমে আপডেট করা বা মুছে দেওয়া ইভেন্ট পায় এবং তারপর Firestore ডেটাবেসে মেসেজটি আপডেট বা মুছে দেয়।

    3. Chat অ্যাপ Gemini-এর সাথে Vertex AI-কে মেসেজ পাঠায়:

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

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

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

  • Chat অ্যাপ Google Workspace Events API থেকে একটি লাইফসাইকেল বিজ্ঞপ্তি পায় যে Chat স্পেস সাবস্ক্রিপশন এর মেয়াদ শেষ হতে চলেছে:

    1. Chat অ্যাপ, Google Workspace Events API-তে subscriptions.patch মেথড কল করে সাবস্ক্রিপশন রিনিউ করার অনুরোধ পাঠায়।
  • Chat স্পেস থেকে Chat অ্যাপ সরিয়ে দেওয়া হয়েছে:

    1. Chat অ্যাপ সাবস্ক্রিপশন মুছে দেয় Google Workspace Events API-তে subscriptions.delete মেথড কল করে।

    2. Chat অ্যাপ Firestore থেকে Chat space-এর ডেটা মুছে দেয়।

AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের ব্যবহার করা প্রোডাক্ট পর্যালোচনা করা

AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ নিম্নলিখিত Google Workspace ও Google Cloud প্রোডাক্ট ব্যবহার করে:

  • Gemini-এর সাথে Vertex AI API: Gemini দ্বারা পরিচালিত একটি জেনারেটিভ AI প্ল্যাটফর্ম। AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ, Gemini-র সাথে Vertex AI API ব্যবহার করে কর্মচারীদের প্রশ্ন শনাক্ত, বোঝা ও উত্তর দেয়।
  • Chat API: Google Chat অ্যাপ ডেভেলপ করার জন্য একটি API যা মেসেজের মতো চ্যাট ইন্টার‍্যাকশন ইভেন্ট গ্রহণ করে ও উত্তর দেয়। AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ Chat API ব্যবহার করে:
    • Chat-এর পাঠানো ইন্ট্যার‍্যাকশন ইভেন্ট গ্রহণ করা ও উত্তর দেওয়া।
    • স্পেসে পাঠানো মেসেজের তালিকা দেখুন।
    • স্পেসে ব্যবহারকারীর প্রশ্নের উত্তর পোস্ট করুন।
    • নাম ও অবতার ছবির মতো চ্যাটে কীভাবে দেখানো হবে তা নির্ধারণ করে এমন অ্যাট্রিবিউট কনফিগার করুন।
  • Google Workspace Events API: এই API আপনাকে ইভেন্টে সাবস্ক্রাইব করতে এবং Google Workspace অ্যাপ্লিকেশন জুড়ে পরিবর্তন সংক্রান্ত বিজ্ঞপ্তি ম্যানেজ করতে দেয়। AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপটি Google Workspace Events API ব্যবহার করে Chat স্পেসে পোস্ট করা মেসেজ শোনে। এর ফলে, কোনও প্রশ্নের উল্লেখ না থাকলেও সেটি শনাক্ত করে উত্তর দিতে পারে।
  • Firestore: একটি সার্ভারলেস ডকুমেন্ট ডেটাবেস। AI নলেজ অ্যাসিস্ট্যান্ট Chat স্পেসে পাঠানো মেসেজ সম্পর্কে ডেটা স্টোর করতে Chat অ্যাপ Firestore ব্যবহার করে।
  • Pub/Sub: Pub/Sub হল একটি অ্যাসিঙ্ক্রোনাস ও স্কেলেবল মেসেজিং পরিষেবা যা মেসেজ প্রসেস করা পরিষেবা থেকে মেসেজ তৈরি করা পরিষেবাগুলিকে আলাদা করে। AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি Pub/Sub ব্যবহার করে Chat স্পেস থেকে সাবস্ক্রিপশন ইভেন্ট পায়।
  • Eventarc: Eventarc আপনাকে অন্তর্নিহিত ইনফ্রাস্ট্রাকচার প্রয়োগ, কাস্টমাইজ বা রক্ষণাবেক্ষণ না করেই ইভেন্ট-ভিত্তিক আর্কিটেকচার তৈরি করতে দেয়। AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ, Eventarc ব্যবহার করে Pub/Sub থেকে Chat স্পেসে ইভেন্ট রাউট করে এবং সাবস্ক্রিপশন ইভেন্ট গ্রহণ ও প্রসেস করে।
  • Cloud Functions: একটি হালকা ওজনের সার্ভারলেস কম্পিউট পরিষেবা যা আপনাকে একক-উদ্দেশ্য, স্বতন্ত্র ফাংশন তৈরি করতে দেয় যা Chat ইন্টার‍্যাকশন ও সাবস্ক্রিপশন ইভেন্টে উত্তর দিতে পারে। এর জন্য কোনও সার্ভার বা রানটাইম এনভায়রনমেন্ট ম্যানেজ করার প্রয়োজন হয় না। AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ দুটি Cloud Functions ব্যবহার করে, যেগুলির নাম হল:
    • app: Chat যে HTTP এন্ডপয়েন্টে ইন্ট্যার‍্যাকশন ইভেন্ট পাঠায় সেটি হোস্ট করুন এবং এই ইভেন্ট প্রসেস ও উত্তর দেওয়ার জন্য লজিক রান করানোর কম্পিউট প্ল্যাটফর্ম হিসেবে কাজ করুন।
    • eventsApp: Pub/Sub সাবস্ক্রিপশন থেকে পাওয়া মেসেজের মতো Chat স্পেস ইভেন্ট গ্রহণ করে ও প্রসেস করে।
    Cloud Functions, কম্পিউট রিসোর্স তৈরি ও হোস্ট করার জন্য নিম্নলিখিত Google Cloud প্রোডাক্ট ব্যবহার করে:
    • Cloud Build: সম্পূর্ণ ম্যানেজ করা কন্টিনিউয়াস ইন্টিগ্রেশন, ডেলিভারি ও ডিপ্লয়মেন্ট প্ল্যাটফর্ম যা অটোমেটিক বিল্ড রান করে।
    • Cloud Run: কন্টেনারাইজড অ্যাপ চালানোর জন্য সম্পূর্ণ ম্যানেজ করা এনভায়রনমেন্ট।

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

এই বিভাগে দেখানো হয়েছে যে কীভাবে Chat অ্যাপের জন্য Google Cloud প্রোজেক্ট তৈরি ও কনফিগার করতে হয়।

Google Cloud প্রোজেক্ট তৈরি করা

Google API Console

  1. Google API Console-এ, 'মেনু > IAM ও অ্যাডমিন > প্রোজেক্ট তৈরি করুন' বিকল্পে যান।

    'প্রোজেক্ট তৈরি করুন' বিকল্পে যান

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

    ঐচ্ছিক: প্রোজেক্ট আইডি এডিট করতে, এডিট করুন বিকল্পে ক্লিক করুন। প্রোজেক্ট তৈরি হয়ে যাওয়ার পরে প্রোজেক্ট আইডি পরিবর্তন করা যায় না। তাই এমন একটি আইডি বেছে নিন যা প্রোজেক্টের সম্পূর্ণ মেয়াদ জুড়ে আপনার প্রয়োজন পূরণ করতে পারে।

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

gcloud CLI

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

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

Cloud প্রোজেক্টের জন্য বিলিং চালু করুন

Google API Console

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

    আমার প্রোজেক্টের বিলিংয়ে যান

  2. কোনও সংস্থা বেছে নিন বিকল্পে গিয়ে, আপনার Google Cloud প্রোজেক্টের সাথে যুক্ত সংস্থাটি বেছে নিন।
  3. প্রোজেক্টের সারিতে, অ্যাকশন মেনু খুলুন (), বিলিং পরিবর্তন করুন বিকল্পে ক্লিক করুন এবং Cloud Billing অ্যাকাউন্ট বেছে নিন।
  4. অ্যাকাউন্ট সেট করুন বিকল্পে ক্লিক করুন।

gcloud CLI

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

    নিম্নলিখিত বিষয়গুলি পরিবর্তন করুন:

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

API চালু করুন

Google API Console

  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 চালু করুন।

    API চালু করুন

  2. আপনি সঠিক Cloud প্রোজেক্টে API চালু করছেন কিনা তা কনফার্ম করুন, তারপর পরবর্তী বোতামে ক্লিক করুন।

  3. আপনি সঠিক API চালু করছেন কিনা তা কনফার্ম করুন, তারপর চালু করুন বিকল্পে ক্লিক করুন।

gcloud CLI

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

    gcloud config set project PROJECT_ID

    PROJECT_ID-এর জায়গায় আপনার তৈরি করা Cloud প্রোজেক্টের প্রোজেক্ট আইডি লিখুন।

  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

যাচাইকরণ ও অনুমোদন সেট-আপ করা

যাচাইকরণ ও অনুমোদন, Chat অ্যাপকে Google Workspace ও Google Cloud-এর রিসোর্স অ্যাক্সেস করতে দেয়।

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

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

    ব্র্যান্ডিংয়ে যান

  2. আপনি যদি আগে থেকেই Google Auth প্ল্যাটফর্ম কনফিগার করে থাকেন, তাহলে আপনি ব্র্যান্ডিং, দর্শক, এবং ডেটা অ্যাক্সেস-এ নিম্নলিখিত OAuth-এর সম্মতি সংক্রান্ত স্ক্রিন সেটিংস কনফিগার করতে পারবেন। আপনি যদি এমন কোনও মেসেজ দেখতে পান যা বলে Google Auth প্ল্যাটফর্ম এখনও কনফিগার করা হয়নি, শুরু করুন বিকল্পে ক্লিক করুন:

    1. অ্যাপ সম্পর্কিত তথ্য বিকল্পের মধ্যে, অ্যাপের নাম বিকল্পে গিয়ে AI knowledge assistant টাইপ করুন।
    2. ব্যবহারকারীর সহায়তা সংক্রান্ত ইমেল বিকল্পে, আপনার ইমেল আইডি বা উপযুক্ত Google গ্রুপ বেছে নিন।
    3. পরবর্তী বিকল্পে ক্লিক করুন।
    4. দর্শক বিকল্পের মধ্যে, ইন্টার্নাল বিকল্প বেছে নিন। আপনি ইন্টার্নাল বেছে নিতে না পারলে, এক্সটার্নাল বেছে নিন।
    5. পরবর্তী বিকল্পে ক্লিক করুন।
    6. যোগাযোগের তথ্য বিকল্পের মধ্যে, এমন একটি ইমেল আইডি লিখুন যেখানে আপনার প্রোজেক্টে কোনও পরিবর্তন হলে আপনাকে জানানো যাবে।
    7. পরবর্তী বিকল্পে ক্লিক করুন।
    8. সম্পূর্ণ করুন বিকল্পের অধীনে, Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতি পর্যালোচনা করুন এবং আপনি সম্মতি জানালে, Google API পরিষেবা সংক্রান্ত ব্যবহারকারীর ডেটা নীতিতে আমি সম্মতি জানাচ্ছি বিকল্প বেছে নিন।
    9. চালিয়ে যান বিকল্পে ক্লিক করুন।
    10. তৈরি করুন বিকল্পে ক্লিক করুন।
    11. ব্যবহারকারীর ধরন হিসেবে এক্সটার্নাল বেছে নিলে, টেস্ট ব্যবহারকারী যোগ করুন:
      1. দর্শক বিকল্পে ক্লিক করুন।
      2. টেস্ট ব্যবহারকারী বিকল্পের মধ্যে, ব্যবহারকারী যোগ করুন বিকল্পে ক্লিক করুন।
      3. আপনার ইমেল আইডি ও অন্য কোনও অনুমোদিত টেস্ট ব্যবহারকারীর ইমেল আইডি লিখুন, তারপর সেভ করুন বিকল্পে ক্লিক করুন।
  3. ডেটা অ্যাক্সেস > স্কোপ যোগ করুন বা সরিয়ে দিন বিকল্পে ক্লিক করুন। আপনার Google Cloud প্রোজেক্টে চালু করা প্রতিটি API-এর জন্য স্কোপের একটি তালিকা সহ একটি প্যানেল দেখানো হয়।

    1. ম্যানুয়ালি স্কোপ যোগ করুন বিকল্পের অধীনে, নিম্নলিখিত স্কোপ পেস্ট করুন:

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

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

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

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

  1. Google API কনসোলে, মেনু > API ও পরিষেবা > ক্রেডেনশিয়াল বিকল্পে যান।

    ক্রেডেনশিয়ালে যান

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

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

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

  5. অনুমোদিত রিডাইরেক্ট URI বিকল্পের অধীনে, URI যোগ করুন বিকল্পে ক্লিক করুন।

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

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

    নিম্নলিখিত বিষয়গুলি পরিবর্তন করুন:

    • REGION: Cloud Function-এর অঞ্চল, যেমন us-central1. পরে, আপনি দুটি Cloud Functions তৈরি করলে, আপনাকে অবশ্যই সেগুলির রিজিয়ন এই ভ্যালুতে সেট করতে হবে।
    • PROJECT_ID: আপনার তৈরি করা Cloud প্রোজেক্টের প্রোজেক্ট আইডি
  7. তৈরি করুন বিকল্পে ক্লিক করুন।

  8. তৈরি করা OAuth ক্লায়েন্ট উইন্ডো থেকে, JSON ডাউনলোড করুন বিকল্পে ক্লিক করুন।

  9. ডাউনলোড করা ফাইলটি credentials.json হিসেবে সেভ করুন। পরে, আপনি দুটি Cloud Functions তৈরি করলে, প্রতিটি ডেপ্লয়মেন্টে credentials.json ফাইলটি অন্তর্ভুক্ত করেন।

  10. ঠিক আছে বিকল্পে ক্লিক করুন।

Pub/Sub বিষয় তৈরি করা

Pub/Sub টপিক Google Workspace Events API-এর সাথে কাজ করে, যাতে Chat স্পেসে মেসেজের মতো ইভেন্টে সাবস্ক্রাইব করা যায় এবং Chat অ্যাপকে রিয়েল টাইমে বিজ্ঞপ্তি পাঠানো যায়।

Pub/Sub বিষয় কীভাবে তৈরি করতে হয় তা এখানে দেওয়া হল:

Google API Console

  1. Google API Console-এ গিয়ে মেনু > Pub/Sub বিকল্পে যান।

    Pub/Sub-এ যান

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

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

  4. একটি ডিফল্ট সাবস্ক্রিপশন যোগ করুন বিকল্পটি থেকে টিকচিহ্ন সরিয়ে দিন।

  5. এনক্রিপশন বিকল্পের মধ্যে, Google-এর ম্যানেজ করা এনক্রিপশন কী বেছে নিন।

  6. তৈরি করুন বিকল্পে ক্লিক করুন। Pub/Sub টপিক দেখা যাবে।

  7. এই Pub/Sub টপিক ও Google Workspace Events API-কে একসাথে কাজ করতে হলে, Chat IAM ব্যবহারকারীকে Pub/Sub টপিকে পোস্ট করার অনুমতি দিন:

    1. events-api প্যানেলে, অনুমতি বিকল্পের মধ্যে, প্রিন্সিপাল যোগ করুন বিকল্পে ক্লিক করুন।

    2. প্রিন্সিপাল যোগ করুন বিকল্পের অধীনে, নতুন প্রিন্সিপাল বিকল্পে, টাইপ করুন chat-api-push@system.gserviceaccount.com।

    3. ভূমিকা অ্যাসাইন করুন বিকল্পের অধীনে, একটি ভূমিকা বেছে নিন বিকল্পে গিয়ে Pub/Sub > Pub/Sub প্রকাশক বিকল্প বেছে নিন।

    4. সেভ করুন বিকল্পে ক্লিক করুন।

gcloud CLI

  1. টপিক আইডি events-api সহ Pub/Sub টপিক তৈরি করুন:

    gcloud pubsub topics create events-api
  2. Pub/Sub টপিকে পোস্ট করার জন্য Chat IAM ব্যবহারকারীকে অনুমতি দিন:

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

Firestore ডেটাবেস তৈরি করা

Firestore ডেটাবেস, মেসেজের মতো Chat স্পেস থেকে ডেটা সেভ করে এবং তা রিট্রিভ করে। আপনি ডেটা মডেলকে সংজ্ঞায়িত করেননি, যা model/message.js এবং services/firestore-service.js ফাইলের মাধ্যমে স্যাম্পেল কোডে পরোক্ষভাবে সেট করা হয়।

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

নিম্নলিখিত ডায়াগ্রামটি AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের ডেটা মডেলের ওভারভিউ:

Firestore ডেটাবেসের ডেটা মডেল।

রুট ডিরেক্টরিতে দুটি সংগ্রহ আছে:

  1. spaces, যেখানে প্রতিটি ডকুমেন্ট একটি Chat স্পেসকে বোঝায় যেটিতে Chat অ্যাপ যোগ করা হয়েছে। messages সাব-কালেকশনে প্রতিটি মেসেজ একটি ডকুমেন্ট হিসেবে দেখানো হয়।

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

সংগ্রহ, ডকুমেন্ট ও ফিল্ডের সংজ্ঞা দেখা

spaces

AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ সহ একটি Chat স্পেস।

ফিল্ড
Document IDString
নির্দিষ্ট স্পেসের অনন্য আইডি। Chat API-তে স্পেসের রিসোর্স নামের অংশ।
messagesSubcollection of Documents (messages)
Chat স্পেসে পাঠানো মেসেজ। Firebase-এ message-এর Document ID-এর সাথে সম্পর্কিত।
spaceNameString
Chat API-তে স্পেসের অনন্য নাম। Chat API-তে স্পেসের রিসোর্স নামের সাথে মিলে যায়।

messages

Chat স্পেসে পাঠানো মেসেজ।

ফিল্ড
Document IDString
নির্দিষ্ট মেসেজের অনন্য আইডি।
nameString
Chat API-তে মেসেজের অনন্য নাম। Chat API-তে মেসেজের রিসোর্স নামের সাথে মানানসই।
textString
মেসেজের টেক্সট বডি।
timeString (Timestamp format)
মেসেজ তৈরির সময়।

users

যেসব ব্যবহারকারী AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপকে Chat স্পেসে যোগ করেছেন।

ফিল্ড
Document IDString
কোনও নির্দিষ্ট ব্যবহারকারীর অনন্য আইডি।
accessTokenString
Google Workspace API কল করার জন্য OAuth 2.0 ব্যবহারকারী অনুমোদনের সময় মঞ্জুর করা অ্যাক্সেস টোকেন।
refreshTokenString
OAuth 2.0 ব্যবহারকারীর অনুমোদনের সময় দেওয়া রিফ্রেশ টোকেন।

Firestore ডেটাবেস কীভাবে তৈরি করবেন তা এখানে দেওয়া হল:

Google API Console

  1. Google API Console-এ গিয়ে মেনু > Firestore বিকল্পে যান।

    Firestore-এ যান

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

  3. আপনার Firestore মোড বেছে নিন বিকল্প থেকে, নেটিভ মোড বিকল্পে ক্লিক করুন।

  4. চালিয়ে যান বিকল্পে ক্লিক করুন।

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

    1. আপনার ডেটাবেসের নাম দিন বিকল্পে, ডেটাবেস আইডি (default) হিসেবেই রেখে দিন।

    2. লোকেশন টাইপ বিকল্পের মধ্যে থেকে অঞ্চল বিকল্প বেছে নিন।

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

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

gcloud CLI

  • নেটিভ মোডে Firestore ডেটাবেস তৈরি করুন:

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

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

Chat অ্যাপ তৈরি ও ডেপ্লয় করা

আপনার Google Cloud প্রোজেক্ট তৈরি ও কনফিগার করা হয়ে গেছে, এখন আপনি Chat অ্যাপ তৈরি ও ডেপ্লয় করার জন্য প্রস্তুত। এই বিভাগে, আপনি নিচের কাজগুলি করবেন:

  1. দুটি Cloud Functions তৈরি ও ডিপ্লয় করুন। একটি Chat ইন্টার‍্যাকশন ইভেন্টের উত্তর দিতে এবং একটি Pub/Sub ইভেন্টের উত্তর দিতে।
  2. Google Chat API কনফিগারেশন পৃষ্ঠায় একটি Chat অ্যাপ তৈরি ও ডেপ্লয় করুন।

Cloud Functions তৈরি ও ডিপ্লয় করা

এই বিভাগে, আপনি নিম্নলিখিত নামে দুটি Cloud Functions তৈরি ও ডিপ্লয় করেন:

  • app: Chat অ্যাপের কোড হোস্ট ও রান করে যা HTTP অনুরোধ হিসেবে Chat থেকে পাওয়া ইভেন্টের উত্তর দেয়।
  • eventsApp: Pub/Sub থেকে পাওয়া মেসেজের মতো Chat স্পেস ইভেন্ট গ্রহণ ও প্রসেস করে।

এইসব Cloud Functions একসাথে AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপের অ্যাপ্লিকেশন লজিক তৈরি করে।

ঐচ্ছিকভাবে, Cloud Functions তৈরি করার আগে, GitHub-এ হোস্ট করা নমুনা কোড পর্যালোচনা করতে এবং সেটির সাথে পরিচিত হতে একটু সময় নিন।

GitHub-এ দেখুন

app তৈরি ও ডেপ্লয় করা

Google API Console

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

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

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

    এক্সট্র্যাক্ট করা ফোল্ডারে সম্পূর্ণ Google Workspace স্যাম্পেল রেপোজিটরি থাকে।

  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 ফোল্ডারের কন্টেন্টকে zip ফাইলে কম্প্রেস করো।

    জিপ ফাইলে নিম্নলিখিত ফাইল ও ফোল্ডার থাকতে হবে:

    • .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 কনসোলে গিয়ে মেনু > Cloud Functions বিকল্পে যান।

    Cloud Functions-এ যান

    আপনার Chat অ্যাপের জন্য Google Cloud প্রোজেক্ট বেছে নেওয়া হয়েছে কিনা তা ভাল করে দেখে নিন।

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

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

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

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

  11. সোর্স কোডে গিয়ে জিপ আপলোড বিকল্প বেছে নিন।

  12. ডেস্টিনেশন বাকেট-এ, তৈরি করুন অথবা কোনও বাকেট বেছে নিন:

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

    Google Cloud এই বাকেটে জিপ ফাইল আপলোড করে এবং কম্পোনেন্ট ফাইল এক্সট্র্যাক্ট করে। Cloud Functions তারপরে কম্পোনেন্ট ফাইলগুলিকে Cloud Function-এ কপি করে।

  13. জিপ ফাইল-এ, GitHub থেকে ডাউনলোড করা, এক্সট্র্যাক্ট করা এবং আবার কম্প্রেস করা জিপ ফাইল আপলোড করুন:

    1. ব্রাউজ করুন বিকল্পে ক্লিক করুন।
    2. নেভিগেট করে জিপ ফাইল বেছে নিন।
    3. খুলুন বিকল্পে ক্লিক করুন।
  14. ডেপ্লয় করুন বিকল্পে ক্লিক করুন।

    Cloud Functions-এর বিবরণ পৃষ্ঠাটি খুলে যায় এবং আপনার ফাংশনটি দু'টি প্রগ্রেস ইন্ডিকেটর সহ দেখা যায়: একটি বিল্ডের জন্য এবং একটি পরিষেবার জন্য। দুটি প্রগ্রেস ইন্ডিকেটরই অদৃশ্য হয়ে গিয়ে টিকচিহ্ন দেখানো হলে, আপনার ফাংশন ডেপ্লয় করা হয়ে গেছে এবং রেডি আছে।

  15. ধ্রুবক সেট করতে, নমুনা কোড এডিট করুন:

    1. ক্লাউড ফাংশনের বিবরণ পৃষ্ঠায়, এডিট করুন বিকল্পে ক্লিক করুন।
    2. পরবর্তী বিকল্পে ক্লিক করুন।
    3. সোর্স কোডে গিয়ে ইনলাইন এডিটর বেছে নিন।
    4. ইনলাইন এডিটরে, env.js ফাইল খুলুন ও এডিট করুন:
      1. আপনার Cloud প্রোজেক্ট আইডিতে project-এর ভ্যালু সেট করুন।
      2. Cloud Function-এর রিজিয়ন-এ location-এর ভ্যালু সেট করুন, যেমন us-central1।
  16. ডেপ্লয় করুন বিকল্পে ক্লিক করুন।

gcloud CLI

  1. GitHub থেকে কোড ক্লোন করুন:

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

    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. আপনার Cloud প্রোজেক্ট আইডিতে project-এর ভ্যালু সেট করুন।
    2. Cloud Function-এর রিজিয়ন-এ location-এর ভ্যালু সেট করুন, যেমন us-central1।
  5. Google Cloud-এ Cloud Function ডিপ্লয় করুন:

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

    REGION-এর জায়গায় Cloud Function-এর region এর ভ্যালু বসান, যাতে env.js ফাইলে সেট করা ভ্যালুর সাথে তা ম্যাচ করে, যেমন us-central1।

eventsApp তৈরি ও ডেপ্লয় করা

Google API Console

  1. Google API কনসোলে গিয়ে মেনু > Cloud Functions বিকল্পে যান।

    Cloud Functions-এ যান

    আপনার Chat অ্যাপের জন্য Google Cloud প্রোজেক্ট বেছে নেওয়া হয়েছে কিনা তা ভাল করে দেখে নিন।

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

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

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

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

  6. সোর্স কোড বিকল্পে গিয়ে ক্লাউড স্টোরেজ থেকে জিপ করুন বিকল্প বেছে নিন।

  7. Cloud Storage লোকেশন বিকল্পে গিয়ে ব্রাউজ করুন বিকল্পে ক্লিক করুন।

  8. আপনি app Cloud Function তৈরি করার সময় যে বাকেটে জিপ ফাইল আপলোড করেছিলেন সেটি বেছে নিন।

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

  10. বেছে নিন বিকল্পে ক্লিক করুন।

  11. ডেপ্লয় করুন বিকল্পে ক্লিক করুন।

    Cloud Functions-এর বিবরণ পৃষ্ঠাটি খুলবে এবং আপনার ফাংশনটি তিনটি প্রগ্রেস ইন্ডিকেটর সহ দেখাবে: একটি বিল্ডের জন্য, একটি পরিষেবার জন্য এবং একটি ট্রিগারের জন্য। তিনটি প্রগ্রেস ইন্ডিকেটরই অদৃশ্য হয়ে গিয়ে সেগুলির জায়গায় টিক চিহ্ন দেখা গেলে, আপনার ফাংশন ডেপ্লয় করা হয়ে গেছে এবং সেটি রেডি আছে।

  12. ধ্রুবক সেট করতে, নমুনা কোড এডিট করুন:

    1. ক্লাউড ফাংশনের বিবরণ পৃষ্ঠায়, এডিট করুন বিকল্পে ক্লিক করুন।
    2. পরবর্তী বিকল্পে ক্লিক করুন।
    3. সোর্স কোডে গিয়ে ইনলাইন এডিটর বেছে নিন।
    4. ইনলাইন এডিটরে, env.js ফাইল খুলুন ও এডিট করুন:
      1. আপনার Cloud প্রোজেক্ট আইডিতে project-এর ভ্যালু সেট করুন।
      2. location-এর ভ্যালু Cloud Function-এর রিজিয়ন, যেমন 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. আপনার Cloud প্রোজেক্ট আইডিতে project-এর ভ্যালু সেট করুন।
    2. Cloud Function-এর রিজিয়ন-এ location-এর ভ্যালু সেট করুন, যেমন us-central1।
  4. Google Cloud-এ Cloud Function ডিপ্লয় করুন:

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

    env.js ফাইলে সেট করা ভ্যালুর সাথে ম্যাচ করাতে, Cloud Function-এর region ভ্যালু দিয়ে REGION পরিবর্তন করুন, যেমন us-central1।

app ক্লাউড ফাংশনের ট্রিগার URL কপি করুন

আপনি Google API Console-এ Chat অ্যাপ কনফিগার করার সময় app Cloud Function-এর ট্রিগার URL পরবর্তী বিভাগে পেস্ট করেন।

Google API Console

  1. Google API কনসোলে গিয়ে মেনু > Cloud Functions বিকল্পে যান।

    Cloud Functions-এ যান

  2. Cloud Functions-এর তালিকার নাম কলামে, app বিকল্পে ক্লিক করুন।

  3. ট্রিগার করুন বিকল্পে ক্লিক করুন।

  4. URL কপি করুন।

gcloud CLI

  1. app Cloud Function-এর বিবরণ দাও:

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

Google API কনসোলে Chat অ্যাপ কনফিগার করা

এই বিভাগে, আপনার Chat অ্যাপ সম্পর্কে তথ্য সহ Google API কনসোলে Chat API কীভাবে কনফিগার করতে হয় তা দেখানো হয়েছে, এর মধ্যে Chat অ্যাপের নাম এবং Chat অ্যাপের ক্লাউড ফাংশনের ট্রিগার URL অন্তর্ভুক্ত রয়েছে যেখানে এটি Chat ইন্টার‍্যাকশন ইভেন্ট পাঠায়।

  1. Google API Console-এ, মেনু > API ও পরিষেবা > চালু API ও পরিষেবা > Google Chat API > কনফিগারেশন বিকল্পে ক্লিক করুন।

    Chat API কনফিগারেশনে যান

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

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

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

  5. ইন্টার‍্যাক্টিভ ফিচার চালু করুন টগল বোতামে ক্লিক করে সেটি চালু করুন।

  6. কার্যকারিতা বিকল্পের মধ্যে, স্পেস ও গ্রুপ কথোপকথনে যোগ দিন বিকল্প বেছে নিন।

  7. কানেকশন সেটিংস বিকল্পের মধ্যে, HTTP এন্ডপয়েন্ট URL বিকল্প বেছে নিন।

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

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

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

  11. দৃশ্যমানতা বিকল্পের মধ্যে, বেছে নিন আপনার ডোমেনে নির্দিষ্ট ব্যক্তি ও গ্রুপের জন্য এই Google Chat অ্যাপ উপলভ্য করুন এবং আপনার ইমেল আইডি লিখুন।

  12. ঐচ্ছিকভাবে, লগ বিকল্পের মধ্যে, লগিংয়ে সমস্যার লগ করুন বিকল্প বেছে নিন।

  13. সেভ করুন বিকল্পে ক্লিক করুন। কনফিগারেশন সেভ করা হয়েছে মেসেজটি দেখতে পাবেন।

Chat অ্যাপ, Chat-এ মেসেজ গ্রহণ করতে ও উত্তর দিতে প্রস্তুত।

Chat অ্যাপ পরীক্ষা করা

AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপের উত্তর দিতে পারে এমন প্রশ্ন জিজ্ঞাসা করে চ্যাট স্পেসে AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপটি পরীক্ষা করুন।

AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ পরীক্ষা করার কয়েকটি উপায় এখানে দেওয়া হল:

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

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

  1. Google Chat খুলুন।

    Google Chat-এ যান

  2. Chat স্পেস তৈরি করুন:

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

    2. স্পেসের নাম বিকল্পে Testing AI knowledge assistant app টাইপ করুন।

    3. এই স্পেস কীসের জন্য? বিকল্পের অধীনে, কোলাবরেশন বিকল্প বেছে নিন।

    4. অ্যাক্সেস সেটিংস বিকল্পের মধ্যে, কে স্পেস অ্যাক্সেস করতে পারবেন তা বেছে নিন।

    5. তৈরি করুন বিকল্পে ক্লিক করুন।

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

    1. ওয়েব ব্রাউজার থেকে Chat-এর মাধ্যমে ডেভেলপ করা সংক্রান্ত ওভারভিউ গাইড দেখুন।

    2. আপনার তৈরি করা Chat স্পেসে গাইড থেকে কন্টেন্ট কপি করে পেস্ট করুন।

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

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

    2. আপনি AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ স্পেসে যোগ করতে চান কিনা তা জানতে চেয়ে একটি মেসেজ দেখানো হয়। স্পেসে যোগ করুন বিকল্পে ক্লিক করুন।

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

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

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

    2. AI নলেজ অ্যাসিস্ট্যান্ট Chat অ্যাপ উত্তর দেয়।

বিবেচনা, বিকল্প আর্কিটেকচার বেছে নেওয়া ও পরবর্তী ধাপ

এই বিভাগে AI নলেজ অ্যাসিস্ট্যান্ট চ্যাট অ্যাপ তৈরি করার অন্যান্য পদ্ধতি পর্যালোচনা করা হয়।

Firestore, Cloud Storage অথবা Chat API-তে List Messages কল করা

এই টিউটোরিয়ালে Chat স্পেসের ডেটা যেমন মেসেজ Firestore ডেটাবেসে সেভ করার সাজেশন দেওয়া হয়েছে, কারণ Chat API-এর মাধ্যমে Message সম্পদের উপর list মেথড কল করার তুলনায় এটি পারফর্ম্যান্স উন্নত করে। Chat অ্যাপ যখনই কোনও প্রশ্নের উত্তর দেয়, তখন এটি করা হয়। এছাড়াও, list messagesবারবার কল করলে, Chat অ্যাপের এপিআই কোটা সীমা অতিক্রম করতে পারে।

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

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

সমস্যার সমাধান করুন

Google Chat অ্যাপ বা কার্ড কোনও সমস্যার মেসেজ দেখালে, Chat ইন্টারফেস "কিছু সমস্যা হয়েছে" লেখা মেসেজ দেখায়। অথবা "আপনার অনুরোধ প্রসেস করা যায়নি" কখনও কখনও Chat UI কোনও সমস্যার মেসেজ না দেখালেও, Chat অ্যাপ বা কার্ড অপ্রত্যাশিত ফলাফল দেয়; যেমন, কার্ড মেসেজ দেখানো নাও হতে পারে।

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

অপ্রয়োজনীয়গুলি মুছুন

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

  1. Google API কনসোলে, রিসোর্স ম্যানেজ করুন পৃষ্ঠায় যান। মেনু > IAM ও অ্যাডমিন > রিসোর্স ম্যানেজ করুন বিকল্পে ক্লিক করুন।

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

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