১. শুরু করার আগে
ফায়ারবেস এক্সটেনশন আপনাকে খুব কম কোড ব্যবহার করে আপনার অ্যাপে আগে থেকে তৈরি বিভিন্ন কার্যকারিতা যোগ করার সুযোগ দেয় – এমনকি এআই-চালিত কার্যকারিতাও। এই কোডল্যাবটি আপনাকে দেখাবে কীভাবে একটি ওয়েব অ্যাপে দুটি ফায়ারবেস এক্সটেনশন ইন্টিগ্রেট করতে হয়, যাতে আপনি জেমিনি এপিআই ব্যবহার করে প্রদত্ত প্রেক্ষাপট এবং ব্যবহারকারীর ইনপুটের উপর ভিত্তি করে ছবির বিবরণ, সারসংক্ষেপ এবং এমনকি ব্যক্তিগতকৃত সুপারিশ তৈরি করতে পারেন।
এই কোডল্যাবে আপনি শিখবেন, কীভাবে ফায়ারবেস এক্সটেনশন ব্যবহার করে আকর্ষণীয় ইউজার এক্সপেরিয়েন্স প্রদানকারী একটি এআই-চালিত ওয়েব অ্যাপ তৈরি করতে হয়।
পূর্বশর্ত
- Node.js, Next.js, এবং TypeScript সম্পর্কে জ্ঞান।
আপনি যা শিখবেন
- জেমিনি এপিআই-এর জন্য ভাষা প্রক্রিয়াকরণে কীভাবে ফায়ারবেস এক্সটেনশন ব্যবহার করবেন
- আপনার ল্যাঙ্গুয়েজ মডেলের জন্য একটি অগমেন্টেড কনটেক্সট তৈরি করতে কীভাবে ক্লাউড ফাংশনস ফর ফায়ারবেস ব্যবহার করবেন।
- ফায়ারবেস এক্সটেনশন দ্বারা উৎপাদিত আউটপুট অ্যাক্সেস করতে জাভাস্ক্রিপ্ট কীভাবে ব্যবহার করবেন।
আপনার যা যা লাগবে
- আপনার পছন্দের একটি ব্রাউজার, যেমন গুগল ক্রোম
- কোড এডিটর এবং টার্মিনাল সহ একটি উন্নয়ন পরিবেশ
- আপনার ফায়ারবেস প্রজেক্ট তৈরি ও পরিচালনার জন্য একটি গুগল অ্যাকাউন্ট।
২. ওয়েব অ্যাপ, ফায়ারবেস সার্ভিস এবং এক্সটেনশনগুলো পর্যালোচনা করুন।
এই অংশে, আপনি এই কোডল্যাবের সাহায্যে যে ওয়েব অ্যাপটি তৈরি করবেন তা পর্যালোচনা করবেন এবং সেইসাথে আপনার ব্যবহৃত ফায়ারবেস সার্ভিস ও ফায়ারবেস এক্সটেনশনগুলো সম্পর্কেও জানবেন।
ওয়েব অ্যাপ
এই কোডল্যাবে, আপনি Friendly Conf নামের একটি ওয়েব অ্যাপ তৈরি করবেন।
ফ্রেন্ডলি কনফারেন্স কর্তৃপক্ষ তাদের অংশগ্রহণকারীদের জন্য একটি আনন্দদায়ক ও ব্যক্তিগতকৃত ব্যবহারকারী অভিজ্ঞতা তৈরি করতে এআই (AI) ব্যবহার করার সিদ্ধান্ত নেয়। সম্পূর্ণ কনফারেন্স অ্যাপটি অংশগ্রহণকারীদের একটি কথোপকথনমূলক এআই চ্যাটবট প্রদান করে, যা একটি মাল্টিমোডাল জেনারেটিভ এআই মডেল (যা লার্জ ল্যাঙ্গুয়েজ মডেল বা এলএলএম নামেও পরিচিত) দ্বারা চালিত। এটি কনফারেন্সের সময়সূচী ও বিষয়বস্তু অনুসারে সাধারণ বিষয় নিয়ে করা প্রশ্নের উত্তর দিতে পারে। চ্যাটবটটির কাছে বর্তমান তারিখ/সময় এবং ফ্রেন্ডলি কনফারেন্সের বিষয় ও সময়সূচী সম্পর্কে ঐতিহাসিক প্রেক্ষাপট ও জ্ঞান থাকে, ফলে এর উত্তরগুলো এই সমস্ত প্রেক্ষাপটকে বিবেচনায় নিতে পারে।

ফায়ারবেস পরিষেবা
এই কোডল্যাবে আপনি অনেক ফায়ারবেস সার্ভিস ও ফিচার ব্যবহার করবেন এবং সেগুলোর জন্য প্রয়োজনীয় বেশিরভাগ স্টার্টার কোড আপনাকে সরবরাহ করা হয়েছে। নিচের টেবিলে আপনি যে সার্ভিসগুলো ব্যবহার করবেন এবং সেগুলো ব্যবহারের কারণগুলো উল্লেখ করা হয়েছে।
পরিষেবা | ব্যবহারের কারণ |
আপনি ওয়েব অ্যাপের জন্য গুগল দিয়ে সাইন-ইন করার সুবিধাটি ব্যবহার করেন। | |
আপনি ক্লাউড ফায়ারস্টোরে টেক্সট ডেটা সংরক্ষণ করেন, যা পরবর্তীতে ফায়ারবেস এক্সটেনশন দ্বারা প্রক্রিয়াজাত করা হয়। | |
ওয়েব অ্যাপের মধ্যে ইমেজ গ্যালারি প্রদর্শন করার জন্য আপনি ক্লাউড স্টোরেজ থেকে ডেটা পড়েন এবং লেখেন। | |
আপনার Firebase পরিষেবাগুলিতে অ্যাক্সেস সুরক্ষিত করতে আপনি নিরাপত্তা নিয়মগুলি প্রয়োগ করেন। | |
আপনি এআই-সম্পর্কিত ফায়ারবেস এক্সটেনশনগুলো কনফিগার ও ইনস্টল করেন এবং ওয়েব অ্যাপের মধ্যে ফলাফলগুলো প্রদর্শন করেন। | |
বোনাস: ফায়ারবেস হোস্টিং | আপনি চাইলে আপনার ওয়েব অ্যাপ পরিবেশন করার জন্য ফায়ারবেস হোস্টিং ব্যবহার করতে পারেন (গিটহাব রিপো ছাড়াই)। |
বোনাস: ফায়ারবেস অ্যাপ হোস্টিং | আপনি চাইলে আপনার ডাইনামিক Next.js ওয়েব অ্যাপ (যা একটি GitHub রিপোর সাথে সংযুক্ত) পরিবেশন করার জন্য নতুন ও সুবিন্যস্ত Firebase অ্যাপ হোস্টিং ব্যবহার করতে পারেন। |
ফায়ারবেস এক্সটেনশন
এই কোডল্যাবে আপনি যে ফায়ারবেস এক্সটেনশনগুলো ব্যবহার করবেন, সেগুলো হলো:
এক্সটেনশনগুলো উপকারী, কারণ এগুলো আপনার ফায়ারবেস প্রজেক্টে ঘটা বিভিন্ন ঘটনার প্রতি সাড়া দেয়। এই কোডল্যাবে ব্যবহৃত উভয় এক্সটেনশনই ক্লাউড ফায়ারস্টোরের পূর্ব-কনফিগার করা কালেকশনগুলোতে নতুন ডকুমেন্ট তৈরি করার সময় সাড়া দেয়।
৩. আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন।
আপনার Node.js সংস্করণ যাচাই করুন
- আপনার টার্মিনালে যাচাই করুন যে আপনার Node.js ভার্সন 20.0.0 বা তার উচ্চতর সংস্করণ ইনস্টল করা আছে:
node -v
- আপনার কাছে যদি Node.js ভার্সন 20.0.0 বা তার উচ্চতর সংস্করণ না থাকে, তাহলে সর্বশেষ LTS সংস্করণটি ডাউনলোড করে ইনস্টল করুন ।
কোডল্যাবের সোর্স কোডটি সংগ্রহ করুন।
আপনার যদি গিটহাব অ্যাকাউন্ট থাকে:
- github.com/FirebaseExtended/codelab-gemini-api-extensions থেকে আমাদের টেমপ্লেট ব্যবহার করে একটি নতুন রিপোজিটরি তৈরি করুন।

