𝗧𝗵𝗲 𝗠𝗼𝗱𝗲𝗹 𝗗𝗼𝗲𝘀𝗻'𝘁 𝗥𝗲𝗺𝗲𝗺𝗯𝗲𝗿. 𝗬𝗼𝘂 𝗗𝗼.
LLM-গুলোর কোনো মেমরি নেই।
আমি ভাবতাম প্রতিটি চ্যাট তার নিজস্ব কনটেক্সট সংরক্ষণ করে। আমি ভাবতাম মডেলটি স্বয়ংক্রিয়ভাবে আমাদের আগের কথাগুলো মনে রাখে। আমি ভুল ছিলাম।
Messages API হলো স্টেটলেস (stateless)। মডেলটি শুধুমাত্র ততটুকুই জানে যা আপনি বর্তমান রিকোয়েস্টে পাঠাচ্ছেন। আপনি যদি একটি কথোপকথন চালিয়ে যেতে চান, তবে আপনাকে প্রতিবার সম্পূর্ণ ইতিহাস মডেলটির কাছে পাঠাতে হবে।
আপনার মেমরি হলো কেবল মেসেজগুলোর একটি অ্যারে।
আপনি যখন একটি চ্যাট তৈরি করেন, তখন আপনাকে এই অ্যারেটি পরিচালনা করতে হয়। এটি দেখতে অনেকটা এরকম:
• User: Hello, Claude • Assistant: Hello! How can I help? • User: Can you describe LLMs?
প্রতিবার যখন আপনি নতুন কোনো প্রশ্ন করেন, আপনি সেই তালিকায় নতুন মেসেজটি যুক্ত করেন এবং পুরো তালিকাটি API-তে পাঠিয়ে দেন।
আমি SDK এড়িয়ে চলার মাধ্যমে এটি শিখেছি। বেশিরভাগ ডেভেলপার Anthropic SDK-এর মতো টুল ব্যবহার করেন। এই টুলগুলো জটিলতা লুকিয়ে রাখে। এগুলো আপনার হয়ে রিট্রাই (retries) এবং হেডার (headers) পরিচালনা করে।
আমি পরিবর্তে raw fetch ব্যবহার করার সিদ্ধান্ত নিয়েছিলাম। এটি আমাকে ম্যানুয়ালি হেডার এবং রিকোয়েস্ট বডি পরিচালনা করতে বাধ্য করেছিল। এটি অ্যাবস্ট্রাকশন (abstraction) সরিয়ে দেয়। এর ফলে আমি স্পষ্টভাবে দেখতে পেয়েছি ডেটা কীভাবে মুভ করে।
এই ধারণাটি অন্য সবকিছুর ভিত্তি। আপনি যদি উন্নত সিস্টেম তৈরি করতে চান, তবে আপনাকে অবশ্যই এই অ্যারেটি বুঝতে হবে। RAG বা sliding windows-এর মতো কৌশলগুলো মূলত আপনি কীভাবে এই মেসেজ তালিকাটি পরিচালনা করেন তার ওপর ভিত্তি করেই শুরু হয়।
একবার আপনি হিস্ট্রি বা ইতিহাস নিয়ন্ত্রণে দক্ষ হয়ে উঠলে, আপনি টুল ব্যবহারের (tool use) দিকে এগোতে পারেন। এটি মডেলটিকে টাস্ক বা কাজ সম্পন্ন করতে এবং চালানোর জন্য সঠিক ফাংশন বেছে নিতে সাহায্য করে।
আপনার কনটেক্সট নিয়ন্ত্রণ করুন। আপনার মডেল নিয়ন্ত্রণ করুন।
Source: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi