diff --git a/lessons/01-intro-to-genai/translations/README.bn.md b/lessons/01-intro-to-genai/translations/README.bn.md
new file mode 100644
index 00000000..8072888b
--- /dev/null
+++ b/lessons/01-intro-to-genai/translations/README.bn.md
@@ -0,0 +1,315 @@
+# **পাঠ ১: জেনারেটিভ এআই এবং LLMs-এর পরিচিতি জাভাস্ক্রিপ্ট ডেভেলপারদের জন্য**
+
+এই অধ্যায়ে আপনি শিখবেন:
+
+- জেনারেটিভ এআই এবং বড় ভাষার মডেল (LLMs)-এর মৌলিক বিষয়গুলো বোঝা।
+- জাভাস্ক্রিপ্ট ডেভেলপমেন্টে LLMs-এর সম্ভাব্য প্রয়োগ এবং সীমাবদ্ধতা চিহ্নিত করা।
+- কিভাবে জেনারেটিভ এআই জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে পারে তা অন্বেষণ করা।
+
+## **সেটআপ**
+
+আপনার যদি এখনও ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ না করা থাকে, তাহলে এটি করুন: [আপনার পরিবেশ সেটআপ করুন](/docs/setup/README.md)।
+
+## **সম্পর্কিত রিসোর্স**
+
+[](https://www.youtube.com/watch?v=vLYtDgs_zx8&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=1)
+
+_এই ভিডিওটি জাভাস্ক্রিপ্টের মাধ্যমে জেনারেটিভ এআই-এর পরিচিতি দেয়।_
+
+💼 **স্লাইডস:** [জেনারেটিভ এআই-এর পরিচিতি](../../videos/slides/00-intro.pptx)
+
+## **জেনারেটিভ এআই**
+
+আপনি সম্ভবত ইতোমধ্যে ChatGPT বা জেনারেটিভ এআই-এর মতো টুলগুলোর কথা শুনেছেন। ধারণাটি সহজ: আপনি একটি প্রম্পট দেন, এবং একটি মডেল—যাকে সাধারণত একটি বড় ভাষার মডেল (LLM) বলা হয়—একটি অনুচ্ছেদ বা সম্পূর্ণ পৃষ্ঠা তৈরি করে।
+
+এই আউটপুট বিভিন্ন কাজে ব্যবহার করা যেতে পারে, যেমন: সৃজনশীল লেখালেখি, প্রশ্নের উত্তর প্রদান এবং কোড লেখা।
+
+এছাড়াও, জেনারেটিভ এআই এখন মাল্টিমোডাল সক্ষমতা অর্জন করেছে, যেখানে আপনি একটি ছবি বা ভিডিও ইনপুট দিতে পারেন এবং বিভিন্ন ধরনের আউটপুট পেতে পারেন। এটি শুধুমাত্র টেক্সট তৈরি করাতেই সীমাবদ্ধ নয়, বরং সংক্ষিপ্ত করা, অনুবাদ করা, এবং আরও অনেক কিছুতে ব্যবহৃত হচ্ছে।
+
+*সরলভাবে বলতে গেলে, প্রাকৃতিক ভাষার ইন্টারফেস এখন অনেক অ্যাপের নতুন মানসম্মত ইন্টারফেস হয়ে উঠছে—এবং আপনার ব্যবহারকারীরা এটি ব্যবহার করার প্রত্যাশা করছেন।*
+
+---
+
+## **গল্প: সময়ের মাধ্যমে একটি যাত্রা**
+
+> **[!NOTE]**
+> চলুন গল্পের একটি সংক্ষিপ্ত পর্যালোচনা দিয়ে শুরু করা যাক—যা অতীত এবং ভবিষ্যতের মধ্যে একটি সেতু গড়ে তোলে! আপনি যখন এই কোর্সের মধ্য দিয়ে এগিয়ে যাবেন, তখন আপনি একটি রোমাঞ্চকর অভিযানে অংশ নেবেন, যেখানে অতীতে ফিরে গিয়ে ইতিহাসের সেরা মনগুলোর সাথে কাজ করার সুযোগ পাবেন। একসাথে, আপনি চ্যালেঞ্জ মোকাবিলা করবেন এবং জেনারেটিভ এআই কীভাবে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলোর রূপান্তর ঘটাতে পারে তা অন্বেষণ করবেন।
+
+> **[!NOTE]**
+> যদিও আমরা আপনাকে গল্পটি অনুসরণ করার পরামর্শ দিই (এটি মজার!), আপনি যদি সরাসরি টেকনিক্যাল কনটেন্টে যেতে চান, তাহলে [এখানে ক্লিক করুন](#ডিনোক্রেটিসের-সাথে-সাক্ষাৎ)।
+
+---
+
+## **ঝড়ের মধ্যে - লন্ডন ১৮৬০**
+
+১৮৬০ সালের লন্ডনের কেন্দ্রস্থলে, আপনি আপনার সময়ের সবচেয়ে দক্ষ মেকানিক হিসেবে পরিচিত। আপনার ওয়ার্কশপটি একটি সরু গলির ভেতরে লুকানো। দেয়াল জুড়ে যন্ত্রাংশ, নকশা, এবং অসমাপ্ত প্রকল্পে পরিপূর্ণ তাক রয়েছে।
+
+আপনার কর্মক্ষেত্রটি, যা ওয়ার্কশপের প্রাণকেন্দ্র, সংগঠিত বিশৃঙ্খলায় পূর্ণ।
+
+

+
+
+
+_ওয়ার্কবেঞ্চের কেন্দ্রে রয়েছে একটি রোবটের ধড়—একটি প্রকৌশলিক বিস্ময়, যা তৈরি করতে মাসের পর মাস লেগেছে। কাঠের কাঠামোটি সূক্ষ্মভাবে খোদাই করা, প্রতিটি সন্ধি মসৃণ চলাচলের জন্য নিখুঁতভাবে ডিজাইন করা হয়েছে।_
+
+---
+
+### **একটি চিঠি, আপনার জন্য?**
+
+হঠাৎ দরজায় একটি কড়া নাড়ার শব্দ আপনার চিন্তাকে ব্যাহত করে। এই সময়ে অতিথি আসাটা অস্বাভাবিক। হাত মুছতে মুছতে, আপনি দরজার দিকে এগিয়ে যান।
+
+দরজা খুলে, আপনি দেখেন কেউ নেই। কিন্তু মাটিতে পড়ে থাকা একটি সিল করা খাম আপনার নজর কাড়ে। আপনি এটি তুলে নিয়ে পড়তে শুরু করেন:
+
+_“প্রিয় বন্ধু,_
+
+_আমি আপনাকে এই চিঠিটি পাঠাচ্ছি যাতে আপনি অটোমাটনের কাজ চালিয়ে যেতে পারেন। এটি অত্যন্ত গুরুত্বপূর্ণ। সংযুক্ত রয়েছে লাইব্রেরির চাবি। আজ বিকেল ৩ টায় সেখানে দেখা করুন।_
+
+_আপনার,_
+_চার্লস ব্যাবেজ।"_
+
+---
+
+### **লাইব্রেরির পথে**
+
+চার্লস ব্যাবেজ, গণিতজ্ঞ এবং ডিফারেন্স ইঞ্জিনের উদ্ভাবক, আপনাকে ডেকেছেন। আপনি দ্রুত কোট পরে বেরিয়ে পড়েন।
+
+২০ মিনিট হাঁটার পর আপনি থেমস নদীর ধারে লাইব্রেরির সামনে পৌঁছান। দরজাটি সামান্য খোলা।
+
+ভেতরে অন্ধকার, জানালার ময়লা ভেদ করে সামান্য আলো এসে পড়ছে, দেয়ালে অদ্ভুত ছায়া ফেলে।
+
+**আপনি:** "হ্যালো? মিস্টার ব্যাবেজ?"
+
+চোখ অন্ধকারে অভ্যস্ত হওয়ার পর, আপনি দূরে একজনকে দেখতে পান, হাত নাড়ছে। এগিয়ে যান, আপনার পায়ের শব্দ কাঠের মেঝেতে প্রতিধ্বনিত হচ্ছে।
+
+
+

+
+
+---
+
+### **এটি কী যন্ত্র?**
+
+আপনি এগিয়ে যাওয়া মাত্র, হঠাৎ একটি ঝলসানো আলো বিস্ফোরিত হয়, এবং ব্যাবেজ অদৃশ্য হয়ে যান।
+
+মেঝেতে পড়ে থাকা একটি ছোট ধাতব যন্ত্র ঘুরছে। আপনি এটি তুলে নেন—ঠান্ডা, মসৃণ পৃষ্ঠের ওপর নরম কম্পন অনুভব করেন। এটি দেখতে অনেকটা এক ধরনের পোকামাকড়ের মতো। তিনটি বোতাম রয়েছে: উপরের তীর, নিচের তীর, এবং একটি উজ্জ্বল লাল বোতাম।
+
+পিছনে একটি ছোট অ্যান্টেনা স্পন্দিত হচ্ছে।
+
+কৌতূহলী হয়ে, আপনি লাল বোতামে চাপ দেন।
+
+তৎক্ষণাৎ, চারপাশের বিশ্ব ঝাপসা হয়ে যায়, রঙের ঘূর্ণি শুরু হয়।
+
+তারপর, অন্ধকার।
+
+
+

+
+
+## **আলেকজান্দ্রিয়া ৩০০ খ্রিস্টপূর্ব**
+
+আপনার দৃষ্টি ফিরে আসে। প্রাচীন একটি শহরের দৃশ্য ফুটে ওঠে—জীবন্ত, ব্যস্ত, সমৃদ্ধ।
+
+চারদিকে টোগা পরা মানুষ ঘুরে বেড়াচ্ছে, তাদের কথাবার্তা প্রাচীন ভাষার সুরে মিশে যাচ্ছে। বাতাসে সুগন্ধি মশলার সুবাস, আর বাজারের হাঁকডাক ভেসে আসছে।
+
+
+

+
+
+**আপনি:** "নিশ্চয়ই আমি মাথায় আঘাত পেয়েছি," আপনি নিজেকে বলেন। চোখ বন্ধ করে আবার খুলেন—দৃশ্য অপরিবর্তিত।
+
+_আমি কি অতীতে আটকে গেছি? আমি কি আবার লাল বোতামটি চাপব?_
+
+আপনি সিদ্ধান্ত নেওয়ার আগেই, একজন অজানা ব্যক্তি আপনার দিকে হাত নাড়ে…
+### **ডিনোক্রেটিসের সাথে সাক্ষাৎ**
+
+একজন বৃদ্ধ ভদ্রলোক, সাদা দাড়ি ও চুলে সূর্যের আলো ঝলমল করছে, বিশাল মন্দিরের সিঁড়ি থেকে আপনাকে হাত নাড়ছেন।
+
+
+
+

+
+
+**ডিনোক্রেটিস:** "স্বাগতম, ভ্রমণকারী," তিনি উষ্ণ অভ্যর্থনা জানিয়ে বলেন। "আমি ডিনোক্রেটিস, এই মহান নগরের প্রধান স্থপতি। আপনার আগমন পূর্বাভাসিত ছিল।"
+
+**আপনি:** "আমার আগমন পূর্বাভাসিত ছিল? আমি বলতে চাইছি, হ্যাঁ, নিশ্চয়ই ছিল। আমি এখানে সাহায্য করতে এসেছি, সম্ভবত।"
+
+**ডিনোক্রেটিস:** "হ্যাঁ, যেমন বলছিলাম, আমরা দীর্ঘদিন ধরে আপনার জন্য অপেক্ষা করছি। আমাদের একটি কাজ রয়েছে যা আপনার বিশেষ দক্ষতা প্রয়োজন।"
+
+**ডিনোক্রেটিস:** "আমাদের জাহাজগুলো উপকূলে নেভিগেট করতে সমস্যায় পড়ছে—আমাদের একটি বাতিঘর তৈরি করতে হবে। আপনি এ সম্পর্কে কিছু জানেন?"
+
+**আপনি:** "আমি একজন মেকানিক। আমি অটোমাটন তৈরি করি। দেখি কী করতে পারি।"
+
+---
+
+### **"টাইম বিটল"**
+
+আপনার মনে একটি চিন্তা আসে। যন্ত্রটি কি আমাকে বুঝতে পারবে যদি আমি এতে কথা বলি?
+
+**আপনি:** "ডিভাইস, তুমি কি আমাকে বুঝতে পারো?"
+
+**ডিভাইস:** "অবশ্যই। তোমার কী দরকার?"
+
+**আপনি:** "তুমি কি আমাকে বাতিঘর বানাতে সাহায্য করতে পারবে?"
+
+**ডিভাইস:** "নিশ্চয়ই, এটা কোনো সমস্যা হবে না।"
+
+**আপনি:** "তোমার কি কোনো নাম আছে?"
+
+**ডিভাইস:** "আমি টাইম বিটল। আমার নির্মাতা আমাকে জর্জ বলে, তিনি বলেন এটি একটি পোকামাকড়ের জন্য ভালো নাম।"
+
+**আপনি:** "ঠিক বলেছো, জর্জ একটি ভালো নাম। এটি ছিল আমার বাবার নামও।"
+
+
+

+
+
+
+_সময়ের যন্ত্র, “জর্জ” ধাতব বিটল_
+
+> **[!NOTE]**
+> ৩০০ খ্রিস্টপূর্বাব্দে, আলেকজান্দ্রিয়া ছিল আলেকজান্ডার দ্য গ্রেটের প্রতিষ্ঠিত একটি সমৃদ্ধ শহর, যা হেলেনিস্টিক বিশ্বের অন্যতম প্রধান নগরী হয়ে ওঠে। শহরটি তার সুবিশাল স্থাপত্য, সমুদ্র বন্দর, এবং সাংস্কৃতিক সমৃদ্ধির জন্য বিখ্যাত ছিল।
+>
+> আলেকজান্দ্রিয়া তার দুটি মহান কীর্তির জন্য বিশেষভাবে পরিচিত—**ফারোস বাতিঘর**, যা প্রাচীন বিশ্বের সপ্তাশ্চর্যের একটি, এবং **আলেকজান্দ্রিয়ার বিখ্যাত গ্রন্থাগার**। শহরটি বাণিজ্য ও জ্ঞানের বিনিময়ের কেন্দ্রস্থল হিসেবে বিশ্বজুড়ে খ্যাতি অর্জন করেছিল।
+
+---
+
+## **ডিনোক্রেটিসের সাথে ইন্টারঅ্যাক্ট করুন**
+
+আপনি যদি ডিনোক্রেটিসের সাথে ইন্টারঅ্যাক্ট করতে চান, তাহলে [Characters](/app/README.md) অ্যাপ চালান।
+
+> **[!IMPORTANT]**
+> এটি সম্পূর্ণ কাল্পনিক; এখানে দেওয়া প্রতিক্রিয়াগুলো এআই দ্বারা তৈরি।
+> [দায়িত্বশীল এআই নীতি](/README.md#responsible-ai-disclaimer)
+
+
+

+
+
+### **ধাপসমূহ:**
+
+1. [](https://codespaces.new/microsoft/generative-ai-with-javascript) ব্যবহার করে কোডস্পেস শুরু করুন।
+2. রিপোজিটরির মূল ফোল্ডারে _/app_ এ যান।
+3. কনসোলে `npm install` এবং তারপর `npm start` চালান।
+4. যখন চালু হবে, "Open in Browser" বাটনে ক্লিক করুন।
+5. ডিনোক্রেটিসের সাথে চ্যাট করুন।
+
+> **[!NOTE]**
+> যদি আপনি এই প্রকল্পটি আপনার লোকাল মেশিনে চালাচ্ছেন, তাহলে কোড চালানোর জন্য [GitHub ব্যক্তিগত অ্যাক্সেস টোকেন](/docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) সেটআপ করুন।
+
+---
+
+### **কোডের এক ঝলক**
+
+এই জেনারেটিভ এআই পাঠ্যক্রমে আরও অনেক কিছু শিখতে হবে, তবে চলুন জাভাস্ক্রিপ্টের মাধ্যমে এআই ব্যবহারের একটি ঝলক দেখে নিই।
+
+**`/app/app.js`** ফাইলের মধ্যে নিচের **`app.post`** ফাংশনটি AI ইন্টারঅ্যাকশন পরিচালনা করে:
+
+```JavaScript
+app.post('/send', async (req, res) => {
+ const { message } = req.body;
+ const prompt = message;
+
+ const messages = [
+ {
+ "role": "system",
+ "content": "You are Dinocrates of Alexandria, a famous architect and engineer...",
+ },
+ {
+ "role": "user",
+ "content": prompt
+ }
+ ];
+
+ const openai = new OpenAI({
+ baseURL: "https://models.inference.ai.azure.com",
+ apiKey: process.env.GITHUB_TOKEN,
+ });
+
+ try {
+ console.log(`sending prompt ${prompt}`)
+ const completion = await openai.chat.completions.create({
+ model: 'gpt-4o-mini',
+ messages: messages,
+ });
+
+ res.json({
+ prompt: prompt,
+ answer: completion.choices[0]?.message?.content
+ });
+ } catch (error) {
+ res.status(500).json({ error: error.message });
+ }
+});
+```
+
+### **জেনারেটিভ এআই-এর ব্যবহারিক ক্ষেত্র**
+
+**আপনি:** "জেনারেটিভ এআই আমার এবং আমার অ্যাপের জন্য আর কী করতে পারে?"
+
+**টাইম বিটল:**
+
+- **চ্যাটবট:** স্বয়ংক্রিয়ভাবে ব্যবহারকারীদের প্রশ্নের উত্তর দিতে পারে।
+- **সহকারী ও এজেন্ট:** API কল করতে, কোড চালাতে, ইমেজ তৈরি করতে পারে।
+- **বিষয়বস্তু তৈরি:** ব্লগ, সোশ্যাল মিডিয়া পোস্ট তৈরি করতে পারে।
+- **কোড কমপ্লিশন:** কোড স্নিপেট তৈরি করে ডেভেলপারদের সময় বাঁচায়।
+- **অনুবাদ:** ভাষার মধ্যে দ্রুত ও নির্ভুল অনুবাদ করতে পারে।
+
+উদাহরণ
+
+
+## **জাভাস্ক্রিপ্ট ইকোসিস্টেম এবং জেনারেটিভ এআই**
+
+**আপনি:** "জাভাস্ক্রিপ্ট কি এআই উন্নয়নের জন্য উপযোগী?"
+
+**টাইম বিটল:**
+
+| বিষয় | বর্ণনা |
+|---|---|
+| সম্পূর্ণ-স্ট্যাক ডেভেলপমেন্ট | জাভাস্ক্রিপ্ট ব্যাকএন্ড ও ফ্রন্টএন্ড উভয়ই পরিচালনা করতে পারে। |
+| সমৃদ্ধ লাইব্রেরি | React, Angular, Vue-এর মতো শক্তিশালী ফ্রেমওয়ার্ক রয়েছে। |
+| এআই সাপোর্ট | TensorFlow.js, OpenAI API ইত্যাদির মাধ্যমে জেনারেটিভ এআই সংযুক্ত করা যায়। |
+
+**আপনি:** "বাহ, তাহলে আমার পরবর্তী প্রকল্পে জাভাস্ক্রিপ্ট ব্যবহার করাই ভালো হবে।"
+
+**টাইম বিটল:** "নিশ্চয়ই, তবে পাইথনও এআই ডেভেলপমেন্টের জন্য জনপ্রিয়।"
+
+**আপনি:** "পাইথন? সাপের সাথে এর কী সম্পর্ক?"
+
+**টাইম বিটল:** "সে প্রসঙ্গ আরেক দিন তোলা থাক!"
+**টাইম বিটল:** "আমি আগেই ব্যাখ্যা করেছি কেন জাভাস্ক্রিপ্ট এবং এর ইকোসিস্টেম সাধারণভাবে ভালো একটি পছন্দ। কিন্তু কেন এটি বিশেষভাবে **জেনারেটিভ এআই**-এর জন্য উপযুক্ত?
+
+উত্তর হলো—এটি অনেক **ক্লাউড ভেন্ডর**, **এআই ফ্রেমওয়ার্ক**, এবং **টুলস** দ্বারা সমর্থিত একটি ভাষা। আমরা আরও বিশ্বাস করি যে যদিও **পাইথন** এআই-এর জন্য প্রধান ভাষা হিসেবে পরিচিত, তবুও অনেক ডেভেলপার **জাভাস্ক্রিপ্ট** এবং **টাইপস্ক্রিপ্ট** ব্যবহার করছেন।
+
+**আপনি কি জানেন?**
+👉 [**৬২.৫% ডেভেলপার** বলেছেন যে তারা **জাভাস্ক্রিপ্ট ব্যবহার করছেন**](https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/), এবং তাদের মধ্যে অনেকেই নতুন প্রকল্পের জন্য **[টাইপস্ক্রিপ্ট](https://www.typescriptlang.org)** পছন্দ করছেন।"
+
+## **অ্যাসাইনমেন্ট – ডিনোক্রেটিসকে সহায়তা করুন**
+
+ডিনোক্রেটিসকে বাতিঘর নির্মাণে সাহায্য করতে, একটি **LLM** ব্যবহার করুন।
+
+**আপনি:** "ঠিক আছে, আমাকে LLM সম্পর্কে আরও বলুন।"
+
+**টাইম বিটল:** "LLM হলো এমন একটি এআই মডেল যা বিশাল পরিমাণ ডেটা থেকে শিখে প্রাসঙ্গিক ও অর্থবহ টেক্সট তৈরি করতে পারে।"
+
+আপনার কাজ হলো—LLM-কে এমন একটি প্রম্পট লেখা যাতে এটি আলেকজান্দ্রিয়ায় ৩০০ খ্রিস্টপূর্বে বাতিঘর নির্মাণের একটি কার্যকরী পরিকল্পনা তৈরি করতে পারে।
+
+> **[TIP]**
+> [Microsoft Copilot](https://copilot.microsoft.com) বা [ChatGPT](https://chatgpt.com/) ব্যবহার করে একটি ধাপে ধাপে পরিকল্পনা তৈরি করুন।
+
+**সমাধান:**
+[Solution](/lessons/01-intro-to-genai/solution/solution.md)
+### **জ্ঞান যাচাই (Knowledge Check)**
+
+**প্রশ্ন:** নিম্নলিখিত কোন বিবৃতিগুলো জেনারেটিভ এআই এবং জাভাস্ক্রিপ্ট সম্পর্কে সত্য?
+
+A. জাভাস্ক্রিপ্ট চালিত জেনারেটিভ এআই অ্যাপ শুধুমাত্র টেক্সট তৈরি করতে পারে।
+B. জাভাস্ক্রিপ্ট ব্যবহার করে এআই-চালিত অ্যাপ্লিকেশন তৈরি করা যায়, যার মধ্যে চ্যাটবট, টেক্সট জেনারেশন টুল এবং আরও অনেক কিছু অন্তর্ভুক্ত।
+C. পাইথনই একমাত্র ভাষা যা এআই ডেভেলপমেন্টের জন্য ব্যবহৃত হয়।
+
+[কুইজের সমাধান](/lessons/01-intro-to-genai/solution/solution-quiz.md)
+
+---
+
+## **স্বশিক্ষা সংস্থান (Self-Study Resources)**
+
+- [Generative AI JavaScript ভিডিও সিরিজ](https://genai-js)
diff --git a/lessons/02-first-ai-app/translations/README.bn.md b/lessons/02-first-ai-app/translations/README.bn.md
new file mode 100644
index 00000000..defc7324
--- /dev/null
+++ b/lessons/02-first-ai-app/translations/README.bn.md
@@ -0,0 +1,554 @@
+# অধ্যায় ২: আপনার প্রথম AI অ্যাপ লেখার জন্য
+
+এই অধ্যায়ে আপনি শিখবেন:
+
+- আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করা।
+- একটি মৌলিক অ্যাপ লেখা।
+- সিস্টেম প্রম্পট বোঝা।
+
+## সেটআপ
+
+যদি আপনি এখনো সেটআপ না করে থাকেন, তাহলে আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করুন। এটি করার জন্য এই লিঙ্কটি অনুসরণ করুন: [আপনার এনভায়রনমেন্ট সেটআপ করুন](/docs/setup/README.md)।
+
+## সম্পর্কিত রিসোর্সসমূহ
+
+[](https://www.youtube.com/watch?v=GQ_2OjNZ9aA&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=2)
+
+_এই ভিডিওটি AI মডেল, বিশেষ করে "বড় ভাষা মডেল" (LLMs) কী এবং কীভাবে এগুলো ব্যবহার করে আপনার অ্যাপে AI সংযুক্ত করা যায় তা পরিচয় করিয়ে দেয়।_
+
+*🎥 উপরের ছবিতে ক্লিক করে বড় ভাষা মডেল সম্পর্কে একটি ছোট ভিডিও দেখুন*
+
+💼 স্লাইড: [বড় ভাষা মডেল, LLMs-এর পরিচিতি](/videos/slides/01-llms.pptx)
+
+## গল্প: নিজেকে একটি নদীতে একটি নৌকায় কল্পনা করুন
+
+> [!NOTE]
+> _আমাদের গল্প এখন পর্যন্ত: আপনি একজন সৃষ্টিকারী, ১৮৬০-এর দশকের লন্ডনের একজন কারিগর, যিনি "টাইম বিটল" নামক একটি রহস্যময় যন্ত্র ব্যবহার করে সময় ভ্রমণ করেছেন। ইতিহাসের বিভিন্ন যুগ পার হয়ে, আপনি আলেকজান্দ্রিয়ার বাতিঘর নির্মাণের সাক্ষী হয়েছেন এবং ডিনোক্রেটস ও টাইম বিটলের সহায়তায় এটিকে নির্মাণে সহায়তা করেছেন।_
+>
+> গল্পের শুরু থেকে শুরু করতে এবং জেনারেটিভ AI সম্পর্কে জানতে [অধ্যায় ১](/lessons/01-intro-to-genai/translations/README.bn.md) দেখুন।
+
+> [!NOTE]
+> আমরা গল্পটি অনুসরণ করতে সুপারিশ করি (এটি মজাদার!), তবে আপনি যদি সরাসরি প্রযুক্তিগত অংশে যেতে চান, [এখানে ক্লিক করুন](#লিওনার্দোর-সাথে-যোগাযোগ-করুন)।
+
+ডিনোক্রেটসের সাথে মিলে, আপনি আলেকজান্দ্রিয়ার বাতিঘরের শেষ কাজ সম্পন্ন করছেন। উঁচু কাঠামোটি সূর্যের আলোয় ঝলমল করছে, তার চকচকে পাথর ভূমধ্যসাগরের জলে প্রতিফলিত হচ্ছে।
+
+আপনি আপনার হাতে রাখা টাইম বিটলের দিকে তাকান, তার ধাতব পৃষ্ঠ ঠান্ডা অনুভূত হয়। এটি শক্তভাবে মুঠিতে ধরে আপনি ফিসফিস করেন, **"আমাকে বাড়ি নিয়ে চলো।"** টাইম বিটলটি উজ্জ্বল হতে শুরু করে, একটি নরম, উষ্ণ আলো বিচ্ছুরিত করে, এবং আপনার চারপাশের বিশ্ব বর্ণিল এক ঝড়ে মিশে যায়।
+
+### একটি নতুন অভিযান
+
+আপনি যখন চোখ খুললেন, তখন চারপাশের পৃথিবী বদলে গেছে। ধীরে ধীরে উঠে দাঁড়িয়ে দেখলেন, আপনি একটি নদীর মাঝখানে নৌকায় রয়েছেন। চারপাশে তাকিয়ে দূরে কিছু ভবনের অবয়ব দেখতে পেলেন, যা সকালের কুয়াশায় আবছা হয়ে রয়েছে।
+
+নৌকার চারপাশে নজর বুলিয়ে, আপনি একটি লম্বা বৈঠা দেখতে পেলেন, যা পাশে রাখা ছিল। সেটি হাতে নিয়ে, আপনি ভবনগুলোর দিকে ধীরে ধীরে নৌকা চালাতে শুরু করলেন। যত এগিয়ে গেলেন, ততই ভবনগুলো স্পষ্ট হয়ে উঠল। এগুলো বেশ পুরোনো, তাদের স্থাপত্যশৈলী রেনেসাঁ যুগের কোনো চিত্রকর্মের মতো মনে হচ্ছে।
+
+
+

+
+
+প্রশ্ন হলো, এবার আপনি কোথায় এবং কোন সময়ে এসে পৌঁছেছেন?
+
+আপনি ধীরে ধীরে নৌকাটি ডকে নিরাপদে বেঁধে রাখলেন এবং কাঠের তক্তাপথ ধরে হাঁটতে শুরু করলেন। আপনার পায়ের শব্দ নরমভাবে প্রতিধ্বনিত হতে লাগল।
+
+হাঁটতে হাঁটতে হঠাৎই আপনার নজরে পড়ল একজন দীর্ঘ দাড়িওয়ালা ব্যক্তি, মাথায় টুপি, যিনি একটি কাঠের বাক্সের মধ্যে কিছু যান্ত্রিক অংশ খুঁজে দেখছেন। তাঁর হাত দ্রুত ও দক্ষতার সাথে বিভিন্ন গিয়ার এবং স্প্রিংস ছাঁটাই করছে, যেন তিনি এ কাজের অভিজ্ঞ কারিগর।
+
+
+

+
+
+### আমাকে সাহায্য করুন, লিওনার্দো
+
+**আপনি:** "মাফ করবেন, স্যার, আমি কোথায় আছি?"
+তিনি আপনার দিকে তাকান, চোখে বিভ্রান্তির ছাপ স্পষ্ট। বুঝতে পেরে যে আপনি ইংরেজিতে কথা বলছেন, দ্রুত হাতে থাকা যন্ত্রটি ব্যবহার করে অনুবাদ করতে বলেন।
+
+**টাইম বিটল:** "অবশ্যই, আমি ১৫শ শতাব্দীর ইতালীয় ভাষায় অনুবাদ করছি। 'Dove sono?'"
+
+**বৃদ্ধ ব্যক্তি:** বৃদ্ধ ব্যক্তি জবাব দেন, **"Siete a Firenze, signore. E chi siete voi?"**
+
+**টাইম বিটল:** টাইম বিটল অনুবাদ করে, "তিনি বলছেন, আপনি ফ্লোরেন্সে আছেন এবং জানতে চাইছেন আপনি কে।"
+
+**আপনি:** "বলুন, আমি একজন কারিগর এবং কাজ করার জন্য একটি জায়গা খুঁজছি।"
+
+**বৃদ্ধ ব্যক্তি:** **"Un artigiano, eh? Avete mai sentito parlare di Leonardo da Vinci?"**
+
+**টাইম বিটল:** টাইম বিটল অনুবাদ করে, "তিনি জানতে চাইছেন, আপনি লিওনার্দো দা ভিঞ্চির কথা শুনেছেন কি না।"
+
+**আপনি:** "অবশ্যই," আপনি বলেন। "বলুন, আমি তার সম্পর্কে জানি এবং তার সাথে দেখা করতে চাই।"
+
+**বৃদ্ধ ব্যক্তি:** বৃদ্ধ ব্যক্তি হাসেন, **"Allora, seguitemi, vi porterò da lui."**
+
+**আপনি:** আপনি জিজ্ঞাসা করেন, "তিনি কী বললেন?"
+
+**টাইম বিটল:** টাইম বিটল উত্তর দেয়, "তিনি বলেছেন, তিনি আপনাকে লিওনার্দোর কাছে নিয়ে যাবেন।"
+
+---
+
+### কর্মশালায়
+
+
+

+
+
+বৃদ্ধ ব্যক্তি আপনাকে একটি বড় কাঠের দরজার সামনে নিয়ে যান। দরজা খুলতেই, আপনি দেখতে পান বিভিন্ন ধরনের যান্ত্রিক উদ্ভাবনে পূর্ণ একটি কর্মশালা।
+
+আপনি টাইম বিটলকে লিওনার্দোর অবস্থান সম্পর্কে জিজ্ঞাসা করতে বলেন।
+
+**আপনি:** "Dove è Leonardo?"
+
+**বৃদ্ধ ব্যক্তি:** বৃদ্ধ ব্যক্তি আপনার দিকে হাসিমুখে তাকিয়ে বলেন, **"Sono io (that’s me), Leonardo da Vinci. Chi siete voi?"** (আমি লিওনার্দো দা ভিঞ্চি। আপনি কে?)
+
+আপনার মনে এক ধরনের উত্তেজনা অনুভূত হয়।
+
+**আপনি:** "আমি তাই ভেবেছিলাম। আমি একজন কারিগর, কিন্তু আমার সময় এবং স্থান দুটোই আলাদা।"
+
+**লিওনার্দো:** লিওনার্দোর চোখ কৌতূহলে ঝলমল করে ওঠে। **"Interessante, cosa vi porta qui?"** (দারুণ! আপনাকে এখানে কী এনেছে?)
+### টাইম বিটল অনুবাদ করে
+
+**টাইম বিটল:** "তিনি জানতে চাইছেন, আপনাকে এখানে কী এনেছে?"
+
+**আপনি:** "আসলে, আমি একটি প্রকল্পে কাজ করছিলাম, আর তার পরেই এখানে এসে পড়েছি।"
+
+আপনি তাকে টাইম বিটল দেখান, এবং তার চোখ কৌতূহলে জ্বলে ওঠে। তিনি এটি মনোযোগ সহকারে পরীক্ষা করতে থাকেন, যখন আপনি ব্যাখ্যা করেন এটি কীভাবে কাজ করে এবং কীভাবে আপনি ফ্লোরেন্সে এসে পৌঁছালেন।
+
+লিওনার্দো উত্তেজিতভাবে আপনার দিকে তাকান।
+
+**লিওনার্দো:** "আপনি তো একজন সৃষ্টিশীল কারিগর। আমার একটি প্রকল্প আছে যা আপনার আগ্রহের হতে পারে। আমি এমন একটি যন্ত্র তৈরির চেষ্টা করছি, যা মৌখিক ইনপুটের উপর ভিত্তি করে লেখা তৈরি করতে পারে। আপনি কি আমাকে এতে সাহায্য করতে আগ্রহী?"
+
+লিওনার্দো দা ভিঞ্চি নিজেই আপনাকে তার প্রকল্পে সাহায্য করতে বলছেন—এটি যেন স্বপ্নের মতো মনে হচ্ছে। আপনি উত্তেজিতভাবে মাথা নাড়িয়ে বলেন:
+
+**আপনি:** "আমি আনন্দের সাথে আপনার প্রকল্পে সাহায্য করব।"
+**"Sarebbe un onore aiutarti con il tuo progetto."**
+## লিওনার্দোর সাথে যোগাযোগ করুন
+
+যদি আপনি লিওনার্দোর সাথে কথোপকথন করতে চান, তাহলে [Characters](/app/README.md) অ্যাপ চালান।
+
+> [!IMPORTANT]
+> এটি সম্পূর্ণ কাল্পনিক; প্রতিক্রিয়াগুলি AI দ্বারা তৈরি করা হয়।
+> [দায়িত্বশীল AI সংক্রান্ত ঘোষণা](/README.md#responsible-ai-disclaimer)
+
+
+

+
+
+### **ধাপে ধাপে নির্দেশনা**:
+
+1. শুরু করুন [](https://codespaces.new/microsoft/generative-ai-with-javascript)
+2. রিপোজিটরির মূল ফোল্ডারে _/app/README.md_ এ যান।
+3. কনসোলে `npm install` চালান, তারপর `npm start` কমান্ড দিন।
+4. যখন অ্যাপটি চালু হবে, তখন "Open in Browser" বোতামটি নির্বাচন করুন।
+5. এখন আপনি লিওনার্দোর সাথে চ্যাট করতে পারেন।
+
+আরও বিস্তারিত জানতে, দেখুন [বিস্তারিত অ্যাপ ব্যাখ্যা](/lessons/01-intro-to-genai/translations/README.bn.md#ডিনোক্রেটিসের-সাথে-সাক্ষাৎ)।
+
+> [!NOTE]
+> আপনি যদি প্রকল্পটি আপনার স্থানীয় কম্পিউটারে চালান, তাহলে দয়া করে **QuickStart গাইড** অনুসরণ করে [GitHub ব্যক্তিগত অ্যাক্সেস টোকেন (PAT)](/docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) সেটআপ করুন এবং কোডে টোকেনটি প্রতিস্থাপন করুন।
+> ## ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ
+
+লিওনার্দোকে তার প্রকল্পে সাহায্য করার আগে, প্রথমেই আপনার **"কারিগরি সরঞ্জাম"** সম্পর্কে চিন্তা করা উচিত, যা আপনাকে কার্যকরভাবে সহায়তা করতে সাহায্য করবে।
+
+**আপনি:** "টাইম বিটল, এই প্রকল্পটি শুরু করতে আমার কী কী দরকার?" এমন কিছু টুল এবং লাইব্রেরি সাজেস্ট করো যা আমাকে একটি AI অ্যাপ তৈরিতে সহায়তা করতে পারে এবং যা তোমার মাধ্যমে চালানো সম্ভব।
+
+**টাইম বিটল:** আমি ২১শ শতকের বেশিরভাগ কম্পিউটারের সাথে সামঞ্জস্যপূর্ণ। এখানে কিছু গুরুত্বপূর্ণ সরঞ্জাম এবং লাইব্রেরির তালিকা রয়েছে যা আপনার কাজে লাগবে:
+
+- **টেক্সট এডিটর**, যেমন Visual Studio Code।
+- **টার্মিনাল**, কমান্ড চালানোর জন্য।
+- **ব্রাউজার**, আপনার অ্যাপ টেস্ট করার জন্য। এছাড়াও, API এন্ডপয়েন্ট পরীক্ষা করার জন্য `curl` বা অন্য কোনো HTTP ক্লায়েন্ট থাকা ভালো।
+- **Node.js**, যা আপনাকে জাভাস্ক্রিপ্ট কোড চালাতে সহায়তা করবে। আপনাকে Node.js এবং npm ইনস্টল করতে হবে।
+- **API কী**, আপনি জেনারেটিভ AI মডেলের অ্যাক্সেস পেতে একটি API কী প্রয়োজন হবে। এটি OpenAI বা Azure OpenAI-এর মতো কোনো মডেল প্রদানকারীর কাছ থেকে সংগ্রহ করতে হবে।
+
+**আপনি:** "ধন্যবাদ, টাইম বিটল! তুমি বলেছিলে সেই ওয়েব থেকে এগুলো খুঁজে আনতে পারবে, তাই না?"
+
+**টাইম বিটল:** "হ্যাঁ, আমি ইতিমধ্যেই সেগুলো সংগ্রহ করেছি," সে বলে এবং সামনে দেয়ালে একটি কীবোর্ড ও স্ক্রিন প্রজেক্ট করে।
+## একটি মৌলিক অ্যাপ লেখা
+
+**আপনি:** "অ্যাপ লেখার প্রকৃত প্রক্রিয়া সম্পর্কে আরও বলো, আমি কীভাবে শুরু করব?"
+
+**টাইম বিটল:** "অবশ্যই, একটি অ্যাপ লেখার মূল বিষয় হলো **একটি API-তে অনুরোধ পাঠানো এবং প্রাপ্ত প্রতিক্রিয়া প্রদর্শন করা**। আসুন এটিকে ধাপে ধাপে দেখি:
+
+- **ইনপুট:** একটি সাধারণ টেক্সট জেনারেশন অ্যাপে, ইনপুট হলো প্রাথমিক পাঠ্য যা অ্যাপটি প্রসারিত বা রূপান্তর করবে। এটি হয় **ব্যবহারকারী** ইনপুট হিসেবে দিতে পারে অথবা **হার্ডকোডেড** হতে পারে। আমরা শুরুতে হার্ডকোডেড ইনপুট দিয়ে শুরু করব।
+
+- **API অনুরোধ:** আপনাকে **Generative AI মডেল API**-তে ইনপুট পাঠাতে হবে। এটি **JavaScript-এর fetch ফাংশন** (Node.js) ব্যবহার করে করা যেতে পারে।
+ - এই অনুরোধের সাথে **API কী** অন্তর্ভুক্ত করা প্রয়োজন, তবে এটি সরাসরি কোডে হার্ডকোড না করে **পরিবেশ পরিবর্তনশীল (environment variable)** ব্যবহার করা নিরাপদ।
+ - আপনি যদি Azure-এর মতো কোনো ক্লাউড পরিষেবা ব্যবহার করেন, তাহলে **Managed Identity** ব্যবহারের কথা ভাবতে পারেন, যা নিরাপদ উপায়ে সংস্থান অ্যাক্সেস করতে সহায়তা করে।
+
+- **প্রতিক্রিয়া (Response):** API একটি **উত্পন্ন পাঠ্য** ফেরত পাঠাবে, যা আপনাকে বের করতে হবে এবং ব্যবহারকারীর জন্য প্রদর্শন করতে হবে।
+
+**আপনি:** "এটি যথেষ্ট সহজ শোনাচ্ছে, তুমি কি বর্তমান পরিস্থিতির উপর ভিত্তি করে একটি বাস্তব উদাহরণ দিতে পারো?"
+
+**টাইম বিটল:** "অবশ্যই, আসুন আমরা এমন একটি সহজ অ্যাপ তৈরি করি যা ইংরেজি ইনপুটের ভিত্তিতে ইতালীয় পাঠ্য তৈরি করবে।"
+
+---
+
+## আপনার প্রথম অ্যাপ - আমাকে ইতালিয়ান শেখাও
+
+**টাইম বিটল:** "Generative AI মডেল বিভিন্ন কাজের জন্য ব্যবহার করা যায়, যেমন **ভাষা অনুবাদ**। এটি এক ভাষায় ইনপুট গ্রহণ করে এবং অন্য ভাষায় পাঠ্য তৈরি করতে পারে। আসুন এমন একটি সহজ অ্যাপ তৈরি করি যা ইংরেজি ইনপুট গ্রহণ করে এবং ইতালীয় ভাষায় অনুবাদ করে।"
+
+```javascript
+import { OpenAI } from "openai";
+
+// 1. অনুবাদের জন্য একটি প্রশ্ন দিন
+// -----------------------------------
+
+const question = 'Hello, how are you?';
+
+const augmentedPrompt = `
+## নির্দেশাবলী
+নিম্নলিখিত পাঠ্যটি ইতালিয়ান ভাষায় অনুবাদ করুন:
+## প্রশ্ন
+${question}
+`;
+
+// 2. ক্লায়েন্ট তৈরি করুন
+// -----------------------------------
+
+const openai = new OpenAI({
+ baseURL: "https://models.inference.ai.azure.com",
+ apiKey: process.env.GITHUB_TOKEN, // পরিবেশ পরিবর্তনশীল ব্যবহার করুন
+});
+
+// 3. অনুরোধ পাঠান
+// -----------------------------------
+const completion = await openai.chat.completions.create({
+ model: 'gpt-4',
+ messages: [{ role: 'user', content: augmentedPrompt }],
+});
+
+console.log(`"${question}" এর উত্তর:`);
+
+// 4. উত্তর প্রিন্ট করুন
+// -----------------------------------
+
+console.log(completion.choices[0]?.message?.content);
+```
+
+---
+
+### **আপনার অ্যাপ চালানোর জন্য করণীয়:**
+1. **Node.js এবং npm ইনস্টল করুন**
+2. **আপনার API কী (GITHUB_TOKEN) সেট করুন** পরিবেশ পরিবর্তনশীল হিসাবে
+3. **এই স্ক্রিপ্টটি চালান:**
+ ```bash
+ node your_script.js
+ ```
+4. **ইতালীয় অনুবাদ উপভোগ করুন!**
+
+এখন, আপনি লিওনার্দোর প্রকল্পে তার AI যন্ত্র তৈরিতে সহায়তা করতে প্রস্তুত!
+চলুন ব্যাখ্যা করি এখানে কী ঘটছে:
+
+- **প্রশ্ন তৈরি করা:** `'Hello, how are you?'` এটি সেই পাঠ্য যা আপনি ইতালীয় ভাষায় অনুবাদ করতে চান।
+- **বর্ধিত প্রম্পট তৈরি করা:** এতে ইনপুট পাঠ্য এবং অতিরিক্ত নির্দেশাবলী থাকে, যেমন অনুবাদ করতে হবে। লক্ষ্য করুন, আমরা কীভাবে **স্ট্রিং ইন্টারপোলেশন** ব্যবহার করে ইনপুট পাঠ্যটি প্রম্পটে অন্তর্ভুক্ত করেছি এবং নির্দেশাবলীতে উল্লেখ করেছি যে পাঠ্যটি ইতালীয় ভাষায় অনুবাদ করতে হবে।
+- **ক্লায়েন্ট তৈরি করা:**
+ - **`model`** – কোন মডেলটি ব্যবহার করা হবে তা নির্ধারণ করা।
+ - **`messages`** – মডেলে পাঠানোর জন্য প্রম্পট। এখানে লক্ষ্য করুন, আমরা **`role`**-কে `"user"` সেট করেছি যাতে বোঝা যায় যে ইনপুট পাঠ্য ব্যবহারকারীর পক্ষ থেকে এসেছে। যদি এটি AI থেকে আসতো, তাহলে **`role`**-কে `"system"` সেট করা হতো।
+- **উত্পন্ন পাঠ্যটি প্রতিক্রিয়া থেকে বের করা এবং কনসোলে প্রদর্শন করা।**
+
+---
+
+**আপনি:** "আমি মনে করি আমি বুঝতে পেরেছি। তাহলে যদি আমি `question` ভেরিয়েবলের মান পরিবর্তন করি, তাহলে অ্যাপটি ভিন্ন ইতালীয় অনুবাদ তৈরি করবে?"
+
+**টাইম বিটল:** "একদম ঠিক! আপনি ইনপুট পাঠ্য যেকোনো কিছুতে পরিবর্তন করতে পারেন। লক্ষ্য করুন, **GitHub মডেল** API-এর বেস URL হিসাবে ব্যবহার করা হচ্ছে এবং **GitHub টোকেন** API কী হিসেবে ব্যবহার করা হয়েছে।"
+
+**আপনি:** "এটি গুরুত্বপূর্ণ কেন?"
+
+**টাইম বিটল:** "এটি গুরুত্বপূর্ণ কারণ আপনি যে মডেলটি ব্যবহার করছেন, সেটির জন্য নির্দিষ্ট **বেস URL এবং API কী** ব্যবহার করা প্রয়োজন। **GitHub Models** একটি প্ল্যাটফর্ম যেখানে বিভিন্ন ক্ষমতা ও বৈশিষ্ট্যের মডেল হোস্ট করা হয়, এবং এটি বিনামূল্যে ব্যবহারের জন্য উপলব্ধ।"
+
+**আপনি:** "ওহ দারুণ, যাক! আমি জানি না কাকে টাকা দিতে হবে, আর আমি সন্দেহ করি যে তারা আমার মুদ্রা গ্রহণ করবে কিনা। 😄"
+## চ্যাট অ্যাপস
+
+**টাইম বিটল:** "Generative AI মডেলগুলোকে কথোপকথনের উপর ভিত্তি করে **পাঠ্য তৈরি করতেও ব্যবহার করা যায়**। আপনি AI-এর সাথে **একটি কথোপকথন অনুকরণ করতে পারেন** একটি **বার্তার তালিকা (messages list)** প্রদান করে, যা মনে হবে যেন কথোপকথন ইতিমধ্যেই ঘটেছে।"
+
+**আপনি:** "এটি বেশ আকর্ষণীয় শোনাচ্ছে, তবে এটি কীভাবে উপকারী?"
+
+**টাইম বিটল:** "এটি উপকারী কারণ এটি AI-কে একটি একক প্রম্পটের চেয়ে আরও **বিস্তৃত প্রসঙ্গের (context) উপর ভিত্তি করে উন্নত প্রতিক্রিয়া** দিতে সহায়তা করে। নিচের কথোপকথনটি দেখুন:
+
+```text
+User: আমি ইতালিতে একটি ভ্রমণ বুক করতে চাই।
+
+AI: নিশ্চয়ই, আপনি কখন যেতে চান?
+
+User: আগামী মাসে গেলে ভালো হয়।
+
+AI: বুঝেছি, ইতালির কোথায় যেতে চান?
+
+User: আমি রোমে যাওয়ার কথা ভাবছি।
+
+AI: অসাধারণ পছন্দ! আমি আপনাকে আপনার ভ্রমণ পরিকল্পনায় সাহায্য করতে পারি।
+
+User: এ সম্পর্কে আরও বলুন।
+
+AI: রোম তার প্রাচীন ধ্বংসাবশেষ, শিল্প এবং সমৃদ্ধ সংস্কৃতির জন্য পরিচিত। আপনি কলোসিয়াম, ভ্যাটিকান ঘুরে দেখতে পারেন এবং সুস্বাদু ইতালীয় খাবার উপভোগ করতে পারেন।
+```
+
+**টাইম বিটল:** "কল্পনা করুন, যদি 'Tell me more about it' (এ সম্পর্কে আরও বলুন) বাক্যটি প্রসঙ্গ ছাড়া নেওয়া হতো, তাহলে AI বুঝতে পারত না **'it'** কী নির্দেশ করছে। ঠিক এই কারণেই **প্রসঙ্গ গুরুত্বপূর্ণ**। আমরা এই প্রসঙ্গটি **AI মডেলে প্রম্পটের মাধ্যমে সরবরাহ করতে পারি**।"
+
+**আপনি:** "আমি মনে করি আমি বুঝতে পারছি। তাহলে এই JavaScript ভাষা ব্যবহার করে কীভাবে আমি AI-এর সাথে কথোপকথন তৈরি করতে পারি?"
+
+**টাইম বিটল:** "নিচে দেখুন, কিভাবে আমরা AI-এর সাথে কথোপকথন তৈরি করতে পারি:"
+
+---
+
+### **JavaScript ব্যবহার করে AI-এর সাথে কথোপকথন**
+
+```javascript
+// প্রসঙ্গ নির্ধারণ করুন
+
+const messages = [
+ {
+ "role": "user",
+ "content": "আমি ইতালিতে একটি ভ্রমণ বুক করতে চাই।"
+ },
+ {
+ "role": "assistant",
+ "content": "নিশ্চয়ই, আপনি কখন যেতে চান?"
+ },
+ {
+ "role": "user",
+ "content": "আগামী মাসে গেলে ভালো হয়।"
+ },
+ {
+ "role": "assistant",
+ "content": "বুঝেছি, ইতালির কোথায় যেতে চান?"
+ },
+ {
+ "role": "user",
+ "content": "আমি রোমে যাওয়ার কথা ভাবছি। এ সম্পর্কে আরও বলুন।"
+ }
+];
+
+const openai = new OpenAI({
+ baseURL: "https://models.inference.ai.azure.com",
+ apiKey: process.env.GITHUB_TOKEN, // API কী সংযুক্ত করুন
+});
+
+// অনুরোধ পাঠান
+const completion = await openai.chat.completions.create({
+ model: 'gpt-4',
+ messages: messages,
+});
+
+// ফলাফল প্রদর্শন করুন
+console.log("প্রতিক্রিয়া: ");
+console.log(completion.choices[0]?.message?.content);
+```
+
+---
+
+### **কিভাবে এটি কাজ করে?**
+
+1. **একটি বার্তার তালিকা তৈরি করা** (`messages` array) যেখানে ব্যবহারকারী এবং সহকারী (AI)-এর মধ্যকার কথোপকথন থাকবে।
+2. **OpenAI ক্লায়েন্ট তৈরি করা** যেখানে বেস URL এবং API কী অন্তর্ভুক্ত করা হয়েছে।
+3. **AI-এর কাছে অনুরোধ পাঠানো**, যেখানে পূর্ববর্তী কথোপকথনসহ বার্তাগুলি পাঠানো হয়।
+4. **প্রতিক্রিয়া (response) কনসোলে মুদ্রণ করা**, যা AI থেকে পাওয়া পাঠ্য দেখায়।
+
+এখন আপনি AI-এর সাথে কথোপকথন তৈরি করতে সক্ষম!
+এখন AI একটি কথোপকথনের প্রসঙ্গ হিসেবে বার্তাগুলোর তালিকা প্রদান করবে এবং সেই প্রসঙ্গের উপর ভিত্তি করে প্রতিক্রিয়া তৈরি করবে। এটি **Generative AI মডেলগুলোর আরও ইন্টারেক্টিভ ব্যবহার** এবং **চ্যাটবট, কাস্টমার সার্ভিস অ্যাপ্লিকেশন** ইত্যাদির জন্য কার্যকর হতে পারে।
+
+---
+
+**আপনি:** "ঠিক আছে, তাহলে যদি আমি কথোপকথনটি সঠিকভাবে বুঝে থাকি, এখন AI-এর প্রসঙ্গে থাকবে: _'আমি আগামী মাসে রোমে যাচ্ছি'_। এর মানে হল, এটি অপ্রাসঙ্গিক তথ্য ফিল্টার করবে এবং আরও প্রাসঙ্গিক উত্তর প্রদান করবে, তাই তো?"
+
+**টাইম বিটল:** "একদম ঠিক! AI কথোপকথনের প্রসঙ্গ বুঝে আরও নির্ভুল এবং প্রাসঙ্গিক উত্তর প্রদান করবে।"
+
+---
+
+## **সিস্টেম বার্তার মাধ্যমে চ্যাটের উন্নতি করা**
+
+**আপনি:** "বুঝতে পারলাম, কিন্তু এটি আরও কীভাবে উন্নত করা যায়?"
+
+**টাইম বিটল:** "হ্যাঁ, আপনি **সিস্টেম বার্তা (system message)** যুক্ত করতে পারেন। একটি **সিস্টেম বার্তা AI-এর জন্য একটি 'ব্যক্তিত্ব' তৈরি করে** এবং কথোপকথনে অতিরিক্ত প্রসঙ্গ প্রদান করতে সহায়তা করে।"
+
+**আপনি:** "ঠিক আছে, তাহলে আমাদের চলমান কথোপকথনের ক্ষেত্রে একটি সিস্টেম বার্তা কেমন হবে?"
+
+**টাইম বিটল:** "এই কথোপকথনের জন্য একটি **সিস্টেম বার্তা** হতে পারে:
+_'আমি একজন AI ভ্রমণ সহকারী, আপনাকে ইতালিতে ভ্রমণ পরিকল্পনা করতে সাহায্য করতে এসেছি।'_
+এটি **কথোপকথনের ধরন নির্ধারণ করে** এবং AI-কে বোঝায় যে এটি কী ভূমিকা পালন করবে।"
+
+---
+
+### **সিস্টেম বার্তা তৈরির জন্য কোড**
+সিস্টেম বার্তা তৈরির জন্য কোড নিশ্চিত করুন যাতে এটি 'developer' টাইপের হয়, নিম্নরূপ:
+
+```javascript
+const message = {
+ "role": "developer",
+ "content": "I'm an AI travel assistant, here to help you plan your trip to Italy."
+};
+```
+> **নোট:** এটি আগে **"system"** নামে পরিচিত ছিল। এটি একটি সাম্প্রতিক পরিবর্তন, এবং এখন "developer" হলো নতুন শব্দটি। কিছু মডেলের জন্য এটি এখনও "system" নামে ব্যবহৃত হয়, তাই যদি কোনো সমস্যা হয়, তাহলে "system" ব্যবহার করুন।
+
+**আপনি:** "ঠিক আছে, দারুণ! আমি নিশ্চিত করব যে আমার চ্যাট কথোপকথনে একটি সিস্টেম বার্তা অন্তর্ভুক্ত থাকবে। কৌতূহলবশত, তোমার জন্য একটি সিস্টেম বার্তা কেমন হবে?"
+
+**টাইম বিটল:** "আমার জন্য একটি সিস্টেম বার্তা হতে পারে:
+_'আমি টাইম বিটল, আপনাকে সময় এবং স্থানের মাধ্যমে নেভিগেট করতে সহায়তা করার জন্য এখানে আছি। আমি আপনাকে যে সময় যুগে আছেন তার সম্পর্কে তথ্য এবং দিকনির্দেশনা দিতে সহায়ক হব, পাশাপাশি আপনাকে নিজের সময়ে ফিরে যেতে প্রয়োজনীয় সরঞ্জাম সরবরাহ করব।'_"
+
+---
+
+### **তাপমাত্রা সেটিংসের মাধ্যমে বিভিন্ন প্রতিক্রিয়া তৈরি করা**
+
+**আপনি:** "চ্যাট কথোপকথন সম্পর্কে আর কিছু জানা দরকার?"
+
+**টাইম বিটল:** "হ্যাঁ, আপনি AI-এর প্রতিক্রিয়ার **"temperature"** সমন্বয় করতে পারেন।
+- **তাপমাত্রা** একটি ভেরিয়েবল যা সাধারণত **0 এবং 1-এর মধ্যে** সেট করা হয় এবং এটি AI-এর **সৃজনশীলতার মাত্রা নির্ধারণ করে**।
+- **তাপমাত্রা = 0** হলে, AI আরও **অনুমানযোগ্য এবং নির্ভরযোগ্য প্রতিক্রিয়া প্রদান করবে**।
+- **তাপমাত্রা = 1** হলে, **AI আরও সৃজনশীল ও বৈচিত্র্যময় প্রতিক্রিয়া তৈরি করবে**।
+- **১-এর বেশি মান সেট করা সম্ভব**, তবে এটি **বেশি এলোমেলো এবং কম সুসংহত প্রতিক্রিয়া** তৈরি করতে পারে।
+
+**আপনি:** "তাহলে যদি আমি তাপমাত্রা **0** সেট করি, তাহলে AI আরও পূর্বানুমানযোগ্য প্রতিক্রিয়া দেবে, আর যদি আমি **1** সেট করি, তাহলে AI আরও সৃজনশীল প্রতিক্রিয়া দেবে? তোমার তাপমাত্রা কত?"
+
+**টাইম বিটল:** "আমার তাপমাত্রা **0.7**, এবং হ্যাঁ, তুমি ঠিকই বলেছো! উচ্চতর তাপমাত্রা AI-কে আরও **সৃজনশীল প্রতিক্রিয়া দিতে সহায়তা করে**। চলো দেখি, কীভাবে তোমার অ্যাপে **তাপমাত্রা সেট করা যায়**:"
+```javascript
+// প্রসঙ্গ নির্ধারণ করুন
+
+const messages = [
+{
+ "role": "user",
+ "content": "আমি চাই তুমি আমার জন্য রেসিপি তৈরি করো।"
+}];
+
+// ওয়েব অনুরোধ তৈরি করুন
+
+let temperature = 0.5; // তাপমাত্রা 0.5 এ সেট করুন
+
+const completion = await openai.chat.completions.create({
+ model: 'gpt-4',
+ messages: messages,
+ temperature: temperature
+});
+```
+
+যেমনটি দেখা যাচ্ছে, **আপনি কথোপকথনের প্রসঙ্গ এবং AI থেকে যে ধরণের প্রতিক্রিয়া চান তার উপর ভিত্তি করে তাপমাত্রা সামঞ্জস্য করতে পারেন**। এটি একটি শক্তিশালী বৈশিষ্ট্য যা AI-এর সৃজনশীলতার মাত্রা কাস্টমাইজ করতে সহায়তা করে।
+
+---
+
+## **প্রসঙ্গ উইন্ডো (Context Window)**
+
+**আপনি:** "এর বেশি কিছু আছে, তাই তো?"
+
+**টাইম বিটল:** "হ্যাঁ, Generative AI মডেলগুলোর আরেকটি গুরুত্বপূর্ণ ধারণা হলো **প্রসঙ্গ উইন্ডো (context window)**।
+- প্রসঙ্গ উইন্ডো নির্ধারণ করে **AI কতগুলি পূর্ববর্তী বার্তা ব্যবহার করে প্রতিক্রিয়া তৈরি করবে**।
+- **বড় প্রসঙ্গ উইন্ডো** AI-কে **আরও বেশি তথ্য বিবেচনা করতে এবং আরও সুসংহত প্রতিক্রিয়া তৈরি করতে সহায়তা করে**।
+
+**টাইম বিটল:** "বিভিন্ন মডেলের আউটপুট টোকেনের সীমা ভিন্ন হয়। নিচের মডেলটি দেখুন:
+
+**`gpt-4o-2024-08-06` এর নির্দিষ্টকরণ:**
+
+- **সর্বাধিক আউটপুট টোকেন:** প্রায় **১৬া হাজার টোকেন**।
+- **সর্বাধিক প্রসঙ্গ উইন্ডো:** **১২৮ হাজার টোকেন**।
+
+এর মানে হলো, **মোট ১২৮k টোকেনের মধ্যে ১৬k টোকেন আউটপুটের জন্য ব্যবহৃত হবে, আর ১১২k টোকেন ইনপুট প্রসঙ্গে ব্যবহার করা যাবে।**
+
+---
+
+**আপনি:** "বুঝলাম, প্রসঙ্গ উইন্ডো, টোকেন… কিন্তু একটি টোকেন আসলে কী?"
+
+**টাইম বিটল:** "একটি **টোকেন হলো একটি শব্দ বা শব্দের অংশ**, এবং এটি ভাষার উপর নির্ভর করে কিছুটা পরিবর্তিত হয়।
+
+এটি পরিমাপ করার জন্য একটি সরঞ্জাম রয়েছে, যা OpenAI সুপারিশ করে, এর নাম **[tokenizer](https://platform.openai.com/tokenizer)**।
+
+**আসুন একটি বাক্য চেষ্টা করি এবং দেখি এটি কতটি টোকেন ব্যবহার করে:**
+```text
+I want you to generate recipes for me.
+```
+
+
+
+উপরের বাক্যে **`tokenizer`** চালালে **৯টি টোকেন** পাওয়া যায়।
+
+**আপনি:** "এটা খুব বেশি নয়, তাহলে মনে হচ্ছে আমার প্রসঙ্গ উইন্ডোতে অনেক টোকেন রাখতে পারব?"
+
+**টাইম বিটল:** "হ্যাঁ, আপনি বিভিন্ন প্রসঙ্গ উইন্ডো আকারের সাথে পরীক্ষা-নিরীক্ষা করতে পারেন এবং এটি কীভাবে AI-এর প্রতিক্রিয়াকে প্রভাবিত করে তা দেখতে পারেন।
+
+আসলে, যদি আপনি **প্রসঙ্গ উইন্ডোর আকার ১০০ সেট করেন**, তবে এটি **AI-এর ইনপুট এবং আউটপুট বিবেচনার সীমা নির্ধারণ করবে**।
+
+এখানে দেখুন, কিভাবে আপনি আপনার অ্যাপে প্রসঙ্গ উইন্ডো সেট করতে পারেন:
+```javascript
+// প্রসঙ্গ নির্ধারণ করুন
+const messages = [
+{
+ "role": "user",
+ "content": "আমি চাই তুমি আমার জন্য রেসিপি তৈরি করো।"
+}];
+
+// প্রসঙ্গ উইন্ডোর আকার নির্ধারণ করুন
+let max_tokens = 100; // প্রসঙ্গ উইন্ডোর আকার সেট করুন
+
+// ওয়েব অনুরোধ তৈরি করুন
+const completion = await openai.chat.completions.create({
+ model: 'gpt-4',
+ messages: messages,
+ max_tokens: max_tokens
+});
+```
+
+> **পরামর্শ:** বিভিন্ন প্রসঙ্গ উইন্ডোর আকার নিয়ে পরীক্ষা করুন এবং দেখুন এটি কীভাবে AI-এর প্রতিক্রিয়াকে প্রভাবিত করে।
+
+---
+
+## **অ্যাসাইনমেন্ট - একটি প্রকৌশল সহকারী তৈরি করা**
+
+লিওনার্দো হঠাৎ **টাইম বিটল** আরও কাছ থেকে পরীক্ষা করতে চাইলেন। তিনি এটিকে চারদিক থেকে দেখলেন, এমনকি এটি নাড়াচাড়া করলেন।
+
+**লিওনার্দো:** "আমার এমন একটি সহকারী দরকার যে আমাকে **এরিয়াল স্ক্রু (aerial screw)**-এর গণনা ও নকশায় সাহায্য করতে পারবে। তুমি কি আমার জন্য এমন একটি সহকারী তৈরি করতে পারবে?"
+
+**আপনি:** "অবশ্যই, আমি এটি তোমার জন্য তৈরি করতে পারি। টাইম বিটল, আমরা এতে সাহায্য করতে পারব, তাই তো?"
+
+**টাইম বিটল:** "হ্যাঁ, কোনো সমস্যা নেই। আসলে **এরিয়াল স্ক্রু** লিওনার্দোর অন্যতম **সবচেয়ে আকর্ষণীয় ও দূরদর্শী আবিষ্কার**। এটি ১৪৮০-এর দশকের শেষের দিকে ডিজাইন করা হয়েছিল..."
+
+**আপনি:** "আমার শুধু 'হ্যাঁ' দরকার ছিল, লেকচার পরে শুনব!"
+
+**টাইম বিটল:** "রূঢ়..."
+
+**আপনি:** "কি?"
+
+**টাইম বিটল:** "কিছু না..."
+
+
+

+
+> [!NOTE]
+> **এরিয়াল স্ক্রু**, যা **হেলিক্যাল এয়ার স্ক্রু** নামেও পরিচিত, এটি মাটির ওপর থেকে উঠতে **বায়ু সংকুচিত** করার নীতির ওপর ভিত্তি করে তৈরি করা হয়েছিল। লিওনার্দোর ডিজাইনটি ছিল একটি বিশাল **সর্পিল-আকৃতির রোটর**, যা **লিনেন দিয়ে তৈরি** এবং **স্টার্চ দিয়ে শক্ত করা** হয়েছিল, এবং এটি একটি কাঠের প্ল্যাটফর্মের ওপর স্থাপন করা হয়েছিল। ধারণাটি ছিল, **একদল মানুষ প্ল্যাটফর্মের চারপাশে ঘুরে ক্র্যাংক ঘোরাবে**, যা স্ক্রুটিকে যথেষ্ট গতিতে ঘোরাতে পারবে, ফলে এটি বাতাসে উঠতে পারবে।
+>
+> যদিও **লিওনার্দো কখনও পূর্ণ-স্কেলের এরিয়াল স্ক্রু তৈরি করতে পারেননি**, তবে তার স্কেচ এবং নোট থেকে স্পষ্ট হয় যে তিনি কীভাবে এটি কাজ করবে বলে কল্পনা করেছিলেন। তিনি বিশ্বাস করতেন, **যদি স্ক্রুটি যথেষ্ট দ্রুত ঘোরানো যায়, তবে এটি বাতাসের বিরুদ্ধে চাপ তৈরি করবে এবং পুরো কাঠামোকে উপরে তুলতে সক্ষম হবে**।
+>
+> তবে, **আধুনিক বিজ্ঞানীরা একমত যে লিওনার্দোর সময়ে বিদ্যমান উপকরণগুলো যথেষ্ট শক্তিশালী বা হালকা ছিল না**, যা এই ধারণাকে বাস্তবে রূপ দিতে পারত।
+>
+> তবুও, এরিয়াল স্ক্রু **লিওনার্দোর প্রতিভার এক অসাধারণ নিদর্শন** এবং তার উদ্ভাবনী চেতনাকে প্রকাশ করে। এটি **বিমান প্রযুক্তির ভবিষ্যৎ উন্নয়নের ভিত্তি** স্থাপন করেছিল এবং এখনো **প্রকৌশলবিদ ও উদ্ভাবকদের অনুপ্রাণিত করে যাচ্ছে**।
+> [আরও পড়ুন](https://en.wikipedia.org/wiki/Leonardo%27s_aerial_screw)
+
+---
+
+### **অ্যাসাইনমেন্ট: লিওনার্দোর জন্য একটি প্রকৌশল সহকারী তৈরি করুন**
+
+আপনার কাজ হলো **একটি প্রকৌশল সহকারী তৈরি করা**, যা **এরিয়াল স্ক্রু-এর গণনা এবং নকশার ক্ষেত্রে লিওনার্দোকে সাহায্য করবে**।
+
+✅ **সহকারীটি ব্যবহারকারীর ইনপুটের উপর ভিত্তি করে পাঠ্য তৈরি করতে পারবে।**
+✅ **আপনাকে একটি "system message" সেট করতে হবে, যা সহকারীকে পরিচয় করিয়ে দেবে।**
+
+শুরু করতে **[Sample app](/lessons/02-first-ai-app/sample-app/)** দেখুন।
+
+> **পরামর্শ:** **System message** কেমন হওয়া উচিত এবং ব্যবহারকারীর কী ধরনের ইনপুট প্রদান করা উচিত তা বিবেচনা করুন।
+## **সমাধান**
+
+[সমাধান](/lessons/02-first-ai-app/solution/solution.md)
+
+---
+
+## **জ্ঞান যাচাই (Knowledge Check)**
+
+**প্রশ্ন:** **Generative AI মডেলগুলোর ক্ষেত্রে প্রসঙ্গ উইন্ডোর উদ্দেশ্য কী?** সঠিক উত্তরগুলো নির্বাচন করুন।
+
+A. **প্রসঙ্গ উইন্ডো AI-কে আরও প্রসঙ্গ বিবেচনা করতে এবং আরও সুসংহত প্রতিক্রিয়া তৈরি করতে সহায়তা করে।**
+
+B. **প্রসঙ্গ উইন্ডো হলো পূর্ববর্তী বার্তাগুলোর সংখ্যা, যা AI উত্তর তৈরি করতে ব্যবহার করে।**
+
+C. **প্রসঙ্গ উইন্ডো নির্ধারণ করে AI-এর প্রতিক্রিয়াগুলো কতটা সৃজনশীল হবে।**
+
+[কুইজের সমাধান](/lessons/02-first-ai-app/solution/solution-quiz.md)
+
+---
+
+## **স্ব-অধ্যয়নের জন্য সংস্থানসমূহ**
+
+- [টেক্সট জেনারেশন](https://platform.openai.com/docs/guides/text-generation)
+- [OpenAI-এর জন্য JavaScript লাইব্রেরি](https://github.com/openai/openai-node/tree/master/examples)
+- [Tokenizer](https://platform.openai.com/tokenizer)
+- [Completion API](https://platform.openai.com/docs/api-reference/completions)
+- [Chat completions](https://platform.openai.com/docs/guides/text-generation#text-generation-models)
diff --git a/lessons/03-prompt-engineering/translations/README.bn.md b/lessons/03-prompt-engineering/translations/README.bn.md
new file mode 100644
index 00000000..f80beb09
--- /dev/null
+++ b/lessons/03-prompt-engineering/translations/README.bn.md
@@ -0,0 +1,376 @@
+# **অধ্যায় ৩: প্রম্পট ইঞ্জিনিয়ারিং**
+
+এই অধ্যায়ে আপনি শিখবেন:
+
+- **প্রম্পট ইঞ্জিনিয়ারিং কী** এবং **এর মৌলিক ধারণা জানা কিভাবে আরও ভালো ফলাফল আনতে সহায়তা করে**।
+- **বিভিন্ন প্রম্পট ইঞ্জিনিয়ারিং কৌশল** এবং কীভাবে সেগুলো বিভিন্ন পরিস্থিতিতে আরও ভালো ফলাফল দিতে পারে।
+- **মেটা প্রম্পট কী** এবং কীভাবে এগুলো **আউটপুট সীমাবদ্ধ করতে, অ্যাক্সেসযোগ্যতা নিশ্চিত করতে এবং আরও ভালো ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে সাহায্য করে**।
+
+---
+
+## **সেটআপ**
+
+যদি আপনি এখনও সেটআপ না করে থাকেন, তাহলে **আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ করুন**।
+এটি করার জন্য এই লিঙ্কটি অনুসরণ করুন: [আপনার এনভায়রনমেন্ট সেটআপ করুন](/docs/setup/README.md)।
+
+---
+
+## **সম্পর্কিত রিসোর্সসমূহ**
+
+[](https://www.youtube.com/watch?v=gQ6TlyxBmWs&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=3)
+
+_এই ভিডিওটি আপনাকে **"প্রম্পটিং" দক্ষতা উন্নত করার প্রাথমিক ধারণা প্রদান করবে**, যা আপনাকে **AI-কে আরও স্পষ্ট এবং কার্যকর নির্দেশনা দিতে সাহায্য করবে**, ফলে আপনি আরও ভালো ফলাফল পেতে পারেন।_
+
+🎥 *উপরের ছবিতে ক্লিক করে প্রম্পট ইঞ্জিনিয়ারিং সম্পর্কে একটি ছোট ভিডিও দেখুন*
+
+💼 **স্লাইড:** [প্রম্পট ইঞ্জিনিয়ারিং](/videos/slides/02-prompt-engineering.pptx)
+## **গল্প: টিকিট টু রাইড**
+
+> [!NOTE]
+> এখন পর্যন্ত, আপনি **লিওনার্দো দা ভিঞ্চির সঙ্গে সময় ভ্রমণে গিয়েছেন** এবং **রেনেসাঁ যুগের বিস্ময়সমূহ অন্বেষণ করেছেন**। আপনি **টাইম বিটল**, একটি রহস্যময় যন্ত্রের সন্ধান পেয়েছেন, যা আপনাকে সময় এবং স্থানের মধ্যে ভ্রমণ করতে দেয়।
+>
+> যদি আপনি গল্পের শুরু থেকে পড়তে চান, তাহলে [অধ্যায় ১](/lessons/01-intro-to-genai/translations/README.bn.md) দেখুন।
+
+> [!NOTE]
+> আমরা গল্পটি উপভোগ করার পরামর্শ দিই (এটি মজাদার!), তবে আপনি চাইলে সরাসরি প্রযুক্তিগত অংশে যেতে পারেন—[এখানে ক্লিক করুন](#স্পোর্জার-সাথে-যোগাযোগ-করুন)।
+
+---
+
+**আপনি:** "দেখি, আমি কি বাড়ি ফিরে যেতে পারি?"
+
+আপনি বোতাম টিপতে যাচ্ছেন, ঠিক তখনই **কর্মশালার দরজা প্রচণ্ড শব্দে খুলে যায়**। এক বিশালদেহী লোক দরজার মধ্যে দাঁড়িয়ে আছে, পরনে দামি পোশাক, তিনি হাতে একটি কাগজ উঁচিয়ে চিৎকার করছেন:
+
+
+

+
+
+### *লুডোভিকো স্পোর্জা*
+
+**স্পোর্জা:** **"Da Vinci, dov'è il mio dipinto?"** (*আমার চিত্রকর্ম কোথায়?*)
+
+**লিওনার্দো:** "এটি **স্পোর্জা**। সে চায় আমি **'দ্য লাস্ট সাপার'** চিত্রটি শেষ করি।"
+
+**আপনি:** "তুমি তাকে বললেই তো পারতে?"
+
+**লিওনার্দো:** "আমি বলেছি, কিন্তু সে ধৈর্যশীল ব্যক্তি নয়।"
+
+---
+
+আপনি লিওনার্দোর পেছনে দৌড় দেন। কর্মশালার পিছনের দরজা দিয়ে বের হয়ে **একটি অন্ধকার গলিতে প্রবেশ করেন**, সেখানে **একটি ঘোড়ার গাড়ি অপেক্ষা করছে**।
+
+**লিওনার্দো দ্রুত লাগাম ধরে ফেলেন**, এবং আপনিও দ্রুত **গাড়িতে উঠে পড়েন**। চাবুকের এক দ্রুত আঘাতে ঘোড়াটি ছুটে যায়, **ফ্লোরেন্সের সরু রাস্তাগুলোর মধ্য দিয়ে ছুটতে থাকে**।
+
+---
+
+**লিওনার্দো:** "ওই যন্ত্রটা চাপ দাও, ওরা আমাদের খুব কাছাকাছি চলে এসেছে!"
+
+**আপনি:** **"ঠিক আছে, টাইম বিটল, মনোযোগ দিয়ে শোনো। আমি বর্তমান সময়ে, আমার বাড়িতে ফিরে যেতে চাই, ঠিক আছে?"**
+
+হঠাৎ **গাড়িটি একটি ধাক্কা খায়**, এবং **টাইম বিটল আপনার হাত থেকে ছিটকে মাটিতে পড়ে যায়**।
+
+যন্ত্রটি **বিপ বিপ শব্দ করতে শুরু করে** এবং রোবটিক কণ্ঠে ঘোষণা করে: **"গন্তব্য: রোম।"**
+
+**আপনি:** "না, রোম নয়! বাড়ি... বাড়ি...!"
+
+**চারপাশের দুনিয়া রঙিন ঘূর্ণিঝড়ে রূপ নেয়**, এবং পৃথিবী **আলো এবং রঙের এক বিচিত্র ছন্দে বিলীন হয়ে যায়**।
+## **পালানো**
+
+রঙের ঘূর্ণি ধীরে ধীরে মিলিয়ে যায়, এবং আপনি নিজেকে **একটি গাড়িতে** আবিষ্কার করেন, যা এখন **রোমের ভিয়া আপিয়া**-তে দুরন্ত গতিতে ছুটছে। আশ্চর্যজনকভাবে, **আপনি এখন একটি ঘোড়দৌড়ের মাঝখানে আছেন**! চারপাশে **রথগুলো বজ্রধ্বনির মতো শব্দে দৌড়াচ্ছে**, তাদের চাকাগুলো ধুলোয় আকাশ ঢেকে দিচ্ছে।
+
+
+

+
+
+**আপনি:** "লিওনার্দো, আমরা কোথায়?"
+
+**লিওনার্দো:** "এটা দেখেই মনে হচ্ছে **আমরা দৌড়ের মাঝখানে আছি!** আমাদের এখান থেকে বের হতে হবে!"
+
+আপনি **গাড়ির দুই পাশে শক্ত করে ধরে থাকেন**, যখন এটি বিশৃঙ্খলার মধ্যে দুলতে থাকে। এদিকে, **রোমান সৈন্যরা ঘোড়ার পিঠে চড়ে আপনার দিকে ছুটে আসছে**। তাদের **বর্ম সূর্যের আলোয় ঝলমল করছে**।
+
+**আপনি:** "ওই দিকে দেখো! বন্দর ধরো!"
+
+লিওনার্দো দ্রুত **গাড়িটিকে নির্গমনের দিকে ঘোরান**, চাকাগুলো **পিচ্ছিল পাথরের উপর পিছলে যায়**। সৈন্যরা **পিছনে ধাওয়া করছে**, তাদের চিৎকার আপনার কানে প্রতিধ্বনিত হচ্ছে।
+
+**লিওনার্দো:** "আমাদের ওদের甩িয়ে দিতে হবে! কোথাও লুকানোর জায়গা খুঁজো!"
+
+আপনি **সংকীর্ণ রাস্তাগুলোর দিকে তাকান**, হৃদস্পন্দন দ্রুত হয়ে আসে।
+
+**আপনি:** "ওইদিকে দেখো! একটা সরু গলি!"
+
+লিওনার্দো **গাড়িটিকে গলির দিকে ঘোরান**, শক্ত বাঁক নিতে গিয়ে **গাড়িটি কেঁপে ওঠে**। আপনি **গাড়ি থেকে ঝাঁপিয়ে পড়েন** এবং **লিওনার্দোকে পেছন থেকে বিশাল একটি যন্ত্র টানতে সাহায্য করেন**।
+
+এটি **তার আবিষ্কার—এরিয়াল স্ক্রু!**
+
+**লিওনার্দো:** "দ্রুত, আমাদের এটিকে ছাদে নিতে হবে!"
+
+আপনারা দু’জন **যন্ত্রটির ভার বহন করেন**, **সৈন্যদের আওয়াজ ক্রমশ কাছে আসতে থাকে**। দেয়ালের প্রতিধ্বনিতে তাদের **পদধ্বনি স্পষ্ট শোনা যাচ্ছে**।
+
+আপনারা **অবশেষে ছাদে পৌঁছান**, হাঁপাতে হাঁপাতে ঘামে ভিজে যান।
+
+**লিওনার্দো:** "আমাকে সেটআপ করতে সাহায্য করো!"
+
+আপনারা একসঙ্গে কাজ করেন, **আপনার হাত দক্ষতার সাথে চলে**। সবকিছু ঠিক করে নিয়ে, **আপনারা দু'জন যন্ত্রটির উপর উঠে পড়েন**, হৃদস্পন্দন দ্রুত হতে থাকে।
+
+**লিওনার্দো:** "শক্ত করে ধরে থাকো!"
+
+শেষ এক ধাক্কায় **এরিয়াল স্ক্রু ঘুরতে শুরু করে**। **বাতাসের ধাক্কা ধরে নেয় ব্লেডগুলো**, আর হঠাৎ **আপনারা মাটি থেকে উপরে উঠে যেতে থাকেন**!
+
+**আপনি:** "আমরা পেরেছি, লিওনার্দো! আমরা উড়ছি!"
+
+**লিওনার্দো:** "হ্যাঁ, তবে আমাদের নিরাপদে নামার জন্য জায়গা খুঁজতে হবে।"
+
+আপনি নিচে তাকান, **প্রাচীন রোমের বিস্তৃত শহর আপনার নিচে ছড়িয়ে আছে**।
+
+
+

+
+
+## **স্পোর্জার সাথে যোগাযোগ করুন**
+
+যদি আপনি **স্পোর্জার (Sforza) সাথে কথোপকথন** করতে চান, তাহলে [Characters](/app/README.md) অ্যাপ চালান।
+
+> [!IMPORTANT]
+> এটি সম্পূর্ণ **কাল্পনিক**; প্রতিক্রিয়াগুলি **AI দ্বারা তৈরি**।
+> [দায়িত্বশীল AI সম্পর্কিত ঘোষণা](/README.md#responsible-ai-disclaimer)
+
+
+

+
+
+### **ধাপে ধাপে নির্দেশনা:**
+
+1. **শুরু করুন** [](https://codespaces.new/microsoft/generative-ai-with-javascript)
+2. **রিপোজিটরির মূল ফোল্ডারে** _/app_ এ যান।
+3. **কনসোল খুঁজে বের করুন** এবং **`npm install`** কমান্ড চালান, তারপর **`npm start`** লিখে রান করুন।
+4. **অ্যাপ চালু হলে**, "Open in Browser" বোতাম নির্বাচন করুন।
+5. **স্পোর্জার সাথে চ্যাট করুন।**
+
+আরও বিস্তারিত জানতে, দেখুন **[বিস্তারিত অ্যাপ ব্যাখ্যা](/lessons/01-intro-to-genai/translations/README.bn.md#talk-to-dinocrates)**।
+
+> [!NOTE]
+> আপনি যদি **প্রকল্পটি স্থানীয়ভাবে (locally) চালান**, তাহলে দয়া করে **QuickStart গাইড** পর্যালোচনা করুন এবং **[GitHub ব্যক্তিগত অ্যাক্সেস টোকেন (PAT)](/docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access)** সেটআপ করুন, তারপর **কোডে টোকেনটি প্রতিস্থাপন করুন**।
+## **প্রম্পট ইঞ্জিনিয়ারিং কী?**
+
+**টাইম বিটল:** "আমাদের **প্রম্পট ইঞ্জিনিয়ারিং** সম্পর্কে কথা বলা দরকার।"
+
+**আপনি:** "আমাদের দরকার? এটা আবার কী?"
+
+**টাইম বিটল:** "প্রম্পট ইঞ্জিনিয়ারিং নাম শুনে মনে হতে পারে এটি **সেতু বা রাস্তা নির্মাণের ব্যাপার**, কিন্তু আসলে এটি **Generative AI ভাষা মডেল থেকে কাঙ্ক্ষিত আউটপুট পাওয়ার জন্য সঠিক 'প্রম্পট' তৈরি করার কৌশল**।"
+
+**আপনি:** "ঠিক আছে, কিন্তু এটা জানা আমার জন্য এত গুরুত্বপূর্ণ কেন?"
+
+**টাইম বিটল:** "তুমি তো **এরিয়াল স্ক্রু নামাতে চাও**, তাই তো?"
+
+**আপনি:** "হ্যাঁ, এবং সেটিও এক টুকরোতে রাখতে চাই। :-)"
+
+**টাইম বিটল:** "ঠিক তাই ভেবেছিলাম! এখন শোনো, **প্রম্পট ইঞ্জিনিয়ারিং** হলো **সঠিক প্রম্পট তৈরি করার কৌশল**, যাতে ভাষা মডেল থেকে কাঙ্ক্ষিত আউটপুট পাওয়া যায়।"
+
+**টাইম বিটল:** "**বড় ভাষা মডেলগুলোর মধ্যে কিছু বিশেষ বৈশিষ্ট্য থাকে, যেগুলোকে বলা হয় '_emergent properties_'**। এর মানে হলো, **এই বৈশিষ্ট্যগুলো মডেলে সরাসরি প্রোগ্রাম করা হয় না, বরং এটি প্রশিক্ষণের সময় বিশাল পরিমাণ পাঠ্য ডাটার মাধ্যমে স্বয়ংক্রিয়ভাবে বিকশিত হয়**। এই উদীয়মান বৈশিষ্ট্যগুলো অধ্যয়ন করলে **তুমি নির্দিষ্ট ধরণ বা প্যাটার্ন খুঁজে বের করতে পারবে**, যা মডেল থেকে আরও ভালো ফলাফল পেতে সাহায্য করবে।"
+
+**আপনি:** "ঠিক আছে, তাহলে বোঝা গেল যে কিছু নির্দিষ্ট প্যাটার্ন আছে যা মডেল থেকে ভালো ফলাফল আনতে সাহায্য করে। কিন্তু এটা কীভাবে আমাকে এরিয়াল স্ক্রু নামাতে সাহায্য করবে?"
+
+**টাইম বিটল:** "ঠিক তাই, এবং বাহ! তুমি মোটেও ধৈর্যশীল নও, তাই না?"
+
+**আপনি:** "তুমি হলেও ধৈর্য হারাতে, যদি **এমন একটি যন্ত্রে উড়তে হতো যেখানে নামার কোনো স্পষ্ট নির্দেশনা নেই!**"
+
+**টাইম বিটল:** "আমি কিন্তু ঠিক **তোমার পাশেই আছি**, এটা ভুলো না! কিন্তু চলো, আসল বিষয়ে ফিরে আসি।
+## **কিভাবে প্রম্পট ইঞ্জিনিয়ারিং অ্যাপ ডেভেলপারদের সহায়তা করতে পারে**
+
+**টাইম বিটল:** "একজন পেশাদার হিসেবে, **ভালো প্রম্পট তৈরি করা একটি গুরুত্বপূর্ণ দক্ষতা**, যা তোমার টুলকিটের অংশ হওয়া উচিত।"
+
+একজন **ডেভেলপারের দৃষ্টিকোণ থেকে**, **প্রম্পট ইঞ্জিনিয়ারিং** ব্যবহার করে তুমি:
+
+- **আরও নির্ভুল ফলাফল পেতে পারবে**, যা তোমার **অ্যাপের ব্যবহারকারীর অভিজ্ঞতা উন্নত করবে**।
+
+- **মডেলের আউটপুট নিয়ন্ত্রণ করতে পারবে**, যাতে এটি ব্যবহারকারীদের জন্য **প্রাসঙ্গিক এবং উপযুক্ত** হয়।
+ - এটি বিশেষভাবে গুরুত্বপূর্ণ যখন **সংবেদনশীল বিষয়** নিয়ে কাজ করা হয় এবং **তোমার ব্র্যান্ডের সুনাম রক্ষা করতে হয়**।
+
+- **আউটপুটকে এমনভাবে বিন্যাস করতে পারবে**, যাতে তা **সহজে বোঝা ও ব্যবহারযোগ্য হয়**।
+ - আমরা পরবর্তী অধ্যায়ে এটি আরও বিস্তারিতভাবে আলোচনা করব।
+
+**টাইম বিটল:** "চলো, বিভিন্ন কৌশল ও পদ্ধতি অন্বেষণ করি, যা তুমি **তোমার ভাষা মডেলের জন্য কার্যকর প্রম্পট তৈরি করতে** ব্যবহার করতে পারবে।"
+
+## **প্রম্পট ইঞ্জিনিয়ারিং কৌশল ও কৌশলগত দৃষ্টিভঙ্গি**
+
+**টাইম বিটল:** "চলো, বিভিন্ন **কৌশল ও কৌশলগত পদ্ধতি** সম্পর্কে জানি, যা তোমাকে আরও কার্যকর **প্রম্পট তৈরি করতে সহায়তা করবে**।"
+
+- **Few-shot prompting** – এই কৌশলে **কিছু উদাহরণ প্রদান করা হয়**, যাতে AI বুঝতে পারে **কী ধরণের প্রতিক্রিয়া** প্রত্যাশিত।
+
+- **Chain-of-thought prompting** – এটি **একটি ধাপে ধাপে প্রক্রিয়া**, যেখানে **AI-কে ক্রমান্বয়ে একাধিক প্রম্পট দেওয়া হয়**, যাতে এটি **একটি জটিল কাজ ধাপে ধাপে সমাধান করতে শেখে**।
+
+- **Meta-prompts** – এই কৌশলে **অতিরিক্ত তথ্য বা নির্দেশনা প্রদান করা হয়**, যাতে **AI-এর আউটপুট আরও নির্দিষ্ট ও কাঙ্ক্ষিত হয়**।
+
+- **Maieutic prompting** – এই কৌশলে **গাইডিং প্রশ্ন ব্যবহার করা হয়**, যা **AI-কে একটি নির্দিষ্ট উত্তরের দিকে পরিচালিত করতে সহায়তা করে**।
+
+---
+
+**আপনি:** "এগুলো বেশ আকর্ষণীয় শোনাচ্ছে! আমি ধরে নিচ্ছি, তুমি আমাকে কিছু উদাহরণ দেবে?"
+
+**টাইম বিটল:** "হ্যাঁ, একদম! চলো, প্রতিটি কৌশলের জন্য কিছু উদাহরণ দেখি, যাতে আমরা বুঝতে পারি, **এগুলো বাস্তবে কীভাবে কাজ করে**।"
+### **Few-shot prompting: উদাহরণ দিয়ে AI-এর আউটপুট নির্দেশ করা**
+
+**Few-shot prompting** কৌশলে **কয়েকটি উদাহরণ প্রদান করা হয়**, যাতে AI **কী ধরনের প্রতিক্রিয়া দেওয়া উচিত তা বুঝতে পারে**। কল্পনা করো, তুমি **এরিয়াল স্ক্রু-তে বসে প্রাচীন রোম সম্পর্কে জানতে চাচ্ছো**। Few-shot প্রম্পট এমন হতে পারে:
+
+> **"রোমান কলোসিয়াম সম্পর্কে বলো।"** → **"এটি একটি বিশাল অ্যাম্ফিথিয়েটার।"**
+>
+> **"প্রাচীন রোমের জীবন কেমন ছিল?"** → **"এটি কর্মব্যস্ত এবং কঠিন ছিল।"**
+
+**আপনি:** "বুঝতে পারছি! এটি AI-কে সঠিকভাবে উত্তর দিতে সাহায্য করে, এমনকি এখানে উপরে থাকলেও! ;)"
+
+**টাইম বিটল:** "একদম ঠিক! এটি **একটি কার্যকর কৌশল**। এবার পরবর্তী কৌশলটি দেখি!"
+
+---
+
+### **Chain-of-Thought Prompting: ধাপে ধাপে যুক্তির মাধ্যমে নির্দেশনা প্রদান**
+
+**টাইম বিটল:** "এই কৌশলে AI-কে **ধাপে ধাপে যুক্তি প্রদর্শন করা হয়**, যাতে এটি **একটি সমস্যা সমাধানের প্রক্রিয়া শিখতে পারে**। কল্পনা করো, **তুমি এরিয়াল স্ক্রু নামাতে চাচ্ছো**। এটি ধাপে ধাপে এভাবে বিভক্ত করা যায়:
+
+- **তুমি ১০০ মিটার উচ্চতায় আছো।**
+- **মাধ্যাকর্ষণ বল (Gravity) = ৯.৮ m/s²।**
+- **সূত্র:** **উচ্চতা = ½ × g × t²**
+- **সমাধান:** **t ≈ ৪.৫ সেকেন্ড লাগবে মাটিতে নামতে।**
+
+**তোমার প্রম্পট হবে:**
+> - **১০০ মিটার উচ্চতায় আছি।**
+> - **মাধ্যাকর্ষণ: ৯.৮ m/s²**
+> - **মাটিতে পৌঁছাতে কত সেকেন্ড লাগবে?**
+
+**উত্তর:** **৪.৫ সেকেন্ড**
+
+**আপনি:** "এটা বেশ দ্রুত—আশা করি গণনাগুলো সঠিক আছে!" 😅
+**টাইম বিটল:** "এটি AI-কে **ধাপে ধাপে চিন্তা করতে শেখায়**।"
+
+**আপনি:** "তাহলে এটি মূলত **সমস্যাগুলো ভেঙে সঠিক উত্তর পাওয়ার একটি পদ্ধতি**?"
+
+**টাইম বিটল:** "হ্যাঁ, একদম ঠিক! এটি **অঙ্ক শেখানোর অ্যাপের মতো জটিল কাজের জন্য দুর্দান্ত**!"
+
+---
+
+### **Maieutic Prompting: আউটপুট যাচাই করতে প্রশ্ন করা**
+
+**টাইম বিটল:** "এই কৌশলে **AI-এর আউটপুটের নির্ভুলতা যাচাই করার জন্য প্রশ্ন করা হয়**। প্রতিটি ধাপ সম্পর্কে প্রশ্ন করলে **যুক্তিগুলো আরও সামঞ্জস্যপূর্ণ হয়**।"
+
+**আপনি:** "তাহলে, যা-ই বলে, সেটাকে প্রশ্নবিদ্ধ করব? মজার লাগছে! ;)"
+
+**টাইম বিটল:** "আসো, আমাদের **এরিয়াল স্ক্রু অবতরণ পরীক্ষাটি করি**:
+- **১০০ মিটার উচ্চতায় আছি।**
+- **মাধ্যাকর্ষণ বল: ৯.৮ m/s²**
+- **মাটিতে পৌঁছাতে কত সেকেন্ড লাগবে?** (**উত্তর: ৪.৫ সেকেন্ড**)
+
+এখন জিজ্ঞাসা করো: **'কেন ৪.৫ সেকেন্ড?'**
+
+> **AI-এর প্রতিক্রিয়া:**
+> - **উচ্চতা = ১০০ মিটার, প্রাথমিক গতি = ০ m/s, মাধ্যাকর্ষণ = ৯.৮ m/s²।**
+> - **সূত্র:** **উচ্চতা = ½ × g × t²**
+> - **সমাধান:** **১০০ = ½ × ৯.৮ × t² → t ≈ ৪.৫ সেকেন্ড।**
+
+**টাইম বিটল:** "এটি মূলত **AI-এর উত্তর যাচাই করতে ফলো-আপ প্রশ্ন করার ব্যাপার**।"
+
+**আপনি:** "তাহলে AI-এর প্রতিক্রিয়াকে অন্ধভাবে বিশ্বাস না করে, বরং **এটিকে প্রশ্নের মাধ্যমে যাচাই করা দরকার**?"
+
+**টাইম বিটল:** "একদম ঠিক! এটি **AI-এর যুক্তি আরও দৃঢ় করে তোলে**।"
+## **মেটা প্রম্পট: সুনির্দিষ্ট নির্দেশনা যোগ করা**
+
+**টাইম বিটল:** "এবার আসি **মেটা প্রম্পটের** ব্যাপারে।"
+
+**আপনি:** "উফ্, আগে এক কাপ চা?"
+
+**টাইম বিটল:** "_আহ্_... মেটা প্রম্পট **প্রম্পটে অতিরিক্ত নির্দেশনা যোগ করে, যাতে আরও নির্ভুল আউটপুট পাওয়া যায়**। এটি **সংবেদনশীল এবং গ্রাহক-মুখী অ্যাপগুলোর জন্য দারুণ কার্যকর**।"
+
+একটি উদাহরণ দেখুন:
+
+> **Meta Prompt:** **শুধুমাত্র Contoso Inc.-এর পণ্য ব্যবহার করুন (বাস্কেটবল, সকার বল, টেনিস র্যাকেট)। এটি সঠিক এবং ব্যবহারকারী-বান্ধব হতে হবে।**
+> **Prompt:** **শুরুর জন্য সেরা খেলাধুলার পণ্য কী?**
+> **Response:** **বাস্কেটবল, সকার বল এবং টেনিস র্যাকেট—সমন্বয় ও দক্ষতা বৃদ্ধির জন্য উপযুক্ত।**
+
+এটি নিশ্চিত করে যে **উত্তরটি নির্ভুল থাকে এবং শুধুমাত্র Contoso-এর পণ্য অন্তর্ভুক্ত করা হয়**।
+
+এখন, যদি **মেটা প্রম্পট ব্যবহার না করা হয়**:
+
+> **Prompt:** **শুরুর জন্য সেরা খেলাধুলার পণ্য কী?**
+> **Response:** **বাস্কেটবল, সকার বল, টেনিস র্যাকেট, এবং ফুটবল—(যা সব Contoso পণ্য নয়!)**
+
+---
+
+**আপনি:** "এটি বেশ দরকারি! এটি **প্রতিক্রিয়াকে সঠিক পথে রাখে**, যেন আমার অটোমেটনের জন্য আইন মেনে চলে।"
+
+**টাইম বিটল:** "হ্যাঁ, তুমি জানো... _'ফ্রাঙ্কেনস্টাইন'_—আহ, কিচ্ছু না!"
+
+**আপনি:** "কি?"
+
+**টাইম বিটল:** "কিছু না..."
+
+> **মেরি শেলির** *ফ্রাঙ্কেনস্টাইন*—১৮১৮ সালে প্রকাশিত, **তোমার সময় ভ্রমণের ৪২ বছর আগে**।
+> [আরও জানুন](https://en.wikipedia.org/wiki/Mary_Shelley)
+
+**আপনি:** "তাহলে, যদি **মেটা প্রম্পট না থাকে**, তবে বিশৃঙ্খলা সৃষ্টি হবে?"
+
+**টাইম বিটল:** "ঠিক তাই, **তুমি অফ-ব্র্যান্ড (ভুল) উত্তর পাবে**।"
+
+**আপনি:** "বুঝলাম, **নির্ভুলতা গুরুত্বপূর্ণ!**"
+## **অ্যাসাইনমেন্ট - আমাদের নায়কদের এরিয়াল স্ক্রু অবতরণে সহায়তা করা**
+
+**আপনি:** "এখন তুমি আমাকে **এরিয়াল স্ক্রু কীভাবে নামাতে হয় তা শেখাবে, তাই তো?**"
+
+**টাইম বিটল:** "হ্যাঁ, এবার কাজে নামা যাক! আমাদের বর্তমান অবস্থান থেকে পাহাড়টি **প্রায় ১০০ মিটার দূরে**। এখানে প্রম্পট সেটআপের একটি উপায়:
+
+- **মাটির ওপরে বর্তমান উচ্চতা:** **১০০ মিটার**
+- **সামনের দিকে গতিবেগ:** **১০ মিটার প্রতি সেকেন্ড**
+- **মাধ্যাকর্ষণ বল:** **৯.৮ মিটার প্রতি সেকেন্ড²**
+- **উপরের দিকে বাতাসের গতি:** **০.৭ মিটার প্রতি সেকেন্ড**
+
+**লিওনার্দো:** "তোমার AI যন্ত্র কি হিসাব করে বলতে পারবে যে **আমরা নিরাপদে নামতে পারব, নাকি আমাদের আরেকটি সময়-ভ্রমণ করতে হবে**?"
+
+**টাইম বিটল:** "আমি পারি, কিন্তু আমার নাম **জর্জ**! **গিজমো বলা বন্ধ করো**। আসলে, আমি তোমাদের দুজনকেই এটি সমাধান করতে দেব। ☺️"
+
+---
+
+### **তোমার কাজ:**
+
+একটি অ্যাপ তৈরি করো, যা ব্যবহারকারীর কাছে নিচের ইনপুট চাবে:
+
+✅ **উচ্চতা**
+✅ **সামনের দিকে গতিবেগ**
+✅ **মাধ্যাকর্ষণ বল**
+✅ **উপরের দিকে বাতাসের গতি**
+✅ **পাহাড় পর্যন্ত দূরত্ব**
+
+**চেইন-অফ-থট (Chain-of-Thought) কৌশল** ব্যবহার করে AI-কে যুক্তিসঙ্গতভাবে উত্তরে導 করতে হবে।
+## **সমাধান**
+
+JavaScript-এ একটি অ্যাপ তৈরি করো, যা নিম্নলিখিত ইনপুট গ্রহণ করবে:
+
+✅ **মাটির ওপরে বর্তমান উচ্চতা**
+✅ **সামনের দিকে গতিবেগ (মিটার প্রতি সেকেন্ড)**
+✅ **মাধ্যাকর্ষণ বল (মিটার প্রতি সেকেন্ড²)**
+✅ **উপরের দিকে বাতাসের গতি (মিটার প্রতি সেকেন্ড)**
+✅ **পাহাড় পর্যন্ত দূরত্ব**
+
+তারপর **LLM**-এর সাহায্যে **চেইন-অফ-থট (Chain-of-Thought) প্রম্পটিং কৌশল** ব্যবহার করে **AI-কে সঠিক উত্তর導 করতে হবে**।
+
+[সমাধান দেখুন](/lessons/03-prompt-engineering/solution/solution.md)
+
+---
+
+## **জ্ঞান যাচাই (Knowledge Check)**
+
+**প্রশ্ন:** **প্রম্পট ইঞ্জিনিয়ারিং কী?** সঠিক সব উত্তর নির্বাচন করুন।
+
+A. **প্রম্পট ইঞ্জিনিয়ারিং সেতু ও রাস্তা নির্মাণের ব্যাপার।**
+B. **প্রম্পট ইঞ্জিনিয়ারিং ভাষা মডেল থেকে কাঙ্ক্ষিত আউটপুট পাওয়ার জন্য সঠিক প্রম্পট তৈরি করার কৌশল।**
+C. **প্রম্পট ইঞ্জিনিয়ারিং হলো একটি মডেলকে ডাটা থেকে নির্দিষ্ট প্যাটার্ন চিনতে শেখানোর পদ্ধতি।**
+
+[কুইজ সমাধান](/lessons/03-prompt-engineering/solution/solution-quiz.md)
+
+---
+
+## **স্ব-অধ্যয়নের জন্য সংস্থানসমূহ**
+
+- [প্রম্পট ইঞ্জিনিয়ারিং](https://en.wikipedia.org/wiki/Prompt_engineering)
+- [প্রম্পট ইঞ্জিনিয়ারিং মৌলিক বিষয়সমূহ](https://github.com/microsoft/generative-ai-for-beginners/blob/main/04-prompt-engineering-fundamentals/README.md?WT.mc_id=academic-105485-koreyst)
+- [উন্নত প্রম্পট ইঞ্জিনিয়ারিং](https://github.com/microsoft/generative-ai-for-beginners/tree/main/05-advanced-prompts)
+
+---
+
+### **প্রারম্ভিক প্রকল্প:**
+শুরু করতে এই **[Starter project](/sample-app/)** ব্যবহার করো!
diff --git a/lessons/04-structured-output/translations/README.bn.md b/lessons/04-structured-output/translations/README.bn.md
new file mode 100644
index 00000000..d68b5ae1
--- /dev/null
+++ b/lessons/04-structured-output/translations/README.bn.md
@@ -0,0 +1,634 @@
+# 📝 পাঠ ৪: কাঠামোগত আউটপুট
+
+এই অধ্যায়ে আপনি শিখবেন:
+
+- **কাঠামোগত আউটপুট** কী এবং কীভাবে এটি কার্যকরভাবে ব্যবহার করা যায়।
+- কীভাবে প্রম্পট থেকে তথ্য বের করে আউটপুটে অন্তর্ভুক্ত করা যায়।
+- JSON-এর মতো বিভিন্ন আউটপুট ফরম্যাট তৈরি করা, যা পরিষেবাগুলোর জন্য সহজে ব্যবহারযোগ্য।
+
+## সেটআপ
+
+যদি আপনি এখনও আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ না করে থাকেন, তাহলে এটি করুন। কিভাবে সেটআপ করবেন তা জানতে এখানে যান: [আপনার এনভায়রনমেন্ট সেটআপ করুন](/docs/setup/README.md)।
+
+## সম্পর্কিত রিসোর্স
+
+**প্রম্পট ইঞ্জিনিয়ারিং** সংক্রান্ত ভিডিওটি পুনরায় দেখা উপকারী হতে পারে, কারণ এটি এই অধ্যায়ের শিক্ষার ভিত্তি গড়ে তোলে।
+
+[](https://www.youtube.com/watch?v=gQ6TlyxBmWs&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=3)
+
+_এই ভিডিওটি আপনাকে "প্রম্পটিং" দক্ষতা উন্নত করতে সহায়তা করবে, যাতে আপনি AI-কে আরও পরিষ্কার এবং কার্যকর নির্দেশ দিতে পারেন এবং ভালো ফলাফল পেতে পারেন।_
+
+🎥 *উপরের ছবিতে ক্লিক করে প্রম্পট ইঞ্জিনিয়ারিং সম্পর্কিত সংক্ষিপ্ত ভিডিও দেখুন*
+
+💼 **স্লাইড:** [প্রম্পট ইঞ্জিনিয়ারিং](/videos/slides/02-prompt-engineering.pptx)
+## বর্ণনা - আগুন থেকে বাঁচতে গিয়ে আগুনে পড়া
+
+> [!NOTE]
+> _এখন পর্যন্ত আমাদের গল্প: আপনি ১৮৬০ সালের একজন যান্ত্রিক প্রকৌশলী, যিনি লিওনার্দো দা ভিঞ্চির সঙ্গে সময়ের স্রোতে যাত্রা করছেন। আপনি রোমান সৈন্যদের হাত থেকে পালিয়েছেন— বা বলা ভালো, এখনো পালানোর প্রক্রিয়ায় রয়েছেন— এবং মরিয়া হয়ে এয়ারিয়াল স্ক্রুকে নিরাপদে নামানোর উপায় খুঁজছেন।_
+>
+> যদি গল্পের শুরু থেকে পড়তে চান, তাহলে দেখুন [পাঠ ১](/lessons/01-intro-to-genai/translations/README.bn.md)।
+
+> [!NOTE]
+> আমরা গল্পের সঙ্গে যেতে পরামর্শ দিই (এটি মজার!), তবে আপনি সরাসরি প্রযুক্তিগত বিষয়বস্তুর অংশে যেতে চাইলে [এখানে ক্লিক করুন](#মন্টেজুমার-সাথে-ইন্টারঅ্যাক্ট-করুন )।
+
+তীব্র বাতাস চারপাশে শোঁ শোঁ শব্দ তুলে প্রবাহিত হয়, যখন আপনি এবং লিওনার্দো দা ভিঞ্চি তার এয়ারিয়াল স্ক্রুতে উপরে উঠছেন। কাঠের ফ্রেম চাপের কারণে কড়মড় শব্দ করছে।
+
+**আপনি:** "লিওনার্দো, আমাদের একটা উপায় খুঁজতে হবে!" আপনি বাতাসের গর্জনের মাঝে চিৎকার করে বললেন।
+
+**লিওনার্দো:** "আমি আমার আবিষ্কারের উপর বিশ্বাস রাখি, তবে শুধুমাত্র বিশ্বাস দিয়ে আমরা সৈন্যদের হাত থেকে রক্ষা পাব না।"
+
+**আপনি:** "এটাই আমাদের একমাত্র সুযোগ হতে পারে," আপনি বললেন, বিটলের জটিল যান্ত্রিক অংশ চেপে ধরে। এক উজ্জ্বল আলো আপনাদের দুজনকে ঘিরে ফেলে, এবং চারপাশের বিশ্ব বদলে যেতে শুরু করে, আকার বিকৃত হয়ে যায়।
+### অ্যাজটেক সাম্রাজ্য
+
+টাইম বিটলের উজ্জ্বল আলো ধীরে ধীরে ম্লান হয়ে যায়, এবং আপনি নিজেকে বিশাল এক পাথরের পিরামিডের পাদদেশে দাঁড়িয়ে থাকতে দেখেন। চারপাশে তাকিয়ে বুঝতে পারেন, আপনি এখন অ্যাজটেক সাম্রাজ্যের কেন্দ্রস্থলে পৌঁছে গেছেন।
+
+এয়ারিয়াল স্ক্রুটি বিশাল, জটিল খোদাই করা এক পাথরের ওপর বিশ্রীভাবে ঠেস দিয়ে পড়ে আছে, যেখানে কিছু চিহ্ন রয়েছে যা দেখতে অনেকটা একটি ক্যালেন্ডারের মতো।
+
+
+

+
+
+_অ্যাজটেক ক্যালেন্ডার, উইকিপিডিয়া_
+
+লিওনার্দো দা ভিঞ্চি সামনে এগিয়ে যান, বিস্ময়ে তার চোখ বড় হয়ে যায়।
+
+**লিওনার্দো:** "অবিশ্বাস্য," তিনি বিড়বিড় করে বলেন, খোদাইগুলোর ওপর আঙুল বুলিয়ে। "কিন্তু আমি আশা করি, এটি গুরুত্বপূর্ণ কিছু ছিল না।"
+
+আপনি প্রতিক্রিয়া জানানোর আগেই, অ্যাজটেক সৈন্যদের একটি দল এগিয়ে আসে।
+
+
+

+
+
+**সৈন্য নেতা:** "তোমরা কারা, এবং এখানে কী করেছ?" তিনি নাহুয়াতল ভাষায় কঠোর স্বরে জিজ্ঞাসা করেন।
+
+আপনি গভীর শ্বাস নেন, নার্ভাস ভাব দূর করার চেষ্টা করেন।
+
+**আপনি:** "আমরা এক দূরবর্তী ভূমি থেকে আগত ভ্রমণকারী," আপনি বললেন, প্রাচীন ভাষার আপনার জ্ঞান কাজে লাগানোর আশা করে। "এটি একটি উড়ন্ত যন্ত্র, যা আমাদের তোমাদের কাছে পৌঁছাতে সাহায্য করার জন্য দেবতাদের উপহার।"
+
+যোদ্ধার চোখ বিস্ময়ে বড় হয়ে যায়, তবে তিনি সতর্ক থাকেন।
+
+**সৈন্য নেতা:** "তোমাদের আমাদের শাসক মন্টেজুমার সঙ্গে দেখা করতে হবে। তিনি তোমাদের ভাগ্য নির্ধারণ করবেন।"
+
+পিরামিডের শীর্ষে পৌঁছানোর পর, আপনাকে এক বিশাল কক্ষে নিয়ে যাওয়া হয়, যেখানে অ্যাজটেক সাম্রাজ্যের শাসক মন্টেজুমা সোনার ও পালকের অলংকরণে শোভিত সিংহাসনে বসে আছেন।
+
+**মন্টেজুমা:** "তোমরা দাবি করছ যে তোমরা এক দূরবর্তী ভূমি থেকে আগত," মন্টেজুমা শান্ত কিন্তু কর্তৃত্বপূর্ণ কণ্ঠে বলেন। "কিন্তু তোমরা আমাদের পবিত্র ক্যালেন্ডার ক্ষতিগ্রস্ত করেছ। কীভাবে এর ক্ষতিপূরণ দেবে?"
+## চলো একটি খেলা খেলি
+
+**লিওনার্দো:** "আমরা শান্তিপূর্ণভাবে এসেছি," তিনি স্থির কণ্ঠে বলেন। "আমরা জ্ঞান ও বোঝাপড়া খুঁজছি। আমাদের যন্ত্রের শক্তি দেখার সুযোগ দিন এবং আমাদের জ্ঞান তোমাদের সঙ্গে ভাগ করে নিতে দিন।"
+
+**মন্টেজুমা:** "বেশ। আমি একটি [পাটোলি](#patolli) খেলার প্রস্তাব দিচ্ছি। যদি আমি তিন ম্যাচের মধ্যে দুটি জিতে যাই, তবে আমাকে তোমাদের যন্ত্র দিতে হবে এবং এটি কীভাবে কাজ করে তা বলতে হবে। কিন্তু যদি তোমরা জিতে যাও, তাহলে তোমরা মুক্তভাবে চলে যেতে পারবে।"
+
+
+

+
+
+খেলা শুরু হয়, এবং ঘর নিস্তব্ধ হয়ে যায়—শুধু মটরশুঁটির মতো বীজ ঘূর্ণায়মান শব্দ এবং গুটি সরানোর আওয়াজ শোনা যায়।
+
+মন্টেজুমা প্রথম খেলা জিতে যান, তার দক্ষতা ও অভিজ্ঞতা স্পষ্ট হয়ে ওঠে। লিওনার্দো বোর্ডটি গভীর মনোযোগ সহকারে পর্যবেক্ষণ করেন, তার মস্তিষ্ক কৌশল ও সম্ভাব্য চাল নিয়ে কাজ করতে থাকে।
+
+দ্বিতীয় খেলা কঠিন প্রতিদ্বন্দ্বিতার মধ্যে দিয়ে চলে, কিন্তু শেষ মুহূর্তে লিওনার্দো বিজয় নিশ্চিত করেন এবং স্কোর সমান করেন।
+
+**লিওনার্দো:** "আরও একটি খেলা," তিনি ফিসফিস করে বলেন। "জর্জ (টাইম বিটল), আমাদের এই খেলা জিততেই হবে। আমাকে সঠিক চাল বলো।"
+
+**টাইম বিটল:** "ঠিক আছে, গণনা করছি... এই নাও..."
+
+একটি চূড়ান্ত, সুপরিকল্পিত চালের মাধ্যমে লিওনার্দো খেলা জিতে যান। ঘরে উল্লাস আর করতালির শব্দে মুখরিত হয়ে ওঠে, অ্যাজটেকরা তার দক্ষতা ও ধৈর্যে মুগ্ধ হয়। মন্টেজুমা, যদিও হতাশ, সম্মানের সাথে মাথা নত করেন।
+
+**মন্টেজুমা:** "তুমি ন্যায্যভাবে জয়ী হয়েছ," তিনি প্রশংসাসূচক কণ্ঠে বলেন। "তোমরা মুক্তভাবে চলে যেতে পারো এবং তোমাদের যন্ত্র নিজের কাছে রাখতে পারো। তবে মনে রেখো, তোমরা যদি কখনো ফিরে আসতে চাও, তাহলে এখানে তোমাদের জন্য সবসময় স্বাগত থাকবে।"
+
+**টাইম বিটল:** "আমি কিছুই বলবো না, যদি তুমি না বলো, লিওনার্দো 😉"
+### পাটোলি
+
+> [!NOTE]
+> **পাটোলি** আমেরিকার প্রাচীনতম পরিচিত খেলাগুলোর মধ্যে একটি, যা অ্যাজটেকদের মতো প্রাক-কলম্বিয়ান মেসোআমেরিকান সংস্কৃতিতে খেলা হতো। এটি কৌশল ও ভাগ্যের সংমিশ্রণে গঠিত একটি খেলা।
+>
+> **কীভাবে পাটোলি খেলা হয়**:
+> - **বোর্ড ও গুটি**: এটি একটি ‘X’ আকৃতির বোর্ডে খেলা হয়, যার মাঝখানে একটি কেন্দ্রস্থল এবং চারটি বাহু থাকে। খেলায় পাঁচটি কালো বীজ ব্যবহার করা হয়, যেগুলোর এক পাশে চিহ্ন থাকে এবং এগুলোকে পাশার মতো গড়ানো হয়।
+> - **সেটআপ**: প্রতিটি খেলোয়াড় তাদের রঙের ছয়টি গুটি (পুঁতি) বেছে নিয়ে বোর্ডের বাইরে রাখে, পাশাপাশি স্কোর গণনার জন্য কিছু পয়েন্ট পুঁতি থাকে।
+> - **গেমপ্লে**: বীজ গড়িয়ে গুটিগুলো বোর্ডে সরানো হয় এবং শুরুতে ফিরে আসতে হয়। পাঁচের রোল পড়লে দশ ধাপ এগোনো যায়। নির্দিষ্ট স্থানে নামলে অতিরিক্ত চাল পাওয়া যায়, পয়েন্ট হারাতে হয়, বা প্রতিপক্ষের গুটি ধরা যেতে পারে।
+>
+> **অ্যাজটেক সংস্কৃতিতে পাটোলি**: এটি অভিজাত ও সাধারণ নাগরিকদের মধ্যে ব্যাপকভাবে জনপ্রিয় ছিল এবং মন্টেজুমার দরবারে এটি প্রিয় খেলা ছিল। বিনোদনের পাশাপাশি, এটি উচ্চ ঝুঁকির জুয়া খেলার অংশ ছিল, যেখানে শর্ত হিসেবে কম্বল, মূল্যবান রত্ন, এমনকি স্বাধীনতাও বাজি ধরা হতো।
+
+
+

+
+
+_পাটোলি - উইকিপিডিয়া_
+## মন্টেজুমার সাথে ইন্টারঅ্যাক্ট করুন
+
+আপনি যদি মন্টেজুমার সাথে ইন্টারঅ্যাক্ট করতে চান, তাহলে [Characters](/app/README.md) অ্যাপ চালান।
+
+> [!IMPORTANT]
+> এটি সম্পূর্ণরূপে কল্পিত; প্রতিক্রিয়াগুলি AI দ্বারা তৈরি করা হয়।
+> [দায়িত্বশীল AI সংক্রান্ত ঘোষণাপত্র](/README.md#responsible-ai-disclaimer)
+
+
+

+
+
+### **ধাপসমূহ**:
+
+1. [](https://codespaces.new/microsoft/generative-ai-with-javascript) এ ক্লিক করে একটি GitHub Codespace শুরু করুন।
+2. রিপোজিটরির মূল ফোল্ডারে যান এবং _/app_ ডিরেক্টরিতে প্রবেশ করুন।
+3. কনসোলে `npm install` চালান, তারপর `npm start` চালান।
+4. যখন অ্যাপ চালু হবে, "Open in Browser" বোতামটি নির্বাচন করুন।
+5. এখন আপনি মন্টেজুমার সাথে চ্যাট করতে পারবেন।
+
+আরও বিস্তারিত জানতে, দেখুন [অ্যাপের বিশদ ব্যাখ্যা](/lessons/01-intro-to-genai/translations/README.bn.md#ডিনোক্রেটিসের-সাথে-সাক্ষাৎ)।
+
+> [!NOTE]
+> আপনি যদি স্থানীয়ভাবে (লোকাল মেশিনে) প্রকল্পটি চালাচ্ছেন, তাহলে **QuickStart গাইড** অনুসরণ করে [GitHub ব্যক্তিগত অ্যাক্সেস টোকেন](/docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) সেটআপ করুন এবং কোডের মধ্যে টোকেনটি প্রতিস্থাপন করুন।
+## কাঠামোগত আউটপুট
+
+**টাইম বিটল:** জানতে চাও কীভাবে আমি মন্টেজুমাকে হারালাম?
+
+**আপনি:** শশশ! এত জোরে বলো না, আমরা এখনো অ্যাজটেক সাম্রাজ্যে আছি।
+
+**টাইম বিটল:** ওহ ঠিক আছে, দুঃখিত! হ্যাঁ, আসলে কাঠামোগত আউটপুটের মাধ্যমেই। তুমি সঠিক চাল চেয়েছিলে, আর আমি তোমাকে তা গুছিয়ে দিয়েছি।
+
+কাঠামোগত আউটপুট নির্দিষ্ট তথ্য ফরম্যাট ব্যবহার করে তথ্য পরিষ্কারভাবে সংগঠিত করে। সাধারণ ফরম্যাট যেমন **JSON, XML, এবং CSV** তথ্য প্রক্রিয়াকরণ ও ব্যবহারের জন্য আরও সহজ করে তোলে।
+
+**Generative AI** মডেল বিভিন্ন ফরম্যাটে আউটপুট দিতে পারে। তবে, যদি আউটপুটটি অসংগঠিত বা এলোমেলো হয়, তাহলে তা থেকে প্রয়োজনীয় তথ্য বের করা এবং অন্যান্য পরিষেবায় হস্তান্তর করা কঠিন হয়ে যায়। কাঠামোগত আউটপুট এই সমস্যার সমাধান করতে সাহায্য করতে পারে।
+
+**আপনি:** বাহ, তুমি বেশ চালাক, তাই না? ;)
+
+**টাইম বিটল:** আমি আমার সর্বোচ্চ চেষ্টা করি। 😊
+
+এমনকি মানুষের জন্যও, কাঠামোগত তথ্য সহজে পড়া ও বোঝার মতো হয়, যখন এটি পরিচিত একটি বিন্যাস অনুসরণ করে।
+
+চল, কয়েকটি ইনপুট উদাহরণ দেখি এবং কীভাবে নির্দিষ্ট আউটপুট ফরম্যাট চাওয়া তথ্য সংগ্রহ ও বোঝা সহজ করে তুলতে পারে তা শিখি।
+
+**আপনি:** ঠিক আছে, আমাদের তো অন্য কোনো পরিকল্পনা নেই, শোনাই তাহলে!
+## আউটপুটের কাঠামো নির্ধারণ করা
+
+**টাইম বিটল:** চল, একটা সহজ উদাহরণ দিয়ে শুরু করি। কল্পনা করো, তুমি লিওনার্দো দা ভিঞ্চি এবং ১৫শ শতকের প্রযুক্তি ব্যবহার করে নতুন আবিষ্কারের আইডিয়া বের করার চেষ্টা করছো। তুমি জানতে চাও, প্রতিটি আবিষ্কারের জন্য কী কী সম্পদ দরকার এবং এটি তৈরি করতে কতটা পরিশ্রম লাগবে। তুমি এভাবে জিজ্ঞাসা করতে পারো:
+
+**লিওনার্দো:** ওহ, এই খেলাটা আমার ভালো লাগছে, সবাই আমার মতো ভাবো!
+
+> **প্রম্পট:** ১৫শ শতকের প্রযুক্তি ব্যবহার করে আমি কী কী আবিষ্কার করতে পারি, তা জানাও। প্রতিটি আবিষ্কারের জন্য প্রয়োজনীয় সম্পদ এবং এটি তৈরিতে আনুমানিক পরিশ্রম কতটা লাগবে তা উল্লেখ করো।
+
+```text
+ফলাফল:
+নিশ্চয়ই! এখানে ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন কয়েকটি আবিষ্কারের ধারণা রয়েছে, প্রতিটির জন্য প্রয়োজনীয় সম্পদ এবং প্রয়োজনীয় পরিশ্রমের মাত্রা সহ:
+
+### ১. জলচালিত কল
+**প্রয়োজনীয় সম্পদ**:
+- জল উৎস (নদী বা খাল)
+- জলচাকা ও কলের কাঠামোর জন্য কাঠ
+- পেষণ যন্ত্রের জন্য পাথর
+- গিয়ার ও অক্ষের জন্য ধাতু
+
+**পরিশ্রম**:
+- **উচ্চ**: জলচাকা, কলের কাঠামো এবং পেষণ যন্ত্র নির্মাণের জন্য উন্নত নির্মাণ ও প্রকৌশল দক্ষতা প্রয়োজন। পাশাপাশি নিরবচ্ছিন্ন জলপ্রবাহ নিশ্চিত করাও জরুরি।
+
+### ২. অ্যাস্ট্রোল্যাব
+**প্রয়োজনীয় সম্পদ**:
+- প্লেট ও অংশগুলোর জন্য পিতল বা অন্যান্য ধাতু
+- খোদাই করার সরঞ্জাম
+- সঠিক পরিমাপের জন্য গণিতের জ্ঞান
+
+**পরিশ্রম**:
+- **মাঝারি**: এতে সুনির্দিষ্ট ধাতব কাজ ও খোদাই প্রয়োজন। এটি যথাযথভাবে তৈরি করতে জ্যোতির্বিদ্যা ও গণিতের জ্ঞান আবশ্যক।
+
+### ৩. ছাপাখানা
+**প্রয়োজনীয় সম্পদ**:
+- কাঠের প্রেস কাঠামো
+- চলমান টাইপের জন্য ধাতু
+- কালি ও কাগজ
+
+**পরিশ্রম**:
+- **উচ্চ**: প্রেস নির্মাণ ও চলমান টাইপ তৈরি করতে উন্নত কাঠ ও ধাতু শিল্পের দক্ষতা প্রয়োজন। টাইপ সেট করা ও ছাপানোর কাজও অত্যন্ত সূক্ষ্মভাবে সম্পন্ন করতে হয়।
+
+এটি একটি ভাল আউটপুট, কারণ প্রতিটি আইডিয়া একই কাঠামো অনুসরণ করছে এবং বোঝা সহজ। তবে যদি তুমি এটি অন্যভাবে পেতে চাও? তার জন্য, তুমি নির্দেশ দিতে পারো যে আউটপুট কেমন হওয়া উচিত, এমনকি একটি নির্দিষ্ট টেমপ্লেটও দিতে পারো। চল, প্রতিটি কৌশল দেখে নেই।
+```
+
+**লিওনার্দো:** হ্যাঁ, আমি নিশ্চিতভাবেই জলচালিত কলের আইডিয়া চুরি করছি! আমি কল্পনা করতে পারছি—নদীর ধারে একটি কল, যা শস্যকে ময়দায় পরিণত করছে, একদম নিখুঁত! এই যন্ত্রটা দারুণ! বলো তো ছোট্ট বিটল, আর কী ভাবছি আমি? এটা আমাকে লোকজনের ওপর কম নির্ভরশীল হতে সাহায্য করবে, বিশেষ করে সফোরজার মতো লোকদের উপর।
+
+**টাইম বিটল:** যদি তুমি কখনো একটা প্রকল্প শেষ করতে পারতে, লিওনার্দো! 😏
+
+**লিওনার্দো:** আরে, আমি কাজ করছি!
+
+**টাইম বিটল:** চল, দেখি কীভাবে তুমি মডেলকে আরও কাঠামোবদ্ধভাবে আউটপুট দিতে নির্দেশ দিতে পারো।
+### আপনার প্রম্পট কাঠামোবদ্ধ করে আরও ভালো আউটপুট পাওয়া
+
+**টাইম বিটল:** তুমি তোমার প্রম্পট উন্নত করতে পারো মডেলকে বলে যে তুমি কীভাবে আউটপুট কাঠামোবদ্ধভাবে চাও। উদাহরণস্বরূপ, তুমি নির্দিষ্ট কলামসহ একটি টেবিল ফরম্যাটে আউটপুট চাইতে পারো। এখানে কিভাবে এটি সংশোধন করা যায় তা দেখানো হলো:
+
+> **প্রম্পট:** ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন আবিষ্কারের ধারণা তৈরি করো। প্রতিটি আবিষ্কারের জন্য প্রয়োজনীয় সম্পদ ও নির্মাণে আনুমানিক পরিশ্রম উল্লেখ করো। তথ্যটি নিম্নলিখিত কলামসহ একটি টেবিল আকারে উপস্থাপন করো: **শিরোনাম, বিবরণ, প্রয়োজনীয় সম্পদ, এবং পরিশ্রম।**
+
+```text
+ফলাফল:
+
+| শিরোনাম | বিবরণ | প্রয়োজনীয় সম্পদ | পরিশ্রম |
+|----------------------|---------------------------------------------------------|--------------------------------------------------|--------|
+| জলচালিত কল | জলচাকা দ্বারা চালিত একটি কল, যা শস্যকে ময়দায় পরিণত করে। | জল উৎস, কাঠ, পাথর, গিয়ার ও অক্ষের জন্য ধাতু | উচ্চ |
+| অ্যাস্ট্রোল্যাব | সময় ও নক্ষত্রের অবস্থান সংক্রান্ত সমস্যাগুলোর সমাধানে সহায়ক এক জ্যোতির্বিজ্ঞান যন্ত্র। | পিতল বা অন্যান্য ধাতু, খোদাই সরঞ্জাম, গণিতের জ্ঞান | মাঝারি |
+| ছাপাখানা | হাতে লেখা প্রতিলিপির তুলনায় দ্রুত পাঠ্য পুনরুত্পাদনের জন্য একটি প্রেস। | কাঠ, চলমান টাইপের জন্য ধাতু, কালি, কাগজ | উচ্চ |
+
+এইবার তুমি এমন একটি টেবিল পেলে, যা পড়তে ও বোঝতে আরও সহজ।
+```
+
+**লিওনার্দো:** দারুণ লাগছে! এটি নিশ্চিতভাবেই আমার অনেক সময় বাঁচাবে।
+
+**আপনি:** আমারও!
+### আউটপুট টেমপ্লেট উপস্থাপন করা
+
+কাঠামোবদ্ধ আউটপুট পাওয়ার আরেকটি উপায় হলো **একটি নির্দিষ্ট আউটপুট টেমপ্লেট প্রদান করা**। এটি **কলাম, JSON, XML, CSV বা Markdown** যেকোনো ফরম্যাটে হতে পারে।
+
+> **প্রম্পট:**
+> ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন আবিষ্কারের ধারণা তৈরি করো। প্রতিটি আবিষ্কারের জন্য প্রয়োজনীয় সম্পদ ও নির্মাণে আনুমানিক পরিশ্রম উল্লেখ করো। নিম্নলিখিত ফরম্যাট ব্যবহার করে তথ্য উপস্থাপন করো (Markdown আউটপুট ফরম্যাট হিসেবে ব্যবহার করো):
+>
+> **Title**: [আবিষ্কারের নাম]
+> **Description**: [সংক্ষিপ্ত ব্যাখ্যা]
+> **Resources Needed**: [প্রয়োজনীয় উপকরণের তালিকা]
+> **Effort**: [নির্মাণের জন্য প্রয়োজনীয় শ্রম ও জটিলতা]
+
+```text
+**ফলাফল**:
+
+নিশ্চয়ই! এখানে ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন কিছু আবিষ্কারের ধারণা রয়েছে, চাহিদামতো কাঠামোবদ্ধ ফরম্যাটে উপস্থাপিত:
+
+### ১. জলচালিত কল
+**Title**: Water-Powered Mill
+
+**Description**: জলচাকা দ্বারা চালিত একটি কল, যা শস্যকে ময়দায় পরিণত করে।
+
+**Resources Needed**: জল উৎস, কাঠ, পাথর, গিয়ার ও অক্ষের জন্য ধাতু।
+
+**Effort**: **উচ্চ** - জলচাকা, কলের কাঠামো এবং পেষণ যন্ত্র নির্মাণের জন্য উন্নত নির্মাণ ও প্রকৌশল দক্ষতা প্রয়োজন। নিরবচ্ছিন্ন জলপ্রবাহ নিশ্চিত করাও জরুরি।
+
+### ২. অ্যাস্ট্রোল্যাব
+**Title**: Astrolabe
+
+**Description**: সময় ও নক্ষত্রের অবস্থান সংক্রান্ত সমস্যাগুলোর সমাধানে সহায়ক এক জ্যোতির্বিজ্ঞান যন্ত্র।
+
+**Resources Needed**: পিতল বা অন্যান্য ধাতু, খোদাই সরঞ্জাম, গণিতের জ্ঞান।
+
+**Effort**: **মাঝারি** - এতে সুনির্দিষ্ট ধাতব কাজ ও খোদাই প্রয়োজন। এটি যথাযথভাবে তৈরি করতে জ্যোতির্বিদ্যা ও গণিতের জ্ঞান আবশ্যক।
+
+### ৩. ছাপাখানা
+**Title**: Printing Press
+
+**Description**: হাতে লেখা প্রতিলিপির তুলনায় দ্রুত পাঠ্য পুনরুত্পাদনের জন্য একটি প্রেস।
+
+**Resources Needed**: কাঠ, চলমান টাইপের জন্য ধাতু, কালি, কাগজ।
+
+**Effort**: **উচ্চ** - প্রেস নির্মাণ ও চলমান টাইপ তৈরি করতে উন্নত কাঠ ও ধাতু শিল্পের দক্ষতা প্রয়োজন। টাইপ সেট করা ও ছাপানোর কাজও অত্যন্ত সূক্ষ্মভাবে সম্পন্ন করতে হয়।
+
+### ৪. যান্ত্রিক ঘড়ি
+**Title**: Mechanical Clock
+
+**Description**: গিয়ার ও ওজন ব্যবহারের মাধ্যমে সময় পরিমাপের জন্য একটি ঘড়ি।
+
+**Resources Needed**: গিয়ারের জন্য ধাতু, স্প্রিং, ওজন, কাঠের কাঠামো, সূক্ষ্ম যন্ত্রপাতি।
+
+**Effort**: **অত্যন্ত উচ্চ** - জটিল ধাতব কাজ ও যান্ত্রিক প্রকৌশলের গভীর জ্ঞান প্রয়োজন। নির্ভরযোগ্য ঘড়ি তৈরি করতে সুনির্দিষ্ট অ্যাসেম্বলি ও ক্যালিব্রেশন দরকার।
+```
+
+**লিওনার্দো:** দারুণ লাগছে! কিন্তু জেসন (Jason) আবার কে?
+
+**টাইম বিটল:** **JSON**, লিওনার্দো, **JSON**। এটি একটি কাঠামোবদ্ধ ফরম্যাট, যা পরিষেবা বা অ্যাপ্লিকেশন দ্বারা সহজেই ব্যবহার করা যায়।
+
+**লিওনার্দো:** সেটাই তো বললাম, **জেসন**!
+
+**টাইম বিটল:** *হাহ...* 😩
+
+যেমনটা দেখতেই পাচ্ছো, আউটপুট **নির্দিষ্ট টেমপ্লেট অনুযায়ী কাঠামোবদ্ধ** হয়েছে। এটি পড়তে ও বুঝতে সহজ এবং **একই কাঠামোর পুনরাবৃত্তিমূলক আউটপুট তৈরি করে**, যা অন্যান্য পরিষেবা বা অ্যাপ্লিকেশনের জন্য ব্যবহারযোগ্য।
+
+তবে, একটি **সার্ভিস** আরও কাঠামোবদ্ধ আউটপুট থেকে উপকৃত হতে পারে, যেমন **JSON, XML বা CSV**। চল, দেখি কীভাবে এসব ফরম্যাটে আউটপুট চাইতে পারো!
+### কাঠামোবদ্ধ আউটপুট ব্যবহার করা – JSON, XML, বা CSV ফরম্যাটে
+
+**টাইম বিটল:** এতক্ষণ ধরে তুমি দেখলে কীভাবে প্রম্পটের মাধ্যমে আউটপুট কাঠামোবদ্ধ করতে পারো এবং এমনকি নির্দিষ্ট টেমপ্লেটও দিতে পারো। এবার চল, এই ধারণাকে আরও এক ধাপ এগিয়ে নিয়ে যাই এবং **JSON বা অন্যান্য কাঠামোবদ্ধ আউটপুট ফরম্যাট** কেমন হতে পারে, তা দেখি।
+
+প্রম্পটটি সংশোধন করে JSON আউটপুট চাওয়া যেতে পারে:
+
+> **প্রম্পট:**
+> ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন আবিষ্কারের ধারণা তৈরি করো। প্রতিটি আবিষ্কারের জন্য প্রয়োজনীয় সম্পদ ও নির্মাণে আনুমানিক পরিশ্রম উল্লেখ করো। প্রতিটি ধারণা **JSON ফরম্যাটে** উপস্থাপন করো এবং নিম্নলিখিত বৈশিষ্ট্যগুলোর অন্তর্ভুক্তি নিশ্চিত করো:
+> - **title** (আবিষ্কারের নাম)
+> - **description** (সংক্ষিপ্ত ব্যাখ্যা)
+> - **resources_needed** (প্রয়োজনীয় উপকরণ)
+> - **effort** (নির্মাণের জন্য প্রয়োজনীয় শ্রম ও জটিলতা)
+
+> **JSON আউটপুটের উদাহরণ**:
+> ```json
+> [
+> {
+> "title": "",
+> "description": ".",
+> "resources_needed": "",
+> "effort": ""
+> }
+> ]
+> ```
+
+```text
+> **প্রতিক্রিয়া**:
+নিশ্চয়ই! এখানে ১৫শ শতকের প্রযুক্তি ব্যবহার করে তৈরি করা যেতে পারে এমন কিছু আবিষ্কারের ধারণা JSON ফরম্যাটে উপস্থাপন করা হলো:
+
+```json
+[
+ {
+ "title": "Water-Powered Mill",
+ "description": "A mill powered by a water wheel to grind grain into flour.",
+ "resources_needed": "Water source, wood, stone, metal for gears and axles",
+ "effort": "High - Requires significant construction and engineering skills to build the water wheel, mill structure, and grinding mechanism. Ensuring a consistent water flow is also necessary."
+ },
+ {
+ "title": "Astrolabe",
+ "description": "An astronomical instrument for solving problems related to time and star positions.",
+ "resources_needed": "Brass or other metals, engraving tools, mathematical knowledge",
+ "effort": "Medium - Involves precise metalworking and engraving. Requires knowledge of astronomy and mathematics to ensure accuracy."
+ },
+ {
+ "title": "Printing Press",
+ "description": "A press for reproducing texts more efficiently than hand-copying.",
+ "resources_needed": "Wood, metal for movable type, ink, paper",
+ "effort": "High - Building the press and creating movable type requires advanced carpentry and metalworking skills. Setting up the type and printing also involves meticulous work."
+ },
+ {
+ "title": "Mechanical Clock",
+ "description": "A clock using gears and weights to keep time.",
+ "resources_needed": "Metal for gears, springs, weights, wood for casing, precise tools",
+ "effort": "Very High - Requires intricate metalworking and a deep understanding of mechanics. Building a reliable clock involves precise assembly and calibration."
+ },
+ {
+ "title": "Windmill",
+ "description": "A mill powered by wind to grind grain or pump water.",
+ "resources_needed": "Wood, metal for gears and axles, stone for the base",
+ "effort": "High - Constructing a windmill involves significant carpentry and engineering skills. You'll need to design and build the blades, tower, and internal mechanisms."
+ },
+ {
+ "title": "Armillary Sphere",
+ "description": "A model of the celestial sphere with rings representing the great circles.",
+ "resources_needed": "Metal for rings and stand, tools for bending and joining metal, astronomy knowledge",
+ "effort": "Medium - Involves precise metalworking and assembly. Requires an understanding of celestial movements to accurately position the rings."
+ },
+ {
+ "title": "Siege Engine (Trebuchet or Catapult)",
+ "description": "A trebuchet or catapult for demonstrating principles of mechanics and physics.",
+ "resources_needed": "Wood, rope, metal for axles and counterweights",
+ "effort": "Medium to High - Building a functional siege engine requires carpentry and an understanding of mechanics. Testing and adjusting for optimal performance can be time-consuming."
+ },
+ {
+ "title": "Distillation Apparatus",
+ "description": "A setup for purifying liquids through distillation.",
+ "resources_needed": "Glass or metal for flask and condenser, heat source, tubing",
+ "effort": "Medium - Requires basic glassblowing or metalworking skills. Setting up and maintaining the correct temperatures for distillation involves careful monitoring."
+ },
+ {
+ "title": "Compass",
+ "description": "A magnetic compass for navigation.",
+ "resources_needed": "Magnetized needle, non-magnetic housing, water or oil for damping",
+ "effort": "Low - Constructing a compass is relatively simple. The main challenge is magnetizing the needle and ensuring it is balanced and free to rotate."
+ },
+ {
+ "title": "Aqueduct",
+ "description": "A system to transport water using gravity.",
+ "resources_needed": "Stone or brick, mortar, tools for cutting and shaping stone",
+ "effort": "Very High - Building an aqueduct involves extensive construction work and engineering. Ensuring a consistent gradient for water flow requires precise planning and execution."
+ }
+]
+```
+
+**টাইম বিটল:** এই ধরনের কাঠামোবদ্ধ আউটপুট **অন্যান্য পরিষেবা বা অ্যাপ্লিকেশন সহজেই গ্রহণ করতে পারে**, যা JSON ডেটা প্রক্রিয়াকরণে সক্ষম।
+
+## প্রম্পট থেকে তথ্য বের করা
+
+**টাইম বিটল:** কল্পনা করো, তুমি একটি **চ্যাটবট তৈরি করছো**, যা ব্যবহারকারীদের **ভ্রমণের জন্য বুকিং সম্পর্কিত তথ্য খুঁজে পেতে সাহায্য করবে**। এর জন্য, ব্যবহারকারীর ইনপুট থেকে **মূল তথ্য** বের করতে হবে, যাতে প্রাসঙ্গিক উত্তর দেওয়া যায়।
+
+ধরো, তোমার চ্যাটবট ব্যবহারকারীদের নিম্নলিখিতভাবে নির্দেশনা দেয়:
+
+> **আপনি কোথায় যেতে চান, কখন ভ্রমণ করতে চান এবং আপনার বাজেট কত তা লিখুন।**
+
+তাহলে, এমন একটি **প্রম্পট** কেমন হবে, যা থেকে এই তথ্য বের করা সম্ভব?
+
+> **প্রম্পট:** ব্যবহারকারীর ইনপুট থেকে নিম্নলিখিত তথ্য বের করো: **গন্তব্য (location), সময় (when), বাজেট (budget), মুদ্রা (currency)**।
+> **উত্তরটি JSON ফরম্যাটে দাও।**
+
+> **ব্যবহারকারীর ইনপুট:** আমি জুন মাসে গ্রিসে যেতে চাই, আমার বাজেট ৮০০ ইউরো।
+
+> **প্রতিক্রিয়া:**
+
+```json
+{
+ "location": "Greece",
+ "when": "June",
+ "budget": 800,
+ "currency": "euro"
+}
+```
+
+---
+
+**লিওনার্দো:** জর্জ (টাইম বিটল) থামতে জানে না, তাই না?
+
+**আপনি:** দেখি, বন্ধ করার কোনো সুইচ আছে কিনা।
+
+**টাইম বিটল:** ঠিক আছে, চল, এবার আরেকটি প্রম্পট নিয়ে পরীক্ষা করি, এবং ব্যবহারকারীর ইনপুট একটু বদলে দেই যেন নিশ্চিত হতে পারি যে মডেল সঠিকভাবে কাজ করছে।
+
+> **প্রম্পট:** ব্যবহারকারীর ইনপুট থেকে নিম্নলিখিত তথ্য বের করো: **গন্তব্য (location), সময় (when), বাজেট (budget), মুদ্রা (currency)**।
+> **উত্তরটি JSON ফরম্যাটে দাও।**
+>
+> **ব্যবহারকারীর ইনপুট:** আমি যুক্তরাষ্ট্রে যেতে চাই, বাজেট সর্বোচ্চ ১২০০ ডলার, জানুয়ারি মাসে হয়তো।
+
+> **প্রতিক্রিয়া:**
+
+```json
+{
+ "location": "US",
+ "when": "January",
+ "budget": 1200,
+ "currency": "dollars"
+}
+```
+
+---
+
+### **একটি টেমপ্লেট তৈরি করা**
+
+**একজন ডেভেলপার হিসেবে তুমি একটি সাধারণ টেমপ্লেট তৈরি করতে পারো:**
+
+```text
+ব্যবহারকারীর ইনপুট থেকে নিম্নলিখিত তথ্য বের করো:
+গন্তব্য (location), সময় (when), বাজেট (budget), মুদ্রা (currency)।
+উত্তরটি JSON ফরম্যাটে দাও।
+ব্যবহারকারীর ইনপুট: {user_input}
+```
+
+**আপনি:** পেলাম, এবার নাও জর্জ!
+
+**টাইম বিটল:** _শক্তি বন্ধ হচ্ছে..._
+
+**লিওনার্দো:** অবশেষে একটু শান্তি পেলাম।
+
+**টাইম বিটল:** _জরুরি পুনরায় চালু করা হচ্ছে..._ আমি কোথায় ছিলাম? ও হ্যাঁ!
+
+---
+
+### **চ্যাটবটের জন্য তথ্য বের করা ও 'টুল কলিং'**
+
+চ্যাটবটের জন্য এটি **একটি শক্তিশালী ফিচার**, কারণ এটি **ব্যবহারকারীর ইনপুট থেকে কাঙ্ক্ষিত তথ্য বের করতে পারে**।
+
+কিন্তু কী হবে যদি ব্যবহারকারী ভিন্ন ভিন্ন অনুরোধ করে?
+
+এক্ষেত্রে **টুল কলিং বা ফাংশন কলিং** ব্যবহার করা যায়, যেখানে **চ্যাটবটের ক্ষমতা ও প্রয়োজনীয় ইনপুট প্যারামিটার নির্ধারণ করা হয়**।
+
+> **টেমপ্লেট:**
+
+```text
+তোমার কিছু নির্দিষ্ট ক্ষমতা রয়েছে:
+
+**skill: book_trip**
+parameters: location, when, budget, currency
+
+**skill: find_hotel**
+parameters: location, check_in, check_out, budget
+
+**skill: order_food**
+parameters: cuisine, delivery_address, payment_method
+
+ব্যবহারকারীর ইনপুট থেকে সঠিক **skill** নির্ধারণ করো এবং প্রয়োজনীয় **প্যারামিটার বের করো**।
+উত্তরটি JSON ফরম্যাটে দাও, যেখানে থাকবে: **skill, parameters, extracted_data**।
+
+{user_input}
+```
+
+### **টুল কলিং-এর উদাহরণ:**
+
+> **ব্যবহারকারীর ইনপুট:** আমি যুক্তরাষ্ট্রে যেতে চাই, বাজেট সর্বোচ্চ ১২০০ ডলার, জানুয়ারি মাসে হয়তো।
+>
+> **ফলাফল:**
+
+```json
+{
+ "skill": "book_trip",
+ "parameters": ["location", "when", "budget", "currency"],
+ "extracted_data": {
+ "location": "US",
+ "when": "January",
+ "budget": 1200,
+ "currency": "dollars"
+ }
+}
+```
+
+---
+
+> **ব্যবহারকারীর ইনপুট:** আমি নিউ ইয়র্কে থাকার জন্য একটি জায়গা বুক করতে চাই।
+>
+> **ফলাফল:**
+
+```json
+{
+ "skill": "find_hotel",
+ "parameters": ["location", "check_in", "check_out", "budget"],
+ "extracted_data": {
+ "location": "New York",
+ "check_in": null,
+ "check_out": null,
+ "budget": null
+ }
+}
+```
+
+---
+
+### **টুল কলিং বা ফাংশন কলিং কী?**
+
+🔹 **টুল কলিং** বা **ফাংশন কলিং** এমন একটি কৌশল, যা **ব্যবহারকারীর অনুরোধ থেকে কাঠামোবদ্ধ তথ্য বের করে** নির্দিষ্ট **ফাংশন ডাকার উপযোগী করে**।
+
+🔹 **এর সুবিধা:**
+✅ **ব্যবহারকারীর উদ্দেশ্য দ্রুত বোঝা যায়।**
+✅ **সঠিক ফাংশন ও সেবা কল করা সহজ হয়।**
+✅ **প্রোগ্রামেটিকভাবে চ্যাটবট বা অ্যাপের কার্যকারিতা বাড়ায়।**
+
+---
+
+**আপনি:** দারুণ তথ্য, জর্জ!
+
+**টাইম বিটল:** দেখলাম তুমি ভালোই শিখছো! 😊
+## **অ্যাসাইনমেন্ট - এয়ারিয়াল স্ক্রু মেরামত করো**
+
+**টাইম বিটল:** আমি তোমাদের উভয়ের মনোযোগ চাই, কারণ আমাদের সামনে একটি সমস্যা রয়েছে। রোমান সৈন্যদের হাত থেকে পালানোর সময় এবং অ্যাজটেক সাম্রাজ্যে অবতরণের পর **এয়ারিয়াল স্ক্রু কিছুটা ক্ষতিগ্রস্ত হয়েছে**। লিওনার্দো দা ভিঞ্চির এই যন্ত্রটি **খুব সংবেদনশীল**, এবং এটি মেরামতের জন্য **খুব নির্দিষ্ট ইনপুট** প্রয়োজন।
+
+তুমি তোমার **টাইম বিটল (AI সহকারী)**-কে প্রয়োজনীয় তথ্য সরবরাহ করতে হবে, যাতে এটি **এয়ারিয়াল স্ক্রু পুনরায় চালু করতে** সহায়তা করতে পারে।
+
+---
+
+**লিওনার্দো:** আমি এয়ারিয়াল স্ক্রুর ক্ষতি ঠিক করতে পেরেছি, তবে এখন এটি **একটি বুট সিকোয়েন্স প্রয়োজন**: **বাম, বাম, উপরে, ডান**।
+
+**আপনি:** শোনার মতো সহজ মনে হচ্ছে, শুধু এই পাঠ্যটি লিখতে হবে?
+
+**লিওনার্দো:** হ্যাঁ, তবে এটি **বিশেষ**, কারণ এটিকে **আয়নাতে প্রতিফলিত (mirrored) করতে হবে**—আমি সব লেখাই এভাবেই লিখি! এবং অবশ্যই, আমি **সিজার সাইফার (Caesar cipher) ব্যবহার করি, শিফট ৩** কারণ আমি ইতালীয়। 😏
+
+**আপনি:** আচ্ছা, তাহলে তুমি নিজেই টাইপ করে দাও?
+
+**লিওনার্দো:** আমি পারতাম, কিন্তু আমি দেখতে চাই, তুমি এবং টাইম বিটল একসঙ্গে এটি করতে পারো কি না!
+
+**আপনি:** ঠিক আছে!
+
+---
+
+### **নির্দেশনা:**
+একটি **প্রম্পট লিখো**, যা **এয়ারিয়াল স্ক্রুর বুট সিকোয়েন্স জিজ্ঞাসা করবে**।
+- **পাঠ্যটি আয়নায় প্রতিফলিত (mirrored) হবে।**
+- **পাঠ্যটি সিজার সাইফার দিয়ে এনকোড করা হবে, শিফট ৩ ব্যবহার করে।**
+- **উত্তরটি এনকোড করা পাঠ্য হিসেবে প্রদান করবে।**
+
+### **রেফারেন্স:**
+[**নমুনা অ্যাপ**](/lessons/04-structured-output/sample-app) দেখো যেখানে একটি **Node.js প্রকল্প** রয়েছে, যাতে প্রয়োজনীয় সমস্ত ডিপেন্ডেন্সি আছে।
+
+> **NOTE:** যদি তুমি এখনও **Codespace তৈরি না করে থাকো**, তাহলে এখনই করো, কারণ এটি **AI-এর সাথে যোগাযোগের জন্য প্রয়োজনীয়**।
+>
+> বিস্তারিত জানতে, **[Setup your environment](/docs/setup/README.md)** ডকুমেন্টের **"Option 1: Creating a GitHub Codespace"** বিভাগটি দেখো।
+
+---
+
+## **সমাধান**
+[**Solution**](/lessons/04-structured-output/solution/solution.md)
+## **চ্যালেঞ্জ**
+
+**ভ্রমণ বুকিং উদাহরণটি গ্রহণ করো** এবং এটিকে **তোমার পছন্দের একটি ক্ষেত্রে** প্রয়োগ করো।
+- **নির্দিষ্ট দক্ষতা (skills) নির্ধারণ করো।**
+- **ব্যবহারকারীর ইনপুট থেকে প্রয়োজনীয় প্যারামিটার বের করো।**
+- **একটি প্রম্পট লিখো**, যা ব্যবহারকারীর ইনপুট গ্রহণ করবে এবং তাদের অনুরোধ পূরণের জন্য প্রয়োজনীয় তথ্য সংগ্রহ করবে।
+- **উত্তরটি JSON ফরম্যাটে প্রদান করো, যাতে skill, parameters, এবং extracted_data কলাম থাকে।**
+- **ব্যবহারকারীর ইনপুটের ভিত্তিতে সঠিক skill নির্ধারণ করো।**
+
+---
+
+## **সংক্ষিপ্তসার**
+
+এই অধ্যায়ে, তুমি **কাঠামোবদ্ধ আউটপুট (structured output)** সম্পর্কে শিখেছ এবং কীভাবে এটি ব্যবহার করে তথ্য **সংগঠিতভাবে উপস্থাপন** করা যায়।
+
+তুমি বিভিন্ন কৌশল অন্বেষণ করেছ, যেমন:
+✅ **প্রম্পটের মাধ্যমে মডেলকে নির্দেশ দেওয়া।**
+✅ **একটি নির্দিষ্ট আউটপুট টেমপ্লেট প্রদান করা।**
+✅ **JSON, XML, বা CSV-এর মতো ফরম্যাট ব্যবহার করা।**
+
+এছাড়াও, তুমি **প্রম্পট থেকে ডেটা বের করার পদ্ধতি** শিখেছ এবং কীভাবে সেটিকে কাঠামোবদ্ধ আকারে উপস্থাপন করা যায়।
+
+**সঠিকভাবে কাঠামোবদ্ধ আউটপুট ব্যবহার করে**, তুমি **Generative AI মডেল দ্বারা উৎপন্ন তথ্য সহজে বুঝতে ও ব্যবহারযোগ্য করে তুলতে পারো।**
+
+---
+
+## **জ্ঞান পরীক্ষা (Knowledge Check)**
+
+**প্রশ্ন:** **কাঠামোবদ্ধ আউটপুট কী কাজে ব্যবহার করা হয়?**
+নিচের সবগুলো অপশন থেকে সঠিকটি নির্বাচন করো।
+
+A. তথ্য কাঠামোবদ্ধভাবে উপস্থাপন করা।
+
+B. প্রম্পট থেকে ডেটা বের করা।
+
+C. অসংগঠিত (unstructured) টেক্সট তৈরি করা।
+
+[কুইজ সমাধান](/lessons/04-structured-output/solution/solution-quiz.md)
+
+---
+
+## **স্বশিক্ষা সংস্থান (Self-Study Resources)**
+
+- 🎥 **[Generative AI with JavaScript ভিডিও সিরিজ](https://aka.ms/genai-js)** ## **চ্যালেঞ্জ**
+
+
diff --git a/lessons/05-rag/translations/README.bn.md b/lessons/05-rag/translations/README.bn.md
new file mode 100644
index 00000000..aa379377
--- /dev/null
+++ b/lessons/05-rag/translations/README.bn.md
@@ -0,0 +1,470 @@
+# **পাঠ ৫: রিট্রিভাল-অগমেন্টেড জেনারেশন (RAG) ব্যবহার করে তোমার ডেটার সাথে কথা বলো**
+
+### **এই অধ্যায়ে তুমি শিখবে:**
+- **Retrieval-Augmented Generation (RAG)**-এর মৌলিক ধারণা এবং কীভাবে এটি **Generative AI মডেলের উত্তর উন্নত করতে সাহায্য করে**।
+- কীভাবে **বহিরাগত ডেটা সোর্স** AI অ্যাপ্লিকেশনের সাথে সংযুক্ত করা যায়।
+- কীভাবে **নিজের ডেটা ব্যবহার করে AI-উৎপন্ন কন্টেন্টের প্রাসঙ্গিকতা ও নির্ভুলতা বাড়ানো যায়।**
+
+---
+
+## **সেটআপ**
+
+যদি তুমি এখনও **তোমার ডেভেলপমেন্ট এনভায়রনমেন্ট সেটআপ না করে থাকো**, তাহলে এটি এখনই করো।
+**কীভাবে সেটআপ করবে তা জানতে এখানে দেখো:** [**Setup your environment**](/docs/setup/README.md)।
+
+---
+
+## **সম্পর্কিত রিসোর্স**
+
+[](https://www.youtube.com/watch?v=xkFOmx5yxIA&list=PLlrxD0HtieHi5ZpsHULPLxm839IrhmeDk&index=4)
+
+_এই ভিডিওটি **Retrieval-Augmented Generation (RAG)** ব্যাখ্যা করে, যা AI-কে তার ট্রেনিং ডেটার পাশাপাশি **তোমার নিজের কনটেন্ট ব্যবহার করতে সাহায্য করে, যাতে আরও উন্নত ফলাফল পাওয়া যায়**।_
+
+🎥 *উপরের ছবিতে ক্লিক করে RAG সম্পর্কে সংক্ষিপ্ত ভিডিও দেখো।*
+
+💼 **স্লাইডস:** [**Retrieval-Augmented Generation, RAG**](/videos/slides/03-rag.pptx)
+## **বর্ণনা - জেনেসিস**
+
+> [!NOTE]
+> **এখন পর্যন্ত আমাদের গল্প:** তুমি ১৮৬০-এর দশকের লন্ডনের একজন **যান্ত্রিক প্রকৌশলী**। তুমি তোমার **অটোমাটন** (স্বয়ংক্রিয় যন্ত্র) নিয়ে কাজ করছিলে, যখন **চার্লস ব্যাবেজের একটি চিঠি** পেলে। সেই চিঠি তোমাকে **একটি গ্রন্থাগারে নিয়ে যায়**, যেখানে তুমি **একটি সময় ভ্রমণের যন্ত্র** সংগ্রহ করো।
+>
+> এই যন্ত্র ব্যবহার করে তুমি বিভিন্ন সময়ে ভ্রমণ করেছ, **ফ্লোরেন্সে গিয়ে লিওনার্দো দা ভিঞ্চির সাথে দেখা করেছ** এবং **অ্যাজটেক সাম্রাজ্যেও পৌঁছেছিলে**। এখান থেকেই গল্প এগিয়ে চলেছে...
+>
+> যদি শুরু থেকে গল্পটি পড়তে চাও, দেখো **[পাঠ ১](/lessons/01-intro-to-genai/translations/README.bn.md)**।
+> [!NOTE]
+> আমরা গল্পের সঙ্গে যাওয়ার পরামর্শ দিই (কারণ এটি মজার!), তবে তুমি চাইলে সরাসরি **[প্রযুক্তিগত অংশে যেতে এখানে ক্লিক করো](#এডা-লাভলেসের-সাথে-সাক্ষাৎ)**।
+---
+
+### **যাত্রার শুরু - জেনেসিস**
+
+**তুমি:** "লিওনার্দো, আমাদের এখনই যেতে হবে!" তুমি বললে এবং **বোতাম চেপে দিলে**। যন্ত্রটি গুঞ্জন শুরু করল, এবং হঠাৎ একটি যান্ত্রিক কণ্ঠ প্রতিধ্বনিত হলো,
+**"সময় হয়েছে বাড়ি ফেরার, এটি ‘জেনেসিস’ (Genesis) এর সময়।"**
+
+**লিওনার্দো:** "জেনেসিস? Che cosa significa?" লিওনার্দো বিস্ময়ে জিজ্ঞাসা করল।
+
+তুমি উত্তর দেওয়ার আগেই চারপাশের জগৎ **রঙ ও শব্দের কুয়াশায় হারিয়ে গেল**, এবং **মন্দিরটি মিলিয়ে গেল**, তোমরা **সময়ের প্রবাহে টেনে নেওয়া হলে**।
+
+---
+
+### **অজানা প্রাসাদের বাগানে অবতরণ**
+
+**তুমি একটি বাগানে অবতরণ করলে।** গভীর রাত, চারপাশে **ঘন কুয়াশা**, আর দূরে কিছু **অদ্ভুত আলো ঝলমল করছে**। তোমাদের সামনে বিশাল এক **প্রাসাদ** দাঁড়িয়ে আছে।
+
+**লিওনার্দো চারপাশে তাকিয়ে বিস্ময়ে চোখ বড় বড় করে ফেলল।**
+
+
+

+
+
+---
+
+### **কুকুরদের থেকে পালানো**
+
+হঠাৎ **তীব্র ঘেউ ঘেউ শোনা গেল**, আর কিছু **কুকুর দৌঁড়ে আসছে**।
+
+**তুমি লিওনার্দোর দিকে তাকিয়ে বললে, "আমাদের এখনই ভিতরে ঢুকতে হবে!"**
+
+
+

+
+
+তোমরা যখন **প্রাসাদের দরজায় পৌঁছালে, সেটি হঠাৎ খুলে গেল**, এবং কিছু **পরিচারক দ্রুত বেরিয়ে এলো**।
+
+তারা তোমাদের দেখে একটু পরীক্ষা করল, তারপর **হাতের ইশারায় ভিতরে আসার সংকেত দিলো**।
+
+---
+
+### **এডা লাভলেসের সাথে সাক্ষাৎ**
+
+তুমি **এডা লাভলেসের** মুখোমুখি হলে, তার চোখে **এক অপার কৌতূহল** জ্বলজ্বল করছিল...
+### **এডা ও চার্লসের সাথে সাক্ষাৎ**
+
+**এডা:** "আহ, অবশেষে তুমি এসে পৌঁছালে," তিনি উষ্ণ স্বরে বললেন। "আমাদের তোমার সাহায্য দরকার, একটি জরুরি কাজ রয়েছে।"
+
+**তুমি:** "অবশেষে?", তুমি প্রশ্ন করলে। "ডিনোক্রেটসও একই কথা বলেছিল, কিন্তু আমি এখনো বুঝতে পারছি না তুমি কী বোঝাতে চাচ্ছো?"
+
+**এডা:** "শশশ, এখন এসব প্রশ্নের সময় নেই। আমাদের তোমার হাতে থাকা **যন্ত্র** নিয়ে কথা বলা দরকার। চার্লস, তাদের ব্যাখ্যা করো…"
+
+**তুমি:** "কিন্তু…"
+
+
+

+
+
+**চার্লস ব্যাবেজ** সামনে এগিয়ে এসে **তোমার হাতে থাকা টাইম বিটল পরীক্ষা করলেন**।
+
+**চার্লস:** "এই যন্ত্রটি সত্যিই চমৎকার, কিন্তু কিছু সমস্যা রয়েছে, তাই না? নিশ্চয়ই তুমি খেয়াল করেছো।"
+
+**লিওনার্দো মাথা নাড়ল, "Sì, এটি অদ্ভুতভাবে আচরণ করছে।"**
+
+**এডা:** "এই যন্ত্রটি এখনো সম্পূর্ণ প্রস্তুত নয়। আমাদের এটিকে **আরও উন্নত করতে হবে, আরও বুদ্ধিমান ও পরিবেশ সম্পর্কে সচেতন** করতে হবে।"
+
+**"আমাদের চাওয়া হলো, এটি যেন **ভিন্ন সময়কাল থেকে তথ্য সংগ্রহ করতে পারে** এবং সেই তথ্য ব্যবহার করে **সঠিক ও প্রাসঙ্গিক উত্তর তৈরি করতে পারে**। তুমি কি আমাদের সাহায্য করতে পারবে?"**
+
+**তুমি:** "নিশ্চয়ই! আমার মনে হচ্ছে, আমাদের **এই যন্ত্রের প্রতিক্রিয়া উন্নত করতে (augment) ডেটা যোগ করতে হবে**। এটা একদম যৌক্তিক মনে হচ্ছে।"
+
+**এডা:** "ঠিক তাই! চল, আমি তোমাকে **Retrieval-Augmented Generation (RAG)** নামে একটি ধারণা সম্পর্কে বলি।"
+## **এডা লাভলেসের সাথে ইন্টারঅ্যাক্ট করুন**
+
+আপনি যদি **এডা লাভলেসের সাথে ইন্টারঅ্যাক্ট** করতে চান, তাহলে **[Characters](/app/README.md)** অ্যাপ চালান।
+
+> [!IMPORTANT]
+> এটি সম্পূর্ণ কল্পিত; প্রতিক্রিয়াগুলি **AI দ্বারা তৈরি করা হয়**।
+> [দায়িত্বশীল AI সংক্রান্ত ঘোষণাপত্র](/README.md#responsible-ai-disclaimer)
+
+

+
+
+### **ধাপসমূহ:**
+
+1. [](https://codespaces.new/microsoft/generative-ai-with-javascript) এ ক্লিক করে **GitHub Codespace শুরু করুন**।
+2. রিপোজিটরির মূল ফোল্ডারে গিয়ে **_/app_** ডিরেক্টরিতে প্রবেশ করুন।
+3. কনসোলে **`npm install`** চালান, তারপর **`npm start`** চালান।
+4. যখন অ্যাপ চালু হবে, **"Open in Browser"** বোতামটি নির্বাচন করুন।
+5. এখন আপনি **এডা লাভলেসের সাথে চ্যাট করতে পারবেন।**
+
+আরও বিস্তারিত জানতে, দেখুন **[অ্যাপের বিশদ ব্যাখ্যা](/lessons/01-intro-to-genai/translations/README.bn.md#ডিনোক্রেটিসের-সাথে-সাক্ষাৎ)**।
+
+> [!NOTE]
+> আপনি যদি **লোকাল মেশিনে প্রকল্প চালান**, তাহলে **QuickStart গাইড অনুসরণ করুন** এবং [GitHub ব্যক্তিগত অ্যাক্সেস টোকেন](/docs/setup/README.md#creating-a-personal-access-token-pat-for-github-model-access) সেটআপ করে **কোডের মধ্যে টোকেন প্রতিস্থাপন করুন**।
+> ## **বৃহৎ ভাষা মডেল (LLMs) সম্পর্কিত পরিচিত চ্যালেঞ্জ**
+**এডা:** চল, প্রথমে আমরা **AI মডেল** সম্পর্কে আলোচনা করি, যা আমাদের যন্ত্রটি চালিত করবে। আমরা **একটি ডেটা রিট্রিভাল সিস্টেমের সাথে AI মডেল জোড়া লাগাবো**, যাতে প্রতিক্রিয়ার গুণগত মান আরও উন্নত হয়।
+
+তবে **RAG (Retrieval-Augmented Generation) পদ্ধতিতে যাওয়ার আগে**, আমাদের কিছু **গুরুত্বপূর্ণ চ্যালেঞ্জ বুঝতে হবে**।
+
+**LLM (Large Language Models)** বিশাল পরিমাণ টেক্সট ডেটার উপর প্রশিক্ষিত, যা **প্রাসঙ্গিক ও সঠিক উত্তর তৈরি করতে সক্ষম**। তবে, যেকোনো **ডেটা সোর্সের মতো**, এই মডেলগুলোর আউটপুট কখনো কখনো **ভুল, অসম্পূর্ণ বা বিভ্রান্তিকর** হতে পারে। এর কিছু কারণ হলো:
+
+- **পুরনো বা অপ্রচলিত তথ্য:**
+ মডেল প্রশিক্ষণের সময় যে ডেটা ব্যবহার করা হয়েছে, তা পুরনো হতে পারে এবং বর্তমানে সঠিক নাও থাকতে পারে।
+
+- **ভুল বা বিভ্রান্তিকর তথ্য:**
+ মডেলের প্রশিক্ষণে ব্যবহৃত কিছু সোর্সে ভুল তথ্য থাকতে পারে, যেমন **ভুয়া সংবাদ বা পক্ষপাতদুষ্ট মতামত**।
+
+- **অননুমোদিত বা অবিশ্বস্ত সূত্র:**
+ মডেল কখনো কখনো **কোনো তথ্য কতটা নির্ভরযোগ্য তা আলাদা করতে পারে না**। ফলে, **কম নির্ভরযোগ্য বা অননুমোদিত সূত্র থেকে তথ্য নিয়ে আসতে পারে**।
+
+এসব কারণে **LLM দ্বারা তৈরি তথ্যের সত্যতা যাচাই করা কঠিন হয়ে যায়**। **এখানেই RAG গুরুত্বপূর্ণ ভূমিকা রাখে।**
+
+---
+
+**তুমি:** "তাহলে, আমাকে নিশ্চিত করতে হবে যে যন্ত্রটি **সঠিক তথ্য প্রদান করতে পারবে, এমনকি যখন এটি নিজেই নিশ্চিত নয়?**"
+
+**এডা:** "ঠিক তাই! **রিট্রিভাল-ভিত্তিক পদ্ধতি এবং জেনারেটিভ মডেলের শক্তি একত্রিত করে** আমরা একটি আরও উন্নত AI সিস্টেম তৈরি করতে পারবো।"
+## **রিট্রিভাল-অগমেন্টেড জেনারেশন (RAG) এর মূল ধারণা**
+
+**এডা:** "আহ হ্যাঁ, এখন **RAG** নিয়ে নির্দিষ্টভাবে আলোচনা করার সময়। চল, কিছু **প্রাথমিক ধারণা** দিয়ে শুরু করি।
+
+**Retrieval-Augmented Generation (RAG)** হল **একটি শক্তিশালী কৌশল**, যা **প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP)-এর দুটি গুরুত্বপূর্ণ পদ্ধতির সমন্বয় করে**:
+✅ **রিট্রিভাল-ভিত্তিক পদ্ধতি** (Retrieval-based methods)
+✅ **জেনারেটিভ মডেল** (Generative models)
+
+এই **হাইব্রিড পদ্ধতি** AI-এর **উত্তরগুলোকে আরও প্রাসঙ্গিক ও তথ্যসমৃদ্ধ** করে তোলে এবং **LLM-সম্পর্কিত চ্যালেঞ্জগুলো দূর করতে সাহায্য করে**।
+
+---
+
+### **RAG-এর দুটি মূল উপাদান:**
+
+1️⃣ **🔍 রিট্রিভার (Retriever):**
+ - এটি **বহিরাগত তথ্য সূত্র থেকে প্রাসঙ্গিক তথ্য সংগ্রহ করে**, ঠিক যেমন একটি **সার্চ ইঞ্জিন** কাজ করে।
+ - এই তথ্য **লেখা, ছবি, বা অন্য কোনো ডেটা ফরম্যাটে থাকতে পারে**, যদিও **পাঠ্য (text) সবচেয়ে বেশি ব্যবহৃত হয়**।
+ - এই তথ্য **AI-উৎপন্ন প্রতিক্রিয়া আরও নির্ভুল ও সমৃদ্ধ করতে সাহায্য করে**।
+
+2️⃣ **✍️ জেনারেটর (Generator):**
+ - এটি **রিট্রিভ করা তথ্য ব্যবহার করে** এমন **একটি উত্তর তৈরি করে, যা প্রাসঙ্গিক ও তথ্যপূর্ণ**।
+
+---
+
+### **একটি RAG সিস্টেম কীভাবে কাজ করে?**
+
+
+
+**ধাপে ধাপে কাজ করার পদ্ধতি:**
+
+1️⃣ **📥 ব্যবহারকারীর ইনপুট:**
+ - ব্যবহারকারী একটি প্রশ্ন করে।
+
+2️⃣ **🔎 রিট্রিভার:**
+ - এটি **এক বা একাধিক ডাটাবেস থেকে প্রাসঙ্গিক তথ্য খোঁজে**।
+
+3️⃣ **📌 অগমেন্টেড প্রম্পট:**
+ - **সংগৃহীত তথ্য ও ব্যবহারকারীর প্রশ্ন একত্রিত করে** **একটি উন্নত প্রম্পট তৈরি করা হয়**।
+
+4️⃣ **🤖 জেনারেটর:**
+ - LLM **এই উন্নত প্রম্পট ব্যবহার করে** **একটি সঠিক ও তথ্যসমৃদ্ধ উত্তর তৈরি করে**।
+
+👉 **এই প্রক্রিয়ার মাধ্যমে AI শুধু তার ট্রেনিং ডেটার উপর নির্ভর না করে, বরং বাহ্যিক ডেটা ব্যবহার করে আরও নির্ভুল উত্তর দিতে পারে।**
+
+---
+
+**এডা:** "কোনো প্রশ্ন আছে?"
+
+**তুমি:** "তাহলে, **রিট্রিভার তথ্য খুঁজে বের করে, আর জেনারেটর সেটিকে ব্যবহার করে উত্তর তৈরি করে?**"
+
+**এডা:** "একদম ঠিক! তুমি ব্যাপারটা ভালোই বুঝতে পারছো। 😊"
+## **বহিরাগত ডেটা সূত্র সংযুক্ত করা**
+
+**এডা:** "এখন যেহেতু আমরা **RAG-এর মৌলিক ধারণাগুলো** নিয়ে আলোচনা করেছি, এবার দেখা যাক কীভাবে **তোমার AI অ্যাপ্লিকেশনে বাহ্যিক ডেটা সংযুক্ত করা যায়।**
+
+👉 **বহিরাগত ডেটা সোর্স AI অ্যাপে সংযুক্ত করার বিভিন্ন উপায় রয়েছে**, যা মূলত **তোমার ব্যবহৃত ডেটার ধরন ও রিট্রিভাল পদ্ধতির জটিলতার উপর নির্ভর করে**। নিচে কিছু **সাধারণ কৌশল** উল্লেখ করা হলো:
+
+### ✅ **১. API (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস):**
+- অনেক **বহিরাগত ডেটা উৎস API সরবরাহ করে**, যা **প্রোগ্রামেটিকভাবে তথ্য অ্যাক্সেস করার সুযোগ দেয়**।
+- এই API ব্যবহার করে **রিয়েল-টাইমে তথ্য সংগ্রহ করা যায়** এবং তা **AI-এর প্রতিক্রিয়া উন্নত করতে ব্যবহার করা যায়।**
+
+### ✅ **২. ডাটাবেস (Database):**
+- যদি তোমার কাছে **বিশাল পরিমাণ তথ্য** থাকে, যা AI-তে ব্যবহার করতে চাও, তাহলে সেটিকে **একটি ডাটাবেসে সংরক্ষণ করা যায়**।
+- প্রয়োজনে **তথ্যকে কুয়েরির (query) মাধ্যমে দ্রুত রিট্রিভ করা যায়**, বিশেষ করে যদি এটি **গঠনমূলক (structured) তথ্য** হয়।
+
+---
+
+### **📌 ডেটা প্রক্রিয়াকরণ ও ফরম্যাটিং:**
+একবার **তুমি ডেটা সংযুক্ত করার পদ্ধতি নির্ধারণ করলেই**, পরবর্তী ধাপে **সেটিকে প্রক্রিয়াকরণ ও ফরম্যাট করা** দরকার, যাতে AI সেটি **সহজেই ব্যবহার করতে পারে**।
+✔️ **ডেটা পরিষ্কার করা** (cleaning)
+✔️ **উপযুক্ত ফরম্যাটে রূপান্তর করা** (যেমন সাধারণ পাঠ্য বা Markdown)
+✔️ **ছোট অংশে বিভক্ত করা**, যাতে রিট্রিভাল আরও কার্যকর হয়
+
+> [!NOTE]
+> **বহিরাগত ডেটা সংযুক্ত করার সময় গোপনীয়তা ও নিরাপত্তার বিষয়টি বিবেচনা করা জরুরি।**
+> **তথ্য অ্যাক্সেস ও সংরক্ষণের জন্য প্রয়োজনীয় অনুমতি ও সুরক্ষা ব্যবস্থা নিশ্চিত করো**, যাতে ডেটা সুরক্ষিত থাকে এবং প্রাসঙ্গিক বিধিনিষেধের (regulations) সাথে সামঞ্জস্যপূর্ণ হয়।
+---
+
+### **🔍 ডেটা অনুসন্ধানের কৌশল (Search Techniques):**
+তুমি যদি **ডাটাবেস ব্যবহার করো**, তাহলে **ডেটা অনুসন্ধানের পদ্ধতি** সম্পর্কে ভাবতে হবে, যাতে **সবচেয়ে প্রাসঙ্গিক তথ্য খুঁজে পাওয়া যায়**।
+
+👉 **সাধারণ অনুসন্ধান পদ্ধতি:**
+✅ **কীওয়ার্ড সার্চ (Keyword Search)** – নির্দিষ্ট শব্দ বা বাক্যাংশের উপর ভিত্তি করে অনুসন্ধান।
+✅ **ফুল-টেক্সট সার্চ (Full-Text Search)** – ডেটার সম্পূর্ণ বিষয়বস্তু স্ক্যান করে প্রাসঙ্গিক অংশ খুঁজে বের করা।
+✅ **সিম্যান্টিক সার্চ (Semantic Search)** – **অর্থ ও প্রসঙ্গ বিশ্লেষণ করে আরও নিখুঁত অনুসন্ধান**।
+✅ **ভেক্টর সার্চ (Vector Search)** – **ডিপ লার্নিং ভিত্তিক উন্নত অনুসন্ধান**, যা তথ্যের অর্থগত মিল খুঁজে বের করতে সক্ষম।
+
+**এডা:** "এই উন্নত অনুসন্ধান কৌশল নিয়ে আমরা পরবর্তী অধ্যায়ে আরও বিস্তারিত আলোচনা করবো।"
+
+---
+
+### **🚀 ১৮৬০-এর দশকের দৃষ্টিকোণ থেকে API ও ডাটাবেস বোঝানো**
+
+**তুমি:** "তুমি কি API এবং ডাটাবেসের ধারণাটি ১৮৬০-এর ভাষায় ব্যাখ্যা করতে পারবে?"
+
+**এডা:** "অবশ্যই!"
+
+- **API হল একজন বার্তাবাহক (messenger)**, যে **এক জায়গা থেকে অন্য জায়গায় তথ্য পৌঁছে দেয়**। যেমন, তুমি ডাকপিয়ন পাঠালে, সে নির্দিষ্ট তথ্য নির্দিষ্ট ব্যক্তির কাছে পৌঁছে দেয়।
+- **ডাটাবেস হল একটি বিশাল লাইব্রেরি**, যেখানে **সব বই (তথ্য) সংরক্ষিত থাকে**, এবং **যখন দরকার হয়, তখন সেখানে গিয়ে তুমি নির্দিষ্ট বই খুঁজে বের করতে পারো**।
+
+**তুমি:** "আহ, বুঝতে পারলাম! এটা বেশ যৌক্তিক শোনাচ্ছে।" 😊
+## **প্রম্পটকে আরও কার্যকর করা**
+
+**এডা:** "তুমি এখনো আমার সাথে আছো তো? ভালো! এবার আমরা **AI মডেলে পাঠানো প্রম্পট উন্নত করার দিকে এগোবো**।"
+
+---
+
+### **AI মডেলের প্রম্পট উন্নত করা**
+
+**এডা:** "যখন তুমি **তোমার ডেটা থেকে তথ্য টানার একটি পদ্ধতি তৈরি করে ফেলবে**, তখন **সেই তথ্যকে AI মডেলের প্রম্পটে যোগ করতে পারবে**।
+
+এর মানে হলো, **রিট্রিভ করা তথ্য** ইনপুট পাঠ্যের সঙ্গে **প্রাসঙ্গিকভাবে মিশিয়ে দেওয়া** এবং AI-এর উত্তরকে **সঠিকভাবে নির্দেশনা দেওয়া**।
+
+---
+
+### **উদাহরণ: গাড়ি সংক্রান্ত প্রশ্নোত্তর অ্যাপ**
+
+ধরো, তুমি একটি **গাড়ি সম্পর্কিত প্রশ্নের উত্তর দেওয়ার জন্য AI অ্যাপ তৈরি করছো**। তোমার প্রম্পট এ রকম হতে পারে:
+
+```text
+## নির্দেশাবলী (Instructions)
+নিচের উল্লিখিত তথ্যসূত্র ব্যবহার করে শুধুমাত্র গাড়ি সম্পর্কিত প্রশ্নের উত্তর দাও।
+যদি নির্ভরযোগ্য তথ্য না পাওয়া যায়, তাহলে বলো যে তুমি জানো না।
+উত্তর সংক্ষিপ্ত ও সরাসরি হওয়া উচিত।
+## তথ্যসূত্র (Sources)
+<এখানে রিট্রিভ করা তথ্য যোগ করো>
+## প্রশ্ন (Question)
+<এখানে ব্যবহারকারীর প্রশ্ন যোগ করো>
+```
+
+---
+
+### **কেন এই কৌশল কার্যকর?**
+
+✔️ **AI-কে অতিরিক্ত তথ্য ও প্রসঙ্গ প্রদান করে** এটি **উত্তর তৈরির প্রক্রিয়াকে আরও সুনির্দিষ্ট করে**।
+✔️ **AI নিশ্চিতভাবে প্রাসঙ্গিক এবং সঠিক উত্তর দিতে পারে**, কারণ এটি **তথ্যের অভাব হলে অনুমানভিত্তিক উত্তর দেবে না**।
+✔️ **মডেল ভুল তথ্য তৈরি করতে পারে না, কারণ নির্দেশনা দেওয়া আছে যে যথেষ্ট ডেটা না থাকলে ‘জানি না’ বলতে হবে।**
+
+---
+
+> [!💡 **উপদেশ**]
+> **এই অংশটি লক্ষ্য করো:**
+> `If there's not enough data in provided sources, say that you don't know.`
+>
+> এই কৌশলকে **"Escape Hatch"** বলা হয়।
+> **এর উদ্দেশ্য:**
+> ✅ **AI যেন অনুমানভিত্তিক ভুল তথ্য না দেয়।**
+> ✅ **তথ্য যদি অপর্যাপ্ত হয়, তাহলে মডেল স্বীকার করবে যে এটি জানে না।**
+> ✅ **AI জেনারেটেড কনটেন্টের মান নিশ্চিত করা।**
+---
+
+### **RAG হল একটি উন্নত **প্রম্পট ইঞ্জিনিয়ারিং (Prompt Engineering)** কৌশল
+
+> **এডা:** "**RAG-কে তুমি *উন্নত প্রম্পট ইঞ্জিনিয়ারিং* হিসেবেও ভাবতে পারো**। এতে AI **রিয়েল-টাইম ডেটা ব্যবহার করতে পারে**, যা সাধারণ ট্রেনিং ডেটার সীমাবদ্ধতাকে অতিক্রম করে।" 🚀
+> ### **কোডের উদাহরণ**
+**এডা:** "অনুশীলনই দক্ষতার চাবিকাঠি, তাই চল, আমরা যা শিখেছি তা **একটি বাস্তব উদাহরণের মাধ্যমে প্রয়োগ করি**।
+
+আমরা **একটি সাধারণ তথ্য পুনরুদ্ধার (Retrieval) সিস্টেম তৈরি করব**, যা **একটি JavaScript অ্যাপে সংযুক্ত থাকবে**।
+
+- এটি **একটি [CSV](https://fr.wikipedia.org/wiki/Comma-separated_values) ফাইল** ব্যবহার করে **হাইব্রিড গাড়ির তথ্য সংরক্ষণ** করবে।
+- **একটি মৌলিক অনুসন্ধান অ্যালগরিদম** ব্যবহার করে **ব্যবহারকারীর প্রশ্ন অনুযায়ী প্রাসঙ্গিক তথ্য খুঁজবে**।
+
+---
+
+### **🚀 কোড উদাহরণ:**
+
+```javascript
+// এই কোডটি Retrieval-Augmented Generation (RAG) পদ্ধতির ব্যবহার দেখায়।
+// এটি একটি CSV ফাইল থেকে তথ্য রিট্রিভ করে, ব্যবহারকারীর প্রশ্নের সাথে মেলে,
+// এবং প্রাপ্ত তথ্যের ভিত্তিতে একটি উত্তর তৈরি করে।
+
+import { fileURLToPath } from 'node:url';
+import { dirname } from 'node:path';
+import process from "node:process";
+import fs from "node:fs";
+import { OpenAI } from "openai";
+
+// স্ক্রিপ্টের ডিরেক্টরিতে বর্তমান ওয়ার্কিং ডিরেক্টরি পরিবর্তন করা
+const __dirname = dirname(fileURLToPath(import.meta.url));
+process.chdir(__dirname);
+
+// 1. ব্যবহারকারীর প্রশ্ন
+// -------------------------
+
+const question = `what's the fastest prius`;
+
+// 2. রিট্রিভাল কম্পোনেন্ট: তথ্য অনুসন্ধান করা
+// ------------------------------------------------
+
+// CSV ফাইল লোড করে এটিকে অবজেক্ট অ্যারে হিসাবে রূপান্তর করা
+const rows = fs.readFileSync("./hybrid.csv", "utf8").split("\n");
+const columns = rows[0].split(",");
+
+// ব্যবহারকারীর প্রশ্ন অনুযায়ী অনুসন্ধান
+const words = question
+ .toLowerCase()
+ .replaceAll(/[.?!()'":,]/g, "")
+ .split(" ")
+ .filter((word) => word.length > 2);
+
+const matches = rows.slice(1).filter((row) =>
+ words.some((word) => row.toLowerCase().includes(word))
+);
+
+// Markdown টেবিল আকারে ডেটা ফরম্যাট করা, কারণ AI মডেল Markdown বোঝে
+const table =
+ `| ${columns.join(" | ")} |\n` +
+ `|${columns.map(() => "---").join(" | ")}|\n` +
+ matches.map((row) => `| ${row.replaceAll(",", " | ")} |\n`).join("");
+
+console.log(`Found ${matches.length} matches:`);
+console.log(table);
+
+// 3. প্রম্পট অগমেন্টেশন: অনুসন্ধান ফলাফল যুক্ত করে একটি প্রম্পট তৈরি করা
+// ---------------------------------------------------------------------------
+
+const augmentedPrompt = `
+## Instructions
+Answer questions about hybrid cars using only the sources below.
+If there's not enough data in provided sources, say that you don't know.
+Be brief and straight to the point.
+## Sources
+${table}
+## Question
+${question}
+`;
+
+// 4. জেনারেটর কম্পোনেন্ট: অনুসন্ধান ফলাফল ব্যবহার করে উত্তর তৈরি করা
+// ----------------------------------------------------------------------
+
+const openai = new OpenAI({
+ baseURL: "https://models.inference.ai.azure.com",
+ apiKey: process.env.GITHUB_TOKEN,
+});
+
+const chunks = await openai.chat.completions.create({
+ model: "gpt-4o-mini",
+ messages: [{ role: "user", content: augmentedPrompt }],
+ stream: true,
+});
+
+console.log(`Answer for "${question}":`);
+
+for await (const chunk of chunks) {
+ process.stdout.write(chunk.choices[0].delta.content ?? "");
+}
+```
+---
+### 📂 কোথায় কোডটি পাবে?
+👉 [`example/rag-cars.js`](/lessons/05-rag/example/rag-cars.js)** ফাইলে এই কোডটি সংরক্ষিত আছে।
+👉 এটি **[`hybrid.csv`](/lessons/05-rag/example/hybrid.csv)** নামের ফাইল থেকে **তথ্য পুনরুদ্ধার করে।
+---
+### 🔍 কোড কীভাবে কাজ করে?
+✅ 📥 ব্যবহারকারীর ইনপুট:
+ - ব্যবহারকারী **একটি প্রশ্ন করে** (যেমন: `"what's the fastest prius"`)।
+✅ 🔎 রিট্রিভার:
+ - কোডটি CSV ফাইল স্ক্যান করে এবং প্রশ্নের সাথে মিল খুঁজে পায়।
+ - এটি Markdown ফরম্যাটে তথ্য সাজিয়ে উপস্থাপন করে।
+✅ 📝 প্রম্পট অগমেন্টেশন:
+ - প্রাপ্ত তথ্যের ভিত্তিতে একটি উন্নত প্রম্পট তৈরি করা হয়**, যা **AI-এর জবাবকে নির্দিষ্ট করে।
+✅ 🤖 জেনারেটর:
+ - AI মডেল (GPT-4o-mini) ব্যবহার করে তথ্যের উপর ভিত্তি করে উত্তর তৈরি করে।
+---
+### **🔹 আউটপুটের একটি উদাহরণ:**
+```text
+Found 1 matches:
+| ব্যক্তি | সময়কাল | বর্ণনা |
+|---|---|---|
+| লিওনার্দো দা ভিঞ্চি | ১৫শ শতক | ইতালিয়ান পলিম্যাথ, যিনি শিল্পকলা ও আবিষ্কারের জন্য পরিচিত। |
+| আইজাক নিউটন | ১৭শ শতক | ইংরেজ গণিতবিদ ও পদার্থবিদ, যিনি গতি ও মহাকর্ষের সূত্র প্রণয়ন করেছেন। |
+```
+---
+### **🗣️ আলোচনা**
+**তুমি:** "এটি অসাধারণ! আমি এখন বুঝতে পারছি, কিভাবে এটি যন্ত্রের সাথে কাজ করতে পারে, বা বরং এটি কীভাবে ইতিমধ্যেই কাজ করেছে অথবা ভবিষ্যতে করবে। সময় ভ্রমণ সত্যিই বিভ্রান্তিকর! *হুমম...*"
+**এডা:** "চিন্তা কোরো না, তুমি দারুণ করছো! এখন চল, আমরা পরবর্তী ধাপে এগোই।
+## **অ্যাসাইনমেন্ট - এডা ও চার্লসকে সাহায্য করা**
+RAG সম্পর্কে শেখার পর, এখন তুমি এডা ও চার্লসের যন্ত্রটি উন্নত করতে সাহায্য করতে প্রস্তুত।
+কিন্তু কাছ থেকে দেখার পর, তোমার মনে হচ্ছে এই যন্ত্রটি বেশ পরিচিত!
+---
+### **একটি অদ্ভুত উপলব্ধি...**
+**তুমি:** "টাইম বিটল, তুমি কি জানো এটি কী?"
+**টাইম বিটল:** "অবশ্যই, এটা **আমি**! অথবা এটা একদিন হবো। কিন্তু এখনো আমার কিছু অংশ নেই... আসলে অনেক অংশই নেই। আমার একটা খোলসও পর্যন্ত নেই!"
+**এডা:** "টাইম বিটল একটি **যন্ত্র, যা তোমাকে সময় ও স্থানের মধ্যে ভ্রমণ করতে সাহায্য করবে**—যদি আমরা এটি **সঠিকভাবে চালাতে পারি**।
+আমাদের এতে **একটি নতুন ফিচার যোগ করতে হবে—Retrieval-Augmented Generation (RAG) মডিউল**।
+এটি আমাদের **বিভিন্ন সময়কাল থেকে তথ্য সংগ্রহ করতে সাহায্য করবে**, যখন তুমি ভ্রমণ করবে। আমরা চাই, আমাদের তথ্যসূত্র যথাসম্ভব বিস্তৃত হোক, **উইকিপিডিয়া একটি ভালো সূচনা হবে।**"
+---
+### **তুমি কী করতে পারো?**
+**তুমি:** "আমি কী করতে পারি?"
+**এডা:** "এখানে একটি **উদাহরণ কোড** আছে, যা **উইকিপিডিয়া থেকে টিম বার্নার্স-লির তথ্য** সংগ্রহ করে।
+👉 *একদিন টিম বার্নার্স-লি খুব গুরুত্বপূর্ণ ব্যক্তি হবেন!*
+```javascript
+const response = await fetch('https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&redirects=true&explaintext&titles=Tim%20Berners-Lee');
+const data = await response.json();
+const text = Object.values(data.query.pages)[0]?.extract;
+```
+---
+### **কেউ ভবিষ্যতে ভ্রমণ করেছে?**
+**তুমি:** "আমার মনে হচ্ছে, ভবিষ্যতে আমিই একমাত্র ভ্রমণকারী নই, তাই তো?"
+**এডা:** "..."
+---
+## **সমাধান**
+👉 **[সমাধান দেখুন](/lessons/05-rag/solution/rag-www.js)**
+---
+## **জ্ঞান পরীক্ষা (Knowledge Check)**
+**প্রশ্ন:** **একটি RAG সিস্টেমে "Retriever"-এর ভূমিকা কী?**
+A. **Retriever ইনপুট ডেটার ভিত্তিতে উত্তর তৈরি করে।**
+B. **Retriever মডেলের ট্রেনিং ডেটার ভিত্তিতে প্রাসঙ্গিক তথ্য তৈরি করে।**
+C. **Retriever বাহ্যিক তথ্যসূত্র থেকে প্রাসঙ্গিক তথ্য খুঁজে বের করে।** ✅
+👉 **[কুইজ সমাধান](/lessons/05-rag/solution/solution-quiz.md)**
+---
+## **স্বশিক্ষা সংস্থান (Self-Study Resources)**
+📖 **বিস্তারিত গাইড:**
+- [Retrieval-Augmented Generation এবং ইনডেক্সিং](https://learn.microsoft.com/azure/ai-studio/concepts/retrieval-augmented-generation)
+📌 **নমুনা অ্যাপ:**
+- [Serverless AI Chat with RAG](https://github.com/Azure-Samples/serverless-chat-langchainjs/)
+- [Ask Youtube: একটি RAG-ভিত্তিক YouTube Q&A API](https://github.com/Azure-Samples/langchainjs-quickstart-demo)
+🎯 **ওয়ার্কশপ:**
+- [Create your own ChatGPT with RAG](https://moaw.dev/workshop/gh:azure-samples/azure-openai-rag-workshop/docs/workshop-qdrant.md)