- আপনার এইমাত্র তৈরি করা কোডল্যাবের গিটহাব রিপোজিটরিটি ক্লোন করুন:
git clone https://github.com/<your-github-handle>/codelab-gemini-api-extensions
যদি আপনার গিট ইনস্টল করা না থাকে অথবা আপনি নতুন রিপো তৈরি করতে না চান:
গিটহাব রিপোজিটরিটি একটি জিপ ফাইল হিসেবে ডাউনলোড করুন ।
ফোল্ডার কাঠামো পর্যালোচনা করুন
রুট ফোল্ডারে একটি README.md ফাইল রয়েছে, যেখানে সহজ নির্দেশাবলীর মাধ্যমে ওয়েব অ্যাপটি দ্রুত চালানো শুরু করার উপায় দেওয়া আছে। তবে, আপনি যদি প্রথমবারের মতো শিখছেন, তাহলে আপনার কুইকস্টার্টের পরিবর্তে এই কোডল্যাবটি সম্পূর্ণ করা উচিত, কারণ এতে সবচেয়ে বিস্তারিত নির্দেশাবলী রয়েছে।
এই কোডল্যাব জুড়ে নির্দেশনা অনুযায়ী আপনি সঠিকভাবে কোড প্রয়োগ করেছেন কিনা, সে বিষয়ে যদি আপনি অনিশ্চিত থাকেন, তাহলে সমাধান কোডটি end গিট ব্রাঞ্চে খুঁজে নিতে পারেন।
Firebase CLI ইনস্টল করুন
- নিশ্চিত করুন যে আপনার Firebase CLI ইনস্টল করা আছে এবং এর সংস্করণটি 13.6 বা তার বেশি:
firebase --version
- আপনার যদি Firebase CLI ইনস্টল করা থাকে, কিন্তু সেটির ভার্সন 13.6 বা তার বেশি না হয়, তাহলে তা আপডেট করুন:
npm update -g firebase-tools
- আপনার যদি Firebase CLI ইনস্টল করা না থাকে, তবে এটি ইনস্টল করুন:
npm install -g firebase-tools
অনুমতি সংক্রান্ত ত্রুটির কারণে আপনি যদি Firebase CLI আপডেট বা ইনস্টল করতে না পারেন, তাহলে npm ডকুমেন্টেশন দেখুন অথবা অন্য কোনো ইনস্টলেশন বিকল্প ব্যবহার করুন।
ফায়ারবেসে লগ ইন করুন
- আপনার টার্মিনালে,
codelab-gemini-api-extensionsফোল্ডারে যান এবং Firebase-এ লগ ইন করুন: যদি আপনার টার্মিনালে দেখায় যে আপনি ইতিমধ্যেই ফায়ারবেসে লগ ইন করেছেন, তাহলে আপনি এই কোডল্যাবের 'আপনার ফায়ারবেস প্রজেক্ট সেট আপ করুন' অংশে চলে যেতে পারেন।cd codelab-gemini-api-extensions firebase login
- আপনার টার্মিনালে, ফায়ারবেস ডেটা সংগ্রহ করুক তা আপনি চান কিনা তার উপর নির্ভর করে
YঅথবাNলিখুন। (এই কোডল্যাবের জন্য উভয় বিকল্পই কাজ করবে) - আপনার ব্রাউজারে আপনার গুগল অ্যাকাউন্টটি নির্বাচন করুন এবং 'অনুমতি দিন'- এ ক্লিক করুন।
৪. আপনার ফায়ারবেস প্রজেক্ট সেট আপ করুন।
এই অংশে, আপনি একটি ফায়ারবেস প্রজেক্ট সেট আপ করবেন এবং এতে একটি ফায়ারবেস ওয়েব অ্যাপ রেজিস্টার করবেন। এছাড়াও, এই কোডল্যাবের পরবর্তী অংশে আপনি নমুনা ওয়েব অ্যাপে ব্যবহৃত কয়েকটি ফায়ারবেস সার্ভিসও সক্রিয় করবেন।
এই বিভাগের সমস্ত ধাপ ফায়ারবেস কনসোলে সম্পন্ন করা হয়।
একটি ফায়ারবেস প্রজেক্ট তৈরি করুন
- পূর্ববর্তী ধাপে ব্যবহৃত একই গুগল অ্যাকাউন্ট দিয়ে ফায়ারবেস কনসোলে সাইন ইন করুন।
- নতুন প্রজেক্ট তৈরি করতে বাটনটিতে ক্লিক করুন এবং তারপর একটি প্রজেক্টের নাম লিখুন (উদাহরণস্বরূপ,
AI Extensions Codelab)। - চালিয়ে যান-এ ক্লিক করুন।
- অনুরোধ করা হলে, Firebase-এর শর্তাবলী পর্যালোচনা করে গ্রহণ করুন এবং তারপর 'চালিয়ে যান' (Continue ) বোতামে ক্লিক করুন।
- (ঐচ্ছিক) Firebase কনসোলে AI সহায়তা সক্রিয় করুন (Firebase-এ এটিকে "Gemini" বলা হয়)।
- এই কোডল্যাবের জন্য আপনার গুগল অ্যানালিটিক্স-এর প্রয়োজন নেই , তাই গুগল অ্যানালিটিক্স অপশনটি বন্ধ করে দিন ।
- Create project-এ ক্লিক করুন, আপনার প্রজেক্টটি প্রস্তুত হওয়া পর্যন্ত অপেক্ষা করুন, এবং তারপর Continue-তে ক্লিক করুন।
আপনার ফায়ারবেস প্রাইসিং প্ল্যান আপগ্রেড করুন
Firebase এক্সটেনশন (এবং এর অন্তর্নিহিত ক্লাউড পরিষেবাগুলো) ও Firebase-এর জন্য ক্লাউড স্টোরেজ ব্যবহার করতে হলে, আপনার Firebase প্রজেক্টটিকে পে-অ্যাজ-ইউ-গো (Blaze) প্রাইসিং প্ল্যানে থাকতে হবে, যার অর্থ হলো এটি একটি ক্লাউড বিলিং অ্যাকাউন্টের সাথে সংযুক্ত থাকবে।
- ক্লাউড বিলিং অ্যাকাউন্টের জন্য ক্রেডিট কার্ডের মতো একটি পেমেন্ট পদ্ধতি প্রয়োজন।
- আপনি যদি Firebase এবং Google Cloud-এ নতুন হন, তাহলে যাচাই করে দেখুন আপনি $300 ক্রেডিট এবং একটি ফ্রি ট্রায়াল ক্লাউড বিলিং অ্যাকাউন্টের জন্য যোগ্য কিনা।
- আপনি যদি কোনো ইভেন্টের অংশ হিসেবে এই কোডল্যাবটি করে থাকেন, তাহলে আপনার আয়োজককে জিজ্ঞাসা করুন কোনো ক্লাউড ক্রেডিট পাওয়া যাবে কিনা।
আরও মনে রাখবেন যে, আপনার Firebase প্রজেক্টে বিলিং চালু থাকলে, এক্সটেনশনটি Gemini API-তে যে কলগুলো করবে তার জন্য আপনাকে চার্জ করা হবে (আপনি Google AI বা Vertex AI, যে প্রোভাইডারই বেছে নিন না কেন)। Google AI এবং Vertex AI- এর মূল্য নির্ধারণ সম্পর্কে আরও জানুন।
আপনার প্রজেক্টটি ব্লেজ প্ল্যানে আপগ্রেড করতে, এই ধাপগুলো অনুসরণ করুন:
- Firebase কনসোলে, আপনার প্ল্যান আপগ্রেড করতে নির্বাচন করুন।
- ব্লেজ প্ল্যানটি নির্বাচন করুন। আপনার প্রোজেক্টের সাথে একটি ক্লাউড বিলিং অ্যাকাউন্ট লিঙ্ক করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।
এই আপগ্রেডের অংশ হিসেবে যদি আপনার একটি ক্লাউড বিলিং অ্যাকাউন্ট তৈরি করার প্রয়োজন হয়ে থাকে, তাহলে আপগ্রেডটি সম্পন্ন করার জন্য আপনাকে ফায়ারবেস কনসোলের আপগ্রেড ফ্লো-তে ফিরে যেতে হতে পারে।
আপনার ফায়ারবেস প্রজেক্টে একটি ওয়েব অ্যাপ যোগ করুন
- আপনার Firebase প্রজেক্টের Project Overview স্ক্রিনে যান এবং তারপর ক্লিক করুন।
ওয়েব । 
- অ্যাপের ডাকনাম লেখার বক্সে, মনে রাখার মতো একটি ডাকনাম লিখুন, যেমন
My AI Extensions - রেজিস্টার অ্যাপে ক্লিক করুন > পরবর্তী > পরবর্তী > কনসোলে যান ।
ওয়েব অ্যাপ ফ্লো-তে 'হোস্টিং' সম্পর্কিত সমস্ত ধাপ আপনি বাদ দিতে পারেন, কারণ এই কোডল্যাবের পরবর্তী অংশে আপনি ঐচ্ছিকভাবে একটি হোস্টিং পরিষেবা সেট আপ করবেন।

