মডেল কিছু মনে রাখে না। আপনি রাখেন।

আমি ভাবতাম Large Language Models (LLMs)-এর স্মৃতি আছে।

আমি ভাবতাম প্রতিটি চ্যাট সেশন তার নিজস্ব কনটেক্সট সংরক্ষণ করে। আমি ভুল ছিলাম।

LLM-গুলো stateless। একটি রিকোয়েস্ট থেকে পরবর্তী রিকোয়েস্টের মধ্যে মডেল কিছুই মনে রাখতে পারে না।

আপনি যখন কোনো চ্যাট হিস্ট্রি দেখেন, তখন আপনি আসলে মেসেজগুলোর একটি অ্যারে (array) দেখছেন। একটি কথোপকথন তৈরি করতে হলে, প্রতিটি নতুন প্রম্পটের সাথে আপনাকে পুরো হিস্ট্রিটি মডেলের কাছে পুনরায় পাঠাতে হবে।

আপনি যদি কোনো SDK ব্যবহার করেন, তবে এই প্রক্রিয়াটি আড়ালে থাকে। SDK আপনার হয়ে এই জটিলতাগুলো সামলে নেয়।

আপনি যদি raw fetch ব্যবহার করেন, তবে আপনি সবকিছু দেখতে পাবেন। আপনাকে নিজেই হেডার (headers), বডি (body) এবং মেসেজ অ্যারে (message array) ম্যানেজ করতে হবে।

কনটেক্সট এভাবে কাজ করে:

• আপনি একটি মেসেজ পাঠান। • মডেলটি উত্তর দেয়। • আপনি উভয় মেসেজ একটি অ্যারেতে সংরক্ষণ করেন। • পরবর্তী প্রশ্নের জন্য আপনি পুরো অ্যারেটি আবার পাঠান।

মডেলটি শুধুমাত্র ততটুকুই জানে যা আপনি বর্তমান রিকোয়েস্টে পাঠাচ্ছেন। বাকি সবকিছু হারিয়ে যায়।

এই অ্যারেটি বোঝা হলো AI ডেভেলপমেন্টের ভিত্তি। এটি RAG, sliding windows এবং semantic search-এর মতো উন্নত পদ্ধতিগুলোর শুরুর বিন্দু।

আপনি যদি নির্ভরযোগ্য AI টুল তৈরি করতে চান, তবে অ্যাবস্ট্রাকশন (abstractions)-এর ওপর নির্ভর করা বন্ধ করুন। র (raw) রিকোয়েস্টগুলোর দিকে তাকান। হিস্ট্রি নিজেই নিয়ন্ত্রণ করুন।

সম্পূর্ণ পোস্ট: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-38jk