GraphRAG এবং persistent contextual memory এখন AI চ্যাটবটগুলোর সাথে যুক্ত করা হচ্ছে যাতে পেজ রিফ্রেশ বা নতুন ব্রাউজার ট্যাবেও কথোপকথন বজায় থাকে। ডেভেলপারদের মতে, এই সমন্বয় সেই “tab-kill” বিস্মৃতি দূর করে যা বেশিরভাগ কনভারসেশনাল অ্যাসিস্ট্যান্টের ব্যবহারকারীদের হতাশ করে তোলে।
কেন পুরনো পদ্ধতিটি যথেষ্ট নয়
বেশিরভাগ চ্যাট-ভিত্তিক AI সিস্টেম স্ট্যান্ডার্ড Retrieval-Augmented Generation (RAG)-এর ওপর নির্ভর করে। এই পাইপলাইনটি বর্তমান প্রশ্নের সাথে সামঞ্জস্যপূর্ণ টেক্সট খণ্ডগুলো সংগ্রহ করে, সেগুলোকে একটি ল্যাঙ্গুয়েজ মডেলে পাঠায় এবং একটি উত্তর প্রদান করে। একটি একক তথ্যের অনুসন্ধানের জন্য—“ফ্রান্সের রাজধানী কী?”—এই পদ্ধতিটি ভালো কাজ করে।
কিন্তু RAG প্রতিটি ব্যবহারকারীর ইনপুটকে একটি বিচ্ছিন্ন অনুরোধ হিসেবে বিবেচনা করে। যখন কোনো ফলো-আপ কয়েক মিনিট আগে বলা কোনো বিষয়ের ওপর নির্ভর করে, তখন মডেলটির সেই প্রসঙ্গের (context) কোনো স্মৃতি থাকে না। এর ফলে চ্যাটবটটি আপনাকে একই কথা পুনরায় বলতে বলে অথবা আগের বিবরণগুলো উপেক্ষা করে উত্তর দেয়। সমস্যাটি বুদ্ধিমত্তার অভাব নয়; এটি হলো 'state' বা অবস্থার অভাব।
GraphRAG: ফ্ল্যাট টেক্সটকে একটি নেটওয়ার্কে রূপান্তর করা
GraphRAG তথ্য সংগ্রহের (retrieval) ধাপটিকে নতুন রূপ দেয়। সম্পর্কহীন টেক্সট খণ্ডের তালিকার পরিবর্তে, এটি একটি গ্রাফ তৈরি করে:
- Nodes বা নোডগুলো মানুষ, পণ্য বা ইভেন্টের মতো সত্তা (entities) প্রকাশ করে।
- Edges বা এজগুলো তাদের মধ্যে সম্পর্ক চিহ্নিত করে—কে কী সরবরাহ করে, কোন প্রজেক্ট কোন উপাদানের ওপর নির্ভর করে, ইত্যাদি।
যেহেতু গ্রাফটি সংযোগগুলোকে এনকোড করে, তাই সিস্টেমটি মাল্টি-হপ রিজনিং (multi-hop reasoning) করতে পারে: এটি একটি সাধারণ টেক্সট সার্চে যা সম্ভব নয়, এমন কোনো প্রশ্নের উত্তর দিতে বেশ কয়েকটি ডকুমেন্টের তথ্য অনুসরণ করে একটি চেইন তৈরি করতে পারে। এটি সম্পূর্ণ সাব-গ্রাফের সারাংশও তৈরি করতে পারে, যা ব্যবহারকারীকে বিচ্ছিন্ন খণ্ডগুলোর পরিবর্তে একটি বিষয়ের সংক্ষিপ্ত ধারণা প্রদান করে।
Contextual memory: কথোপকথন মনে রাখা
Persistent contextual memory গ্রাফের ওপর একটি টেম্পোরাল লেয়ার (temporal layer) বা সময়ের স্তর যোগ করে। এটি তিনটি ভাগে বিভক্ত:
- Short-term memory বা স্বল্পমেয়াদী স্মৃতি বর্তমান কথোপকথনের প্রতিটি ধাপ ধরে রাখে, যাতে ব্যবহারকারীকে কয়েক বাক্য আগে বলা কোনো কথা পুনরায় বলতে না হয়।
- Long-term memory বা দীর্ঘমেয়াদী স্মৃতি বিভিন্ন সেশনের মাধ্যমে ব্যবহারকারীর সম্পর্কে বাছাইকৃত তথ্য রেকর্ড করে—যেমন পছন্দের ভাষা, বারবার ঘটে যাওয়া সমস্যা বা পূর্ববর্তী কেনাকাটা।
- Selective memory বা বাছাইকৃত স্মৃতি সিদ্ধান্ত নেয় কী রাখা হবে এবং স্টোরেজ অতিরিক্ত না বাড়িয়ে অপ্রয়োজনীয় শব্দ ও অপ্রাসঙ্গিক কথাবার্তা বাদ দিয়ে দেয়।
যখন একজন ব্যবহারকারী ট্যাব বন্ধ করার পর ফিরে আসেন, তখন long-term স্টোরটি প্রাসঙ্গিক ব্যাকগ্রাউন্ড তথ্য সামনে নিয়ে আসতে পারে, যা চ্যাটবটকে শেষ সেশন যেখানে শেষ হয়েছিল সেখান থেকে পুনরায় শুরু করতে সাহায্য করে।
কখন কোন টুল ব্যবহার করবেন
- সাধারণ তথ্য যাচাইয়ের জন্য স্ট্যান্ডার্ড RAG ব্যবহার করুন যেখানে সংযোগ মিস করার ঝুঁকি কম।
- GraphRAG ব্যবহার করুন যখন ভুল উত্তরের ঝুঁকি বেশি থাকে, অথবা যখন উত্তরের জন্য একাধিক ডকুমেন্টে ছড়িয়ে থাকা তথ্যের মধ্যে সংযোগ স্থাপনের প্রয়োজন হয়।
- Contextual memory যোগ করুন যদি অ্যাপ্লিকেশনটিকে ফিরে আসা ব্যবহারকারীদের চিনতে হয় বা কয়েক দিন বা সপ্তাহের ব্যবধানে একটি ব্যক্তিগত আলোচনার ধারা বজায় রাখতে হয়।
এই লেয়ারগুলো তৈরি করা কোনো সহজ 'plug-and-play' কাজ নয়। সোর্স ডেটা পরিবর্তনের সাথে সাথে একটি GraphRAG ইনডেক্স রিফ্রেশ করতে হয় এবং মেমরি স্টোরের জন্য এমন নীতিমালা প্রয়োজন যা প্রাসঙ্গিকতা এবং স্টোরেজ খরচের মধ্যে ভারসাম্য বজায় রাখে। অতিরিক্ত তথ্য সংরক্ষণ করার প্রবণতা—প্রতিটি কথা জমা রাখা—দ্রুত তথ্য সংগ্রহের গতি কমিয়ে দেয় এবং মডেলটিকে অপ্রাসঙ্গিক তথ্যের (noise) ভিড়ে ডুবিয়ে ফেলে।
ট্রেড-অফ (সুবিধা ও অসুবিধা)
Contextual Memory ভুলে যাওয়ার সমস্যা সমাধান করে। এর অসুবিধা হলো অপারেশনাল: একটি লাইভ গ্রাফ এবং একটি বাছাইকৃত মেমরি ক্যাশ বজায় রাখতে নিরন্তর ইঞ্জিনিয়ারিং প্রচেষ্টার প্রয়োজন হয়।
পরবর্তী যা লক্ষ্য রাখা উচিত
মূল কথা (Takeaway): GraphRAG রিলেশনাল ব্যাকবোন বা কাঠামোগত ভিত্তি সরবরাহ করে, আর persistent contextual memory সময়ের সাথে সংযোগ বজায় রাখার কাজ করে। একসাথে এগুলো চ্যাটবটগুলোকে ট্যাব এবং সেশনের মধ্যেও আলোচনার ধারা বজায় রাখতে সাহায্য করে, যা একটি হতাশাজনক রিসেটকে একটি নিরবচ্ছিন্ন কথোপকথনে পরিণত করে।