চমৎকার! আপনি এখন আপনার নতুন ফায়ারবেস প্রজেক্টে একটি ওয়েব অ্যাপ রেজিস্টার করেছেন।
ফায়ারবেস অথেন্টিকেশন সেট আপ করুন
- বাম দিকের নেভিগেশন প্যানেল ব্যবহার করে অথেনটিকেশন -এ যান।
- শুরু করতে ক্লিক করুন।
- অতিরিক্ত প্রদানকারী কলামে, Google > সক্ষম করুন- এ ক্লিক করুন।

- প্রজেক্টের পাবলিক-ফেসিং নামের টেক্সট বক্সে একটি মানানসই নাম লিখুন, যেমন
My AI Extensions Codelab। - প্রজেক্টের জন্য সাপোর্ট ইমেল মেনুতে আপনার ইমেল ঠিকানাটি নির্বাচন করুন।
- সংরক্ষণ করুন- এ ক্লিক করুন।

ক্লাউড ফায়ারস্টোর সেট আপ করুন
- Firebase কনসোলের বাম প্যানেলে, Build প্রসারিত করুন এবং তারপরে Firestore database নির্বাচন করুন।
- ডাটাবেস তৈরি করুন -এ ক্লিক করুন।
- ডাটাবেস আইডি
(default)হিসেবেই রাখুন। - আপনার ডেটাবেসের জন্য একটি অবস্থান নির্বাচন করুন, তারপর 'পরবর্তী' বোতামে ক্লিক করুন।
একটি বাস্তব অ্যাপের জন্য, আপনি এমন একটি অবস্থান বেছে নিতে চাইবেন যা আপনার ব্যবহারকারীদের কাছাকাছি। - টেস্ট মোডে স্টার্ট-এ ক্লিক করুন। নিরাপত্তা নিয়মাবলী সম্পর্কিত দাবিত্যাগটি পড়ুন।
এই কোডল্যাবের পরবর্তী অংশে, আপনি আপনার ডেটা সুরক্ষিত করার জন্য সিকিউরিটি রুলস যোগ করবেন। আপনার ডেটাবেসের জন্য সিকিউরিটি রুলস যোগ না করে কোনো অ্যাপ সর্বজনীনভাবে বিতরণ বা প্রকাশ করবেন না । - তৈরি করুন- এ ক্লিক করুন।
ফায়ারবেসের জন্য ক্লাউড স্টোরেজ সেট আপ করুন
- Firebase কনসোলের বাম প্যানেলে, Build প্রসারিত করুন এবং তারপর Storage নির্বাচন করুন।
- শুরু করতে ক্লিক করুন।
- আপনার ডিফল্ট স্টোরেজ বাকেটের জন্য একটি অবস্থান নির্বাচন করুন।
US-WEST1,US-CENTRAL1, এবংUS-EAST1এর বাকেটগুলো গুগল ক্লাউড স্টোরেজের 'অলওয়েজ ফ্রি' টায়ারের সুবিধা নিতে পারবে। অন্য সব অবস্থানের বাকেটগুলো গুগল ক্লাউড স্টোরেজের মূল্য এবং ব্যবহারবিধি অনুসরণ করবে। - টেস্ট মোডে স্টার্ট-এ ক্লিক করুন। নিরাপত্তা নিয়মাবলী সম্পর্কিত দাবিত্যাগটি পড়ুন।
এই কোডল্যাবের পরবর্তী অংশে, আপনি আপনার ডেটা সুরক্ষিত করার জন্য নিরাপত্তা নিয়ম যোগ করবেন। আপনার স্টোরেজ বাকেটের জন্য নিরাপত্তা নিয়ম যোগ না করে কোনো অ্যাপ সর্বজনীনভাবে বিতরণ বা প্রকাশ করবেন না । - তৈরি করুন- এ ক্লিক করুন।
এই কোডল্যাবের পরবর্তী অংশে, আপনি দুটি ফায়ারবেস এক্সটেনশন ইনস্টল ও কনফিগার করবেন, যেগুলো এই কোডল্যাব জুড়ে ওয়েব অ্যাপে ব্যবহার করা হবে।
৫. ‘Build Chatbot with the Gemini API’ এক্সটেনশনটি সেট আপ করুন।
'Build Chatbot with the Gemini API' এক্সটেনশনটি ইনস্টল করুন
- ""Build Chatbot with the Gemini API" এক্সটেনশনটিতে যান।
- Firebase কনসোলে Install-এ ক্লিক করুন।
- আপনার Firebase প্রজেক্টটি নির্বাচন করুন, এবং তারপর Next বাটনে ক্লিক করুন।
- 'Review APIs enabled and resources created' বিভাগে, আপনাকে প্রস্তাবিত যেকোনো সার্ভিসের পাশে 'Enable'-এ ক্লিক করুন এবং তারপরে 'Next'-এ ক্লিক করুন।

- আপনাকে যে অনুমতিগুলো প্রস্তাব করা হবে, সেগুলোর জন্য 'Grant' নির্বাচন করুন এবং তারপর 'Next'-এ ক্লিক করুন।

- এক্সটেনশনটি কনফিগার করুন:
- জেমিনি এপিআই প্রোভাইডার মেনুতে, আপনি গুগল এআই (Google AI) নাকি ভার্টেক্স এআই (Vertex AI)-এর জেমিনি এপিআই ব্যবহার করতে চান, তা নির্বাচন করুন। যেসব ডেভেলপার ফায়ারবেস (Firebase) ব্যবহার করেন, তাদের জন্য আমরা
Vertex AIব্যবহারের পরামর্শ দিই। - Firestore Collection Path টেক্সট বক্সে লিখুন:
users/{uid}/discussion/{discussionId}/messages।
এই কোডল্যাবের পরবর্তী ধাপগুলোতে, এই সংগ্রহে নথি যোগ করা হলে এক্সটেনশনটি জেমিনি এপিআই (Gemini API) কল করার জন্য সক্রিয় হবে। - ক্লাউড ফাংশন লোকেশন মেনুতে, আপনার পছন্দের লোকেশন নির্বাচন করুন (যেমন
Iowa (us-central1)অথবা আপনার ফায়ারস্টোর ডেটাবেসের জন্য পূর্বে নির্দিষ্ট করা লোকেশন)। - অন্যান্য সমস্ত মান তাদের ডিফল্ট অবস্থায় রাখুন।
- জেমিনি এপিআই প্রোভাইডার মেনুতে, আপনি গুগল এআই (Google AI) নাকি ভার্টেক্স এআই (Vertex AI)-এর জেমিনি এপিআই ব্যবহার করতে চান, তা নির্বাচন করুন। যেসব ডেভেলপার ফায়ারবেস (Firebase) ব্যবহার করেন, তাদের জন্য আমরা
- এক্সটেনশন ইনস্টল করুন-এ ক্লিক করুন এবং এক্সটেনশনটি ইনস্টল হওয়া পর্যন্ত অপেক্ষা করুন।
"Build Chatbot with the Gemini API" এক্সটেনশনটি ব্যবহার করে দেখুন
যদিও এই কোডল্যাবের লক্ষ্য একটি ওয়েব অ্যাপের মাধ্যমে "Build Chatbot with the Gemini API" এক্সটেনশনটির সাথে ইন্টারঅ্যাক্ট করা, তবে প্রথমে ফায়ারবেস কনসোলে এটি ব্যবহার করে এক্সটেনশনটি কীভাবে কাজ করে তা শিখে নিলে সহায়ক হবে।
যখনই users/{uid}/discussion/{discussionId}/messages কালেকশনের অধীনে একটি Firestore ডকুমেন্ট তৈরি করা হয়, তখন এই এক্সটেনশনটি সক্রিয় হয়, যা আপনি Firebase কনসোল থেকে করতে পারেন।
- Firebase কনসোলে, Firestore- এ যান এবং তারপর ক্লিক করুন।
প্রথম কলাম থেকে সংগ্রহ শুরু করুন । - কালেকশন আইডি টেক্সট বক্সে
usersলিখুন এবং তারপর নেক্সট-এ ক্লিক করুন। - ডকুমেন্ট আইডি টেক্সট বক্সে, অটো-আইডি-তে ক্লিক করুন এবং তারপরে সেভ-এ ক্লিক করুন।
-
usersসংগ্রহে, ক্লিক করুন
সংগ্রহ শুরু করুন । 
- কালেকশন আইডি টেক্সট বক্সে
messagesলিখুন এবং তারপর নেক্সট-এ ক্লিক করুন।- ডকুমেন্ট আইডি টেক্সট বক্সে অটো-আইডি-তে ক্লিক করুন।
- ফিল্ড টেক্সট বক্সে
promptলিখুন। - Value টেক্সট বক্সে,
Tell me 5 random fruitsলিখুন।
- সেভ-এ ক্লিক করুন এবং কয়েক সেকেন্ড অপেক্ষা করুন।
যখন আপনি এই ডকুমেন্টটি যোগ করেছেন, তখন এটি এক্সটেনশনটিকে জেমিনি এপিআই (Gemini API) কল করতে সক্রিয় করেছে। আপনি এইমাত্র messages কালেকশনে যে ডকুমেন্টটি যোগ করেছেন, তাতে এখন শুধু আপনার prompt নয়, আপনার কোয়েরির প্রতি মডেলের response অন্তর্ভুক্ত রয়েছে।

messages কালেকশনে আরেকটি ডকুমেন্ট যোগ করে এক্সটেনশনটি পুনরায় চালু করুন:
-
messagesসংগ্রহে, ক্লিক করুন
নথি যোগ করুন । - ডকুমেন্ট আইডি টেক্সট বক্সে অটো-আইডি-তে ক্লিক করুন।
- ফিল্ড টেক্সট বক্সে
promptলিখুন। - ভ্যালু টেক্সট বক্সে লিখুন
And now, vegetables - সেভ-এ ক্লিক করুন এবং কয়েক সেকেন্ড অপেক্ষা করুন। আপনি এইমাত্র
messagesকালেকশনে যে ডকুমেন্টটি যোগ করেছেন, তাতে এখন আপনার কোয়েরির একটিresponseঅন্তর্ভুক্ত হয়েছে।
এই প্রতিক্রিয়াটি তৈরি করার সময়, অন্তর্নিহিত জেমিনি মডেলটি আপনার পূর্ববর্তী কোয়েরি থেকে প্রাপ্ত ঐতিহাসিক জ্ঞান ব্যবহার করেছে।
৬. ওয়েব অ্যাপটি সেট আপ করুন
ওয়েব অ্যাপটি চালানোর জন্য, আপনাকে আপনার টার্মিনালে কমান্ড চালাতে হবে এবং আপনার কোড এডিটরে কোড যোগ করতে হবে।
আপনার Firebase প্রোজেক্টে চালানোর জন্য Firebase CLI সেট আপ করুন।
আপনার টার্মিনালে, নিম্নলিখিত কমান্ডটি চালিয়ে CLI-কে আপনার Firebase প্রজেক্টটি ব্যবহার করতে বলুন:
firebase use YOUR_PROJECT_ID
ফায়ারস্টোর এবং ক্লাউড স্টোরেজের জন্য নিরাপত্তা নিয়মাবলী প্রয়োগ করুন
এই কোডল্যাবের কোডবেসে আপনার জন্য আগে থেকেই এক সেট ফায়ারস্টোর সিকিউরিটি রুলস এবং ক্লাউড স্টোরেজ সিকিউরিটি রুলস লেখা আছে। এই সিকিউরিটি রুলসগুলো প্রয়োগ করলে, আপনার ফায়ারবেস প্রজেক্টের সার্ভিসগুলো অপব্যবহার থেকে আরও ভালোভাবে সুরক্ষিত থাকবে।
- নিরাপত্তা বিধিগুলো প্রয়োগ করতে, আপনার টার্মিনালে এই কমান্ডটি চালান:
firebase deploy --only firestore:rules,storage
- ক্রস-সার্ভিস রুল ব্যবহার করার জন্য ক্লাউড স্টোরেজকে IAM রোল দেওয়া হবে কিনা জানতে চাওয়া হলে,
YবাNলিখুন। (এই কোডল্যাবের জন্য যেকোনো একটি অপশনই কাজ করবে)
আপনার ওয়েব অ্যাপটিকে আপনার ফায়ারবেস প্রজেক্টের সাথে সংযুক্ত করুন।
আপনার ওয়েব অ্যাপের কোডবেসকে জানতে হবে যে এর ডেটাবেস, স্টোরেজ ইত্যাদির জন্য কোন ফায়ারবেস প্রজেক্টটি ব্যবহার করা উচিত। আপনার অ্যাপের কোডবেসে ফায়ারবেস কনফিগারেশন যোগ করার মাধ্যমে আপনি এটি করতে পারেন।
- আপনার ফায়ারবেস কনফিগারেশন সংগ্রহ করুন:
- Firebase কনসোলে, আপনার Firebase প্রজেক্টের মধ্যে থাকা প্রজেক্ট সেটিংস -এ যান।
- নিচে স্ক্রল করে 'Your apps' সেকশনে যান এবং আপনার রেজিস্টার্ড ওয়েব অ্যাপটি সিলেক্ট করুন।
- SDK সেটআপ এবং কনফিগারেশন প্যানে,
firebaseConfigconst সহ সম্পূর্ণinitializeAppকোডটি কপি করুন।
- আপনার ওয়েব অ্যাপের কোডবেসে আপনার ফায়ারবেস কনফিগারেশন যোগ করুন:
- আপনার কোড এডিটরে
src/lib/firebase/firebase.config.jsফাইলটি খুলুন। - ফাইলটির সবকিছু নির্বাচন করুন এবং আপনার কপি করা কোডটি দিয়ে প্রতিস্থাপন করুন।
- ফাইলটি সংরক্ষণ করুন।
- আপনার কোড এডিটরে
আপনার ব্রাউজারে ওয়েব অ্যাপটির প্রিভিউ দেখুন
- আপনার টার্মিনালে ডিপেন্ডেন্সিগুলো ইনস্টল করুন এবং তারপর ওয়েব অ্যাপটি চালান:
npm install npm run dev
- ওয়েব অ্যাপটি দেখার জন্য আপনার ব্রাউজারে স্থানীয়ভাবে হোস্ট করা হোস্টিং ইউআরএল-এ যান। উদাহরণস্বরূপ, বেশিরভাগ ক্ষেত্রে ইউআরএলটি হলো http://localhost:3000/ বা এর মতো কিছু।
ওয়েব অ্যাপের চ্যাটবট ব্যবহার করুন
- আপনার ব্রাউজারে, সেই ট্যাবে ফিরে যান যেখানে Friendly Conf ওয়েব অ্যাপটি চলছে।
- ‘Sign in with Google’-এ ক্লিক করুন এবং প্রয়োজন হলে আপনার Google অ্যাকাউন্টটি নির্বাচন করুন।
- সাইন ইন করার পর আপনি একটি খালি চ্যাট উইন্ডো দেখতে পাবেন।
- একটি সম্ভাষণ (যেমন
hi) টাইপ করুন, এবং তারপর সেন্ড-এ ক্লিক করুন। - চ্যাটবটের উত্তরের জন্য কয়েক সেকেন্ড অপেক্ষা করুন।
অ্যাপের চ্যাটবটটি একটি গতানুগতিক উত্তর দেয়।

অ্যাপটির জন্য চ্যাটবটটিকে বিশেষায়িত করুন।
আপনার ওয়েব অ্যাপের চ্যাটবট যখন অ্যাপ ব্যবহারকারী অংশগ্রহণকারীদের জন্য প্রতিক্রিয়া তৈরি করে, তখন সম্মেলন-সম্পর্কিত নির্দিষ্ট বিবরণ জানার জন্য অ্যাপটিতে ব্যবহৃত অন্তর্নিহিত জেমিনি মডেলটির প্রয়োজন হয়। এই প্রতিক্রিয়াগুলো নিয়ন্ত্রণ ও পরিচালনা করার অনেক উপায় আছে, এবং এই কোডল্যাবের উপ-বিভাগে আমরা আপনাকে একটি খুব সাধারণ উপায় দেখাচ্ছি, যেখানে প্রাথমিক প্রম্পটে (শুধুমাত্র ওয়েব অ্যাপ ব্যবহারকারীর ইনপুটের পরিবর্তে) 'প্রসঙ্গ' প্রদান করা হয়।
- আপনার ব্রাউজারের ওয়েব অ্যাপে, চ্যাট হিস্ট্রিতে মেসেজটির পাশে থাকা লাল 'x' বোতামটিতে ক্লিক করে কথোপকথনটি মুছে ফেলুন।
- আপনার কোড এডিটরে
src/app/page.tsxফাইলটি খুলুন। - নিচে স্ক্রোল করুন এবং ৯৩ নম্বর লাইনে বা তার কাছাকাছি থাকা
prompt: userMsgকোডটি নিচের কোড দিয়ে প্রতিস্থাপন করুন:
prompt: preparePrompt(userMsg, messages), - ফাইলটি সংরক্ষণ করুন।
- আপনার ব্রাউজারে চলমান ওয়েব অ্যাপটিতে ফিরে যান।
- আবার, একটি সম্ভাষণ (যেমন
hi) টাইপ করুন এবং তারপর সেন্ড-এ ক্লিক করুন। - চ্যাটবটের উত্তরের জন্য কয়েক সেকেন্ড অপেক্ষা করুন।

চ্যাটবটটি src/app/lib/context.md এ প্রদত্ত প্রেক্ষাপটের উপর ভিত্তি করে জ্ঞানসহ উত্তর দেয়। যদিও আপনি কোনো নির্দিষ্ট অনুরোধ টাইপ করেননি, অন্তর্নিহিত জেমিনি মডেলটি এই প্রেক্ষাপট এবং বর্তমান তারিখ/সময়ের উপর ভিত্তি করে একটি ব্যক্তিগতকৃত সুপারিশ তৈরি করে। এখন আপনি পরবর্তী প্রশ্নগুলো নির্দিষ্ট করতে এবং আরও গভীরে যেতে পারেন।
এই বিস্তারিত প্রেক্ষাপটটি চ্যাটবটের জন্য গুরুত্বপূর্ণ, কিন্তু এটি ওয়েব অ্যাপের ব্যবহারকারীকে দেখানো উচিত নয়। এটি লুকানোর উপায় নিচে দেওয়া হলো:
- আপনার কোড এডিটরে
src/app/page.tsxফাইলটি খুলুন। - নিচে স্ক্রোল করুন এবং ৫৬ নম্বর লাইনে বা তার কাছাকাছি থাকা
...doc.data(),কোডটি নিচের কোড দিয়ে প্রতিস্থাপন করুন:
...prepareMessage(doc.data()), - ফাইলটি সংরক্ষণ করুন।
- আপনার ব্রাউজারে চলমান ওয়েব অ্যাপটিতে ফিরে যান।
- পৃষ্ঠাটি পুনরায় লোড করুন।
আপনি ঐতিহাসিক প্রেক্ষাপট সহ চ্যাটবটের সাথে কথোপকথনের ক্ষমতাটিও পরীক্ষা করে দেখতে পারেন:
- ‘বার্তা টাইপ করুন ’ টেক্সট বক্সে, এই ধরনের একটি প্রশ্ন করুন:
Any other interesting talks about AI?চ্যাটবটটি একটি উত্তর দেবে। - 'বার্তা টাইপ করুন ' টেক্সট বক্সে, আগের প্রশ্নের সাথে সম্পর্কিত একটি ফলো-আপ প্রশ্ন জিজ্ঞাসা করুন:
Give me a few more details about the last one.
চ্যাটবটটি পূর্ববর্তী তথ্যের ভিত্তিতে উত্তর দেয়। যেহেতু চ্যাটের ইতিহাস এখন প্রসঙ্গের একটি অংশ, তাই চ্যাটবটটি পরবর্তী প্রশ্নগুলো বুঝতে পারে।
৭. ‘Multimodal Tasks with the Gemini API’ এক্সটেনশনটি সেট আপ করুন।
"Multimodal Tasks with the Gemini API" এক্সটেনশনটি মাল্টিমোডাল প্রম্পট সহ জেমিনি এপিআই-কে কল করে, যেগুলিতে একটি টেক্সট প্রম্পটের পাশাপাশি একটি সমর্থিত ফাইল ইউআরএল বা ক্লাউড স্টোরেজ ইউআরএল থাকে (উল্লেখ্য যে, এমনকি গুগল এআই জেমিনি এপিআই-ও তার অন্তর্নিহিত ফাইল ইউআরএল পরিকাঠামো হিসেবে একটি ক্লাউড স্টোরেজ ইউআরএল ব্যবহার করে)। টেক্সট প্রম্পটটি কাস্টমাইজ করার জন্য ক্লাউড ফায়ারস্টোর ডকুমেন্ট থেকে মান প্রতিস্থাপন করতে এক্সটেনশনটি হ্যান্ডেলবারস ভেরিয়েবলও সমর্থন করে।
আপনার অ্যাপে, যখনই আপনি ক্লাউড স্টোরেজ বাকেটে কোনো ছবি আপলোড করবেন, আপনি একটি URL তৈরি করে সেই URL-টি একটি নতুন ক্লাউড ফায়ারস্টোর ডকুমেন্টে যোগ করতে পারেন – এর ফলে এক্সটেনশনটি একটি মাল্টিমোডাল প্রম্পট তৈরি করতে এবং জেমিনি এপিআই (Gemini API) কল করতে সক্রিয় হবে। এই কোডল্যাবের সোর্স কোডে, আমরা ইতিমধ্যেই একটি ছবি আপলোড করার এবং ফায়ারস্টোর ডকুমেন্টে URL-টি লেখার কোড দিয়ে দিয়েছি।
'Multimodal Tasks with the Gemini API' এক্সটেনশনটি ইনস্টল করুন
- "Multimodal Tasks with the Gemini API" এক্সটেনশনটিতে যান।
- Firebase কনসোলে Install-এ ক্লিক করুন।
- আপনার ফায়ারবেস প্রজেক্টটি নির্বাচন করুন।
- এক্সটেনশন কনফিগার করুন (Configure extension) বিভাগে না পৌঁছানো পর্যন্ত পরবর্তী (Next) > পরবর্তী (Next) > পরবর্তী (Next) ক্লিক করতে থাকুন।
- জেমিনি এপিআই প্রোভাইডার মেনুতে, আপনি গুগল এআই (Google AI) নাকি ভার্টেক্স এআই (Vertex AI)-এর জেমিনি এপিআই ব্যবহার করতে চান, তা নির্বাচন করুন। যেসব ডেভেলপার ফায়ারবেস (Firebase) ব্যবহার করেন, তাদের জন্য আমরা
Vertex AIব্যবহারের পরামর্শ দিই। - Firestore Collection Path টেক্সট বক্সে লিখুন:
gallery - প্রম্পট টেক্সট বক্সে লিখুন:
Please describe the provided image; if there is no image, say "no image" - ইমেজ ফিল্ড টেক্সট বক্সে লিখুন:
image - ক্লাউড ফাংশন লোকেশন মেনুতে, আপনার পছন্দের লোকেশন নির্বাচন করুন (যেমন
Iowa (us-central1)অথবা আপনার ফায়ারস্টোর ডেটাবেসের জন্য পূর্বে নির্দিষ্ট করা লোকেশন)। - অন্যান্য সমস্ত মান তাদের ডিফল্ট অবস্থায় রাখুন।
- জেমিনি এপিআই প্রোভাইডার মেনুতে, আপনি গুগল এআই (Google AI) নাকি ভার্টেক্স এআই (Vertex AI)-এর জেমিনি এপিআই ব্যবহার করতে চান, তা নির্বাচন করুন। যেসব ডেভেলপার ফায়ারবেস (Firebase) ব্যবহার করেন, তাদের জন্য আমরা
- এক্সটেনশন ইনস্টল করুন-এ ক্লিক করুন এবং এক্সটেনশনটি ইনস্টল হওয়া পর্যন্ত অপেক্ষা করুন।
‘Multimodal Tasks with the Gemini API’ এক্সটেনশনটি ব্যবহার করে দেখুন
যদিও এই কোডল্যাবের লক্ষ্য একটি ওয়েব অ্যাপের মাধ্যমে "Multimodal Tasks with the Gemini API" এক্সটেনশনটি ব্যবহার করা, তবে প্রথমে ফায়ারবেস কনসোলে এটি পরীক্ষা করে এক্সটেনশনটি কীভাবে কাজ করে তা শিখে নিলে সুবিধা হবে।
যখনই users/{uid}/gallery কালেকশনের অধীনে একটি ফায়ারস্টোর ডকুমেন্ট তৈরি করা হয়, তখনই এই এক্সটেনশনটি সক্রিয় হয়, যা আপনি ফায়ারবেস কনসোলে করতে পারেন। এরপর এক্সটেনশনটি ক্লাউড ফায়ারস্টোর ডকুমেন্ট থেকে ক্লাউড স্টোরেজ ইমেজ ইউআরএলটি নিয়ে জেমিনি এপিআই-তে করা একটি কলের মাল্টিমোডাল প্রম্পটের অংশ হিসেবে পাঠিয়ে দেয়।
প্রথমে, ক্লাউড স্টোরেজ বাকেটে একটি ছবি আপলোড করুন:
- আপনার Firebase প্রোজেক্টের মধ্যে Storage- এ যান।
- ক্লিক করুন
ফোল্ডার তৈরি করুন । - ফোল্ডারের নামের টেক্সট বক্সে
galleryলিখুন।
- ফোল্ডার যোগ করুন -এ ক্লিক করুন।
-
galleryফোল্ডারে, 'আপলোড ফাইল'- এ ক্লিক করুন। - আপলোড করার জন্য একটি JPEG ইমেজ ফাইল নির্বাচন করুন।
এরপরে, ছবিটির ক্লাউড স্টোরেজ ইউআরএলটি একটি ফায়ারস্টোর ডকুমেন্টে যোগ করুন (যা এক্সটেনশনটির ট্রিগার হিসেবে কাজ করবে):
- আপনার Firebase প্রোজেক্টের মধ্যে Firestore- এ যান।
- ক্লিক করুন
প্রথম কলাম থেকে সংগ্রহ শুরু করুন । - কালেকশন আইডি টেক্সট বক্সে ‘
galleryলিখুন এবং তারপর ‘Next’ বাটনে ক্লিক করুন। - সংগ্রহে একটি নথি যোগ করুন:
- ডকুমেন্ট আইডি টেক্সট বক্সে, অটো-আইডি-তে ক্লিক করুন।
- ফিল্ড টেক্সট বক্সে লিখুন:
image। ভ্যালু বক্সে, এইমাত্র আপলোড করা ছবিটির স্টোরেজ লোকেশন ইউআরআই (uri) লিখুন।
- ফিল্ড যোগ করুন -এ ক্লিক করুন।
- Field টেক্সট বক্সে লিখুন:
published। Type বক্সে boolean নির্বাচন করুন। Value বক্সেtrueনির্বাচন করুন।
- সেভ-এ ক্লিক করুন এবং কয়েক সেকেন্ড অপেক্ষা করুন।
gallery সংগ্রহে এখন একটি নথি অন্তর্ভুক্ত করা হয়েছে, যাতে আপনার জিজ্ঞাসার উত্তর রয়েছে।
ওয়েব অ্যাপের ইমেজ গ্যালারি ব্যবহার করুন
- আপনার ব্রাউজারে, সেই ট্যাবে ফিরে যান যেখানে Friendly Conf ওয়েব অ্যাপটি চলছে।
- গ্যালারি নেভিগেশন ট্যাবে ক্লিক করুন।
- আপনি আপলোড করা ছবি এবং এআই দ্বারা তৈরি বিবরণের একটি গ্যালারি দেখতে পাবেন। এতে আপনার স্টোরেজ বাকেটের
galleryফোল্ডারে আগে আপলোড করা ছবিটি থাকা উচিত। - " আপলোড " বোতামে ক্লিক করুন এবং অন্য একটি JPEG ছবি নির্বাচন করুন।
- গ্যালারিতে ছবিটি প্রদর্শিত হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন। কিছুক্ষণ পর, নতুন আপলোড করা ছবিটির জন্য এআই দ্বারা তৈরি বিবরণটিও প্রদর্শিত হবে।
এটি কীভাবে বাস্তবায়ন করা হয়েছে তার কোড বুঝতে চাইলে, ওয়েব অ্যাপের কোডবেসে থাকা src/app/gallery/page.tsx দেখুন।
৮. বোনাস: আপনার অ্যাপ্লিকেশনটি ডেপ্লয় করুন।
ফায়ারবেস একটি ওয়েব অ্যাপ্লিকেশন ডেপ্লয় করার জন্য বিভিন্ন উপায় প্রদান করে। এই কোডল্যাবের জন্য, নিম্নলিখিত বিকল্পগুলির মধ্যে একটি বেছে নিন:
- বিকল্প ১: ফায়ারবেস হোস্টিং - আপনি যদি নিজের গিটহাব রিপো তৈরি না করার সিদ্ধান্ত নেন (এবং শুধুমাত্র আপনার সোর্স কোড স্থানীয়ভাবে আপনার মেশিনে সংরক্ষণ করতে চান), তাহলে এই বিকল্পটি ব্যবহার করুন।
- বিকল্প ২: ফায়ারবেস অ্যাপ হোস্টিং - আপনি যদি আপনার নিজের গিটহাব রিপোতে কোনো পরিবর্তন পুশ করার সাথে সাথেই স্বয়ংক্রিয়ভাবে অ্যাপ ডেপ্লয়মেন্ট চান, তাহলে এই বিকল্পটি ব্যবহার করুন। এই নতুন ফায়ারবেস পরিষেবাটি বিশেষভাবে ডাইনামিক নেক্সট.জেএস (Next.js) এবং অ্যাঙ্গুলার (Angular) অ্যাপ্লিকেশনগুলির চাহিদা মেটানোর জন্য তৈরি করা হয়েছে।
বিকল্প ১: ফায়ারবেস হোস্টিং ব্যবহার করে স্থাপন করুন
আপনি যদি নিজের গিটহাব রিপো তৈরি না করার সিদ্ধান্ত নেন (এবং আপনার সোর্স কোড শুধুমাত্র আপনার মেশিনে স্থানীয়ভাবে সংরক্ষণ করতে চান), তাহলে এই বিকল্পটি ব্যবহার করুন।
- আপনার টার্মিনালে এই কমান্ডগুলো চালিয়ে Firebase Hosting চালু করুন:
firebase experiments:enable webframeworks firebase init hosting
-
Detected an existing Next.js codebase in your current directory, should we use this?—এই প্রম্পটের জন্য,Yচাপুন। -
In which region would you like to host server-side content, if applicable?—এই প্রম্পটের জন্য, ডিফল্ট অবস্থান অথবা এই কোডল্যাবে পূর্বে ব্যবহৃত অবস্থানটি নির্বাচন করুন। তারপরEnterচাপুন (অথবা macOS-এreturn)। -
Set up automatic builds and deploys with GitHub?’ এই প্রম্পটের জন্য,Nচাপুন। - এই কমান্ডটি চালিয়ে আপনার ওয়েব অ্যাপটি হোস্টিং-এ ডেপ্লয় করুন:
firebase deploy --only hosting
সব হয়ে গেছে! আপনি যদি আপনার অ্যাপ আপডেট করেন এবং সেই নতুন সংস্করণটি ডেপ্লয় করতে চান, তাহলে শুধু firebase deploy --only hosting আবার চালান এবং Firebase Hosting আপনার অ্যাপটি বিল্ড ও পুনরায় ডেপ্লয় করবে।
বিকল্প ২: ফায়ারবেস অ্যাপ হোস্টিং ব্যবহার করে স্থাপন করুন
আপনার নিজের গিটহাব রিপোতে কোনো পরিবর্তন পুশ করার সাথে সাথে স্বয়ংক্রিয়ভাবে তা ডেপ্লয়মেন্ট চাইলে এই অপশনটি ব্যবহার করুন।
- আপনার পরিবর্তনগুলো গিটহাবে কমিট করুন।
- Firebase কনসোলে, আপনার Firebase প্রজেক্টের মধ্যে থাকা App Hosting- এ যান।
- Get started > Connect to GitHub-এ ক্লিক করুন।
- আপনার গিটহাব অ্যাকাউন্ট এবং রিপোজিটরি নির্বাচন করুন। পরবর্তী বাটনে ক্লিক করুন।
- ডিপ্লয়মেন্ট সেটিং > রুট ডিরেক্টরি- তে, আপনার সোর্স কোড থাকা ফোল্ডারের নামটি লিখুন (যদি আপনার
package.jsonরিপোজিটরির রুট ডিরেক্টরিতে না থাকে)। - লাইভ ব্রাঞ্চের জন্য, আপনার গিটহাব রিপো-র প্রধান ব্রাঞ্চটি নির্বাচন করুন। নেক্সট-এ ক্লিক করুন।
- আপনার ব্যাকএন্ডের জন্য একটি আইডি দিন (যেমন,
chatbot)। - ফিনিশ এবং ডিপ্লয়-এ ক্লিক করুন।
আপনার নতুন ডেপ্লয়মেন্টটি প্রস্তুত হতে কয়েক মিনিট সময় লাগবে। আপনি ফায়ারবেস কনসোলের অ্যাপ হোস্টিং বিভাগে ডেপ্লয়মেন্টের স্ট্যাটাস দেখতে পারবেন।
এখন থেকে, আপনি যখনই আপনার গিটহাব রিপোতে কোনো পরিবর্তন পুশ করবেন, ফায়ারবেস অ্যাপ হোস্টিং স্বয়ংক্রিয়ভাবে আপনার অ্যাপটি বিল্ড এবং ডিপ্লয় করবে।
৯. উপসংহার
অভিনন্দন! তুমি এই কোডল্যাবে অনেক কিছু অর্জন করেছ!
এক্সটেনশন ইনস্টল এবং কনফিগার করা
আপনি জেনারেটিভ এআই ব্যবহার করে এমন বিভিন্ন ফায়ারবেস এক্সটেনশন কনফিগার ও ইনস্টল করতে ফায়ারবেস কনসোল ব্যবহার করেছেন। ফায়ারবেস এক্সটেনশন ব্যবহার করা সুবিধাজনক, কারণ এর জন্য আপনাকে গুগল ক্লাউড পরিষেবাগুলির সাথে অথেন্টিকেট করার জন্য অথবা ফায়ারস্টোর এবং গুগল ক্লাউড পরিষেবা ও এপিআই-এর সাথে শোনা ও ইন্টারঅ্যাক্ট করার জন্য ব্যাকএন্ড ক্লাউড ফাংশন লজিক সম্পর্কে জানতে ও প্রচুর বয়লারপ্লেট কোড লিখতে হয় না।
ফায়ারবেস কনসোল ব্যবহার করে এক্সটেনশনগুলো পরীক্ষা করা হচ্ছে
সরাসরি কোডে ঝাঁপিয়ে পড়ার পরিবর্তে, আপনি ফায়ারস্টোর বা ক্লাউড স্টোরেজের মাধ্যমে দেওয়া ইনপুটের উপর ভিত্তি করে এই genAI এক্সটেনশনগুলো কীভাবে কাজ করে তা বুঝতে সময় নিয়েছেন। কোনো এক্সটেনশনের আউটপুট ডিবাগ করার সময় এটি বিশেষভাবে সহায়ক হতে পারে।
একটি এআই-চালিত ওয়েব অ্যাপ তৈরি করা
আপনি একটি এআই-চালিত ওয়েব অ্যাপ তৈরি করেছেন যা জেমিনি মডেলের মাত্র কয়েকটি বৈশিষ্ট্য অ্যাক্সেস করতে ফায়ারবেস এক্সটেনশন ব্যবহার করে।
ওয়েব অ্যাপে, ব্যবহারকারীকে একটি ইন্টারেক্টিভ চ্যাট ইন্টারফেস প্রদান করার জন্য আপনি 'Chatbot with Gemini API' এক্সটেনশনটি ব্যবহার করেন, যেখানে কথোপকথনে অ্যাপ-নির্দিষ্ট এবং ঐতিহাসিক প্রেক্ষাপট অন্তর্ভুক্ত থাকে এবং প্রতিটি বার্তা একজন নির্দিষ্ট ব্যবহারকারীর জন্য নির্ধারিত একটি ফায়ারস্টোর ডকুমেন্টে সংরক্ষিত হয়।
ওয়েব অ্যাপটি আপলোড করা ছবিগুলোর জন্য স্বয়ংক্রিয়ভাবে ছবির বিবরণ তৈরি করতে 'Multimodal Tasks with the Gemini API' এক্সটেনশনটিও ব্যবহার করত।
পরবর্তী পদক্ষেপ
- Google AI Studio বা Vertex AI Studio- তে প্রম্পটগুলো নিয়ে পরীক্ষা করুন এবং এর বড় কনটেক্সট উইন্ডোটির সুবিধা নিন।
- এআই রিট্রিভাল অগমেন্টেড জেনারেশন (RAG) সার্চ সম্পর্কে জানুন।
- Genkit (যা একটি AI ফ্রেমওয়ার্ক সার্ভিস) ব্যবহার করে কীভাবে একটি বিদ্যমান Firebase অ্যাপে চ্যাটবট যুক্ত করা যায়, তা জানতে একটি স্ব-গতিসম্পন্ন কোডল্যাব চেষ্টা করুন।
- Firestore এবং Cloud SQL for PostgreSQL- এর সাদৃশ্য অনুসন্ধান ক্ষমতা সম্পর্কে জানুন।
- ফাংশন কলিং ব্যবহার করে আপনার চ্যাটবটকে বিদ্যমান অ্যাপে কল করতে শেখান।