Skip to content

Latest commit

 

History

History
170 lines (88 loc) · 29.4 KB

File metadata and controls

170 lines (88 loc) · 29.4 KB

AI এজেন্টদের জন্য মেমরি

এজেন্ট মেমরি

AI এজেন্ট তৈরি করার অনন্য সুবিধাগুলো আলোচনা করার সময় মূলত দুইটি বিষয় উঠে আসে: টুল কল করে কাজ সম্পন্ন করার সামর্থ্য এবং সময়ের সঙ্গে সঙ্গে উন্নতি করার ক্ষমতা। নিজেকে উন্নত করতে পারা এজেন্ট তৈরির ভিত্তি হলো মেমরি, যা আমাদের ব্যবহারকারীদের জন্য আরও ভাল অভিজ্ঞতা তৈরি করতে সহায়ক।

এই পাঠে আমরা দেখব AI এজেন্টদের জন্য মেমরি কী এবং কীভাবে আমরা এটাকে পরিচালনা করে আমাদের অ্যাপ্লিকেশনগুলোর সুবিধার্থে ব্যবহার করতে পারি।

পরিচিতি

এই পাঠে কভার করা হবে:

AI এজেন্ট মেমরির বোঝাপড়া: মেমরি কী এবং এজেন্টদের জন্য কেন এটা অপরিহার্য।

মেমরি বাস্তবায়ন এবং সংরক্ষণ: আপনার AI এজেন্টগুলিতে মেমরি যোগ করার বাস্তব উপায়সমূহ, বিশেষভাবে শর্ট-টার্ম এবং লং-টার্ম মেমরির দিকে ফোকাস করে।

AI এজেন্টকে স্বয়ং-উন্নত করা: কিভাবে মেমরি এজেন্টকে অতীত ইন্টারঅ্যাকশন থেকে শিখতে এবং সময়ের সঙ্গে উন্নতি করতে সহায়তা করে।

উপলব্ধ বাস্তবায়নসমূহ

এই পাঠে দুইটি বিস্তৃত নোটবুক টিউটোরিয়াল অন্তর্ভুক্ত আছে:

13-agent-memory.ipynb: Mem0 এবং Azure AI Search ব্যবহার করে মেমরি বাস্তবায়ন করে Semantic Kernel ফ্রেমওয়ার্কের সাথে

13-agent-memory-cognee.ipynb: Cognee ব্যবহার করে স্ট্রাকচার্ড মেমরি বাস্তবায়ন করে, embeddings দ্বারা সমর্থিত স্বয়ংক্রিয়ভাবে নলেজ গ্রাফ নির্মাণ, গ্রাফ ভিজ্যুয়ালাইজেশন, এবং বুদ্ধিমান রিট্রিভাল

শেখার লক্ষ্য

এই পাঠ শেষ করার পরে, আপনি জানতে পারবেন কীভাবে:

বিভিন্ন ধরনের AI এজেন্ট মেমরির মধ্যে পার্থক্য নির্ণয় করতে, যার মধ্যে ওয়ার্কিং, শর্ট-টার্ম, এবং লং-টার্ম মেমরি পাশাপাশি persona এবং episodic memory এর মতো বিশেষায়িত ফর্মসমূহ অন্তর্ভুক্ত।

Semantic Kernel ফ্রেমওয়ার্ক ব্যবহার করে AI এজেন্টদের জন্য শর্ট-টার্ম এবং লং-টার্ম মেমরি বাস্তবায়ন ও পরিচালনা করতে, Mem0, Cognee, Whiteboard memory-এর মতো টুলগুলি ব্যবহার করে এবং Azure AI Search-এর সাথে একত্রিকরণ করে।

স্বয়ং-উন্নত AI এজেন্টদের পিছনে থাকা নীতিগুলি বোঝতে এবং কীভাবে শক্তিশালী মেমরি ম্যানেজমেন্ট সিস্টেমগুলি ধারাবাহিক শিক্ষা ও অভিযোজনে সাহায্য করে।

AI এজেন্ট মেমরি বোঝা

মূলত, AI এজেন্টদের জন্য মেমরি বলতে তাদের তথ্য ধারণ ও পুনরুদ্ধারের এমন প্রক্রিয়াগুলিকে বোঝায়। এই তথ্যটি হতে পারে কথোপকথনের নির্দিষ্ট বিশদ, ব্যবহারকারীর পছন্দ, অতীত কার্যকলাপ, বা এমনকি শেখা প্যাটার্নসমূহ।

মেমরি ছাড়া, AI অ্যাপ্লিকেশনগুলো প্রায়ই স্টেটলেস হয়, অর্থাৎ প্রতিটি ইন্টারঅ্যাকশন শূন্য থেকে শুরু হয়। এর ফলে ব্যবহারকারীর জন্য একটি পুনরাবৃত্তিমূলক এবং হতাশাজনক অভিজ্ঞতা তৈরি হয় যেখানে এজেন্ট পূর্বের প্রাসঙ্গিকতা বা পছন্দ "ভুলে যায়"।

মেমরি কেন গুরুত্বপূর্ণ?

একটি এজেন্টের বুদ্ধিমত্তা খুবটাই সংযুক্ত তার অতীত তথ্য মনে রাখার এবং ব্যবহার করার ক্ষমতার সাথে। মেমরি এজেন্টকে সক্ষম করে:

প্রতিফলিত (Reflective): অতীত কাজে ও ফলাফলের থেকে শিখতে।

ইন্টারঅ্যাকটিভ (Interactive): চলমান কথোপকথনের প্রসঙ্গ বজায় রাখতে।

প্রোএকটিভ এবং রিয়্যাকটিভ (Proactive and Reactive): ঐতিহাসিক ডেটার ভিত্তিতে প্রয়োজন আগাম অনুমান বা উপযুক্তভাবে প্রতিক্রিয়া জানাতে।

স্বায়ত্তশাসিত (Autonomous): সংরক্ষিত জ্ঞান ব্যবহার করে অধিক স্বাধীনভাবে কাজ করতে।

মেমরি বাস্তবায়নের লক্ষ্য হল এজেন্টকে আরও নির্ভরযোগ্য এবং সক্ষম করে তোলা।

মেমরির ধরনসমূহ

ওয়ার্কিং মেমরি

এটিকে ভাবুন এক টুকরো খসড়া কাগজের মতো যা একটি এজেন্ট একটি একক, চলমান কাজ বা চিন্তাপ্রক্রিয়ার সময় ব্যবহার করে। এটি পরবর্তী ধাপ গণনা করতে প্রয়োজনীয় তাৎক্ষণিক তথ্য ধারণ করে।

AI এজেন্টদের জন্য, ওয়ার্কিং মেমরি প্রায়ই কথোপকথন থেকে সবচেয়ে প্রাসঙ্গিক তথ্য ক্যাপচার করে, এমনকি পুরো চ্যাট ইতিহাস দীর্ঘ বা কাটা ছেঁড়া (truncated) হলে ও। এটি মূল উপাদানগুলি বের করে আনতে ফোকাস করে যেমন চাহিদা, প্রস্তাব, সিদ্ধান্ত, এবং কার্যক্রম।

ওয়ার্কিং মেমরির উদাহরণ

একটি ভ্রমণ বুকিং এজেন্টে, ওয়ার্কিং মেমরি ব্যবহারকারীর বর্তমান অনুরোধ যেমন "আমি প্যারিসে এক ট্যুর বুক করতে চাই" ধারণ করতে পারে। এই নির্দিষ্ট চাহিদা এজেন্টের তাৎক্ষণিক প্রসঙ্গে বজায় থাকে যাতে চলমান ইন্টারঅ্যাকশনটি পরিচালিত হতে পারে।

শর্ট-টার্ম মেমরি

এই ধরনের মেমরি একটি একক কথোপকথন বা সেশন চলাকালীন তথ্য ধারণ করে। এটি বর্তমান চ্যাটের প্রসঙ্গ, যাতে এজেন্ট সংলাপের পূর্ববর্তী টার্নগুলোকে উল্লেখ করতে পারে।

শর্ট-টার্ম মেমরির উদাহরণ

যদি ব্যবহারকারী জিজ্ঞাসা করে, "প্যারিসের জন্য একটি ফ্লাইটের খরচ কত হবে?" এবং পরে বলে, "সেখানে থাকা সম্পর্কে কী?" তাহলে শর্ট-টার্ম মেমরি নিশ্চিত করে যে এজেন্ট জানে "সেখানে" একই কথোপকথনের মধ্যে "প্যারিস"কে নির্দেশ করে।

লং-টার্ম মেমরি

এটি এমন তথ্য যা একাধিক কথোপকথন বা সেশনের উপর স্থায়ী থাকে। এটি এজেন্টকে ব্যবহারকারীর পছন্দ, ঐতিহাসিক ইন্টারঅ্যাকশন, বা বিস্তৃত সময়কালের সাধারণ জ্ঞান মনে রাখতে দেয়। ব্যক্তিকরণ (personalization) এর জন্য এটি গুরুত্বপূর্ণ।

লং-টার্ম মেমরির উদাহরণ

একটি লং-টার্ম মেমরি থাকতে পারে যে "Ben স্কিইং এবং আউটডোর অ্যাক্টিভিটিতে আনন্দ পান, পর্বতের দৃশ্যসহ কফি পছন্দ করেন, এবং অতীতের এক আঘাতের কারণে উন্নত স্কি ঢালগুলো এড়াতে চান"। পূর্ববর্তী ইন্টারঅ্যাকশন থেকে শেখা এই তথ্য ভবিষ্যতের ভ্রমণ পরিকল্পনার সুপারিশগুলিকে অত্যন্ত ব্যক্তিকৃত করে তোলে।

Persona মেমরি

এই বিশেষায়িত মেমরি টাইপটি এজেন্টকে একটি সঙ্গতিপূর্ণ "ব্যক্তিত্ব" বা "persona" গঠন করতে সাহায্য করে। এটি এজেন্টকে তার নিজস্ব বা নির্ধারিত ভূমিকাসংক্রান্ত বিবরণ মনে রাখতে দেয়, যা ইন্টারঅ্যাকশনগুলোকে আরও সাবলীল এবং লক্ষ্যভিত্তিক করে তোলে।

Persona মেমরির উদাহরণ যদি ভ্রমণ এজেন্টটি "একজন বিশেষজ্ঞ স্কি পরিকল্পনাকারী" হিসেবে ডিজাইন করা হয়, persona মেমরি এই ভূমিকাকে শক্তিশালী করতে পারে এবং এর উত্তরগুলোকে একজন বিশেষজ্ঞের স্বর ও জ্ঞানের সাথে মিলিয়ে তোলে।

Workflow/Episodic মেমরি

এই মেমরি একটি জটিল কাজের সময় এজেন্ট যে ধাপগুলোর ক্রম অনুসরণ করে তা সংরক্ষণ করে, সফলতা এবং ব্যর্থতাসহ। এটি অতীতের নির্দিষ্ট "এপিসোড" বা অভিজ্ঞতাগুলো মনে রাখার মত, যাতে সেগুলো থেকে শিক্ষা নেওয়া যায়।

Episodic মেমরির উদাহরণ

যদি এজেন্ট একটি নির্দিষ্ট ফ্লাইট বুক করতে চেয়েছিল কিন্তু উপলব্ধতার অভাবের কারণে ব্যর্থ হয়, episodic মেমরি এই ব্যর্থতাটি রেকর্ড করতে পারে, যাতে পরবর্তী প্রচেষ্টায় এজেন্ট বিকল্প ফ্লাইট চেষ্টা করতে পারে বা ব্যবহারকারীকে আরও জানাকৃতভাবে বিষয়টি জানাতে পারে।

Entity মেমরি

এটিতে কথোপকথন থেকে নির্দিষ্ট সত্ত্বা (ব্যক্তি, স্থান, বা বস্তু) এবং ইভেন্টগুলোর উপরোক্ত নির্যাস বের করে মনে রাখা অন্তর্ভুক্ত। এটি এজেন্টকে আলোচনা করা মূল উপাদানগুলোর একটি স্ট্রাকচার্ড বোঝাপড়া তৈরি করতে দেয়।

Entity মেমরির উদাহরণ

একটি অতীত ভ্রমণ সংক্রান্ত কথোপকথন থেকে, এজেন্ট "Paris", "Eiffel Tower", এবং "Le Chat Noir রেস্টুরেন্টে ডিনার"কে সত্ত্বা হিসেবে বের করতে পারে। ভবিষ্যতে ইন্টারঅ্যাকশান এজেন্ট "Le Chat Noir" মনে করে সেখানে নতুন রিজার্ভেশন করার প্রস্তাব দিতে পারে।

Structured RAG (Retrieval Augmented Generation)

যখন RAG একটি বিস্তৃত কৌশল, "Structured RAG" একটি শক্তিশালী মেমরি প্রযুক্তি হিসেবে হাইলাইট করা হয়েছে। এটি বিভিন্ন উৎস (কথোপকথন, ইমেইল, চিত্র) থেকে ঘন, স্ট্রাকচার্ড তথ্য বের করে এবং প্রতিক্রিয়াতে প্রিসিশন, রিকল, এবং গতি বাড়াতে তা ব্যবহার করে। ক্লাসিক RAG যা কেবল semantic similarity-র উপর নির্ভর করে তার থেকে পৃথকভাবে, Structured RAG তথ্যের অভ্যন্তরীণ স্ট্রাকচারের সঙ্গে কাজ করে।

Structured RAG-এর উদাহরণ

শুধু কীওয়ার্ড মিল করার বদলে, Structured RAG একটি ইমেইল থেকে ফ্লাইটের বিস্তারিত (গন্তব্য, তারিখ, সময়, এয়ারলাইন) পার্স করে এবং সেগুলো স্ট্রাকচার্ডভাবে সংরক্ষণ করতে পারে। এতে নির্দিষ্ট প্রশ্ন যেমন "আমি মঙ্গলবার কোন ফ্লাইটটি প্যারিসে বুক করেছিলাম?" এর মতো সঠিক অনুসন্ধান সম্ভব হয়।

মেমরি বাস্তবায়ন এবং সংরক্ষণ

AI এজেন্টদের জন্য মেমরি বাস্তবায়ন করা একটি পদ্ধতিগত প্রক্রিয়া যা মেমরি ম্যানেজমেন্ট অন্তর্ভুক্ত করে, যার মধ্যে রয়েছে তৈরি, সংরক্ষণ, পুনরুদ্ধার, একীকরণ, আপডেট, এবং এমনকি "ভুলোয়া" (অথবা মুছে ফেলা) তথ্য। রিট্রাইভাল একটি বিশেষভাবে গুরুত্বপূর্ণ দিক।

বিশেষায়িত মেমরি টুলস

Mem0

এজেন্ট মেমরি সংরক্ষণ ও পরিচালনা করার এক উপায় হচ্ছে Mem0-এর মতো বিশেষায়িত টুল ব্যবহার করা। Mem0 একটি স্থায়ী মেমরি লেয়ার হিসেবে কাজ করে, এজেন্টকে প্রাসঙ্গিক ইন্টারঅ্যাকশন মনে রাখতে, ব্যবহারকারীর পছন্দ এবং তথ্যগত প্রসঙ্গ সংরক্ষণ করতে, এবং সময়ের সঙ্গে সফলতা ও ব্যর্থতা থেকে শিখতে দেয়। ধারণাটি হল স্টেটলেস এজেন্টগুলোকে স্টেটফুল এজেন্টে পরিণত করা।

এটি একটি দুই-ধাপ মেমরি পাইপলাইন: extraction এবং update ব্যবহার করে কাজ করে। প্রথমে, এজেন্টের থ্রেডে যোগ করা বার্তাগুলো Mem0 সার্ভিসে পাঠানো হয়, যা একটি Large Language Model (LLM) ব্যবহার করে কথোপকথনের ইতিহাস সারাংশ করে এবং নতুন মেমরি বের করে। পরে, একটি LLM-চালিত আপডেট ধাপ নির্ধারণ করে যে এই মেমরিগুলো যোগ করা হবে, পরিবর্তন করা হবে, না মুছে ফেলা হবে কি না, এবং সেগুলোকে একটি হাইব্রিড ডেটা স্টোরে সংরক্ষণ করে যা ভেক্টর, গ্রাফ, এবং কী-ভ্যালু ডাটাবেস অন্তর্ভুক্ত করতে পারে। এই সিস্টেম বিভিন্ন মেমরি ধরন সমর্থন করে এবং সত্তার মধ্যে সম্পর্ক ম্যানেজ করার জন্য গ্রাফ মেমরি অন্তর্ভুক্ত করতে পারে।

Cognee

আরেকটি শক্তিশালী পদ্ধতি হচ্ছে Cognee, যা একটি open-source semantic memory for AI agents যা স্ট্রাকচার্ড ও আনস্ট্রাকচার্ড ডেটাকে embeddings দ্বারা ব্যাক-আপ করা queryable knowledge graphs-এ রূপান্তর করে। Cognee একটি dual-store আর্কিটেকচার প্রদান করে যা ভেক্টর সাদৃশ্য অনুসন্ধানকে গ্রাফ সম্পর্কের সঙ্গে মিলায়, ফলে এজেন্ট শুধুমাত্র কোন তথ্য একই রকম তা বোঝেনি বরং ধারণাগুলো কীভাবে সম্পর্কিত তা বুঝতে পারে।

এটি hybrid retrieval-এ উত্কর্ষ পৌঁছায় যা ভেক্টর সাদৃশ্য, গ্রাফ স্ট্রাকচার, এবং LLM reasoning মিশ্রিত করে - কাঁচা চাঙ্ক লুকআপ থেকে গ্রাফ-সচেতন প্রশ্নোত্তর পর্যন্ত। সিস্টেম একটি জীবন্ত মেমরি বজায় রাখে যা বিকশিত ও বৃদ্ধি পায় এবং একই সাথে একটি সংযুক্ত গ্রাফ হিসেবে কুয়েরি যোগ্য থাকে, যা শর্ট-টার্ম সেশন প্রসঙ্গ এবং লং-টার্ম স্থায়ী মেমরি উভয়ই সমর্থন করে।

Cognee নোটবুক টিউটোরিয়াল (13-agent-memory-cognee.ipynb) এই ঐক্যবদ্ধ মেমরি লেয়ার তৈরির প্রদর্শন করে, বিভিন্ন ডেটা সোর্স ইনজেস্ট করার বাস্তব উদাহরণ, নলেজ গ্রাফ ভিজ্যুয়ালাইজেশন, এবং নির্দিষ্ট এজেন্টের চাহিদা অনুযায়ী বিভিন্ন সার্চ কৌশল দিয়ে কুয়েরি করার উদাহরণ সহ।

RAG দিয়ে মেমরি সংরক্ষণ

Mem0-এর মতো বিশেষায়িত মেমরি টুল ছাড়াও, আপনি শক্তিশালী সার্চ সার্ভিসগুলি, যেমন Azure AI Search, মেমরি সংরক্ষণ ও পুনরুদ্ধারের ব্যাকএন্ড হিসেবে ব্যবহার করতে পারেন, বিশেষ করে Structured RAG-এর জন্য।

এটি আপনার এজেন্টের উত্তরগুলোকে আপনার নিজস্ব ডেটা দিয়ে গ্রাউন্ড করতে দেয়, যাতে আরও প্রাসঙ্গিক ও সঠিক উত্তর নিশ্চিত করা যায়। Azure AI Search ব্যবহার করে ব্যবহারকারীর নির্দিষ্ট ট্রাভেল মেমরি, প্রোডাক্ট ক্যাটালগ, বা যেকোনো ডোমেইন-নির্দিষ্ট জ্ঞান সংরক্ষণ করা যেতে পারে।

Azure AI Search Structured RAG-এর মতো ক্ষমতা সমর্থন করে, যা কথোপকথন ইতিহাস, ইমেইল, বা এমনকি চিত্রের মতো বড় ডেটাসেট থেকে ঘন, স্ট্রাকচার্ড তথ্য বের করা এবং পুনরুদ্ধার করতে দক্ষ। এটি প্রচলিত টেক্সট চাঙ্কিং ও এমবেডিং পদ্ধতির তুলনায় "অসাধারণ প্রিসিশন এবং রিকল" প্রদান করে।

AI এজেন্টকে স্বয়ং-উন্নত করা

স্বয়ং-উন্নত এজেন্টগুলোর একটি সাধারণ প্যাটার্ন হল একটি "নলেজ এজেন্ট" প্রবর্তন করা। এই পৃথক এজেন্টটি ব্যবহারকারী এবং প্রধান এজেন্টের মধ্যকার মূল কথোপকথন পর্যবেক্ষণ করে। এর ভূমিকা হলো:

  1. মূল্যবান তথ্য সনাক্ত করা: নির্ধারণ করা যে কথোপকথনের কোন অংশ সাধারণ জ্ঞান বা কোনো নির্দিষ্ট ব্যবহারকারীর পছন্দ হিসাবে সংরক্ষণ করার যোগ্য।

  2. এক্সট্র্যাক্ট ও সারসংক্ষেপ করা: কথোপকথন থেকে মৌলিক শিক্ষা বা পছন্দকে সংক্ষিপ্ত করা।

  3. নলেজ বেসে সংরক্ষণ করা: এই অনন্যভাবে বেরকরা তথ্যটি সাধারণত একটি ভেক্টর ডাটাবেসে স্থায়ীভাবে সংরক্ষণ করা যাতে পরে এটি পুনরুদ্ধার করা যায়।

  4. ভবিষ্যতের কুয়েরিগুলোকে বাড়ানো: যখন ব্যবহারকারী নতুন কুয়েরি শুরু করে, নলেজ এজেন্ট প্রাসঙ্গিক সংরক্ষিত তথ্য পুনরুদ্ধার করে এবং তা ব্যবহারকারীর প্রম্পটের সঙ্গে যুক্ত করে, প্রধান এজেন্টকে গুরুত্বপূর্ণ প্রসঙ্গ প্রদান করে (RAG-এর মতো)।

মেমরির জন্য অপ্টিমাইজেশন

লেটেন্সি ম্যানেজমেন্ট: ব্যবহারকারীর ইন্টারঅ্যাকশন ধীর করাকে এড়াতে, একটি সস্তা ও দ্রুত মডেল প্রথমে দ্রুত যাচাই করতে ব্যবহার করা যেতে পারে যে তথ্যটি সংরক্ষণ বা পুনরুদ্ধার করার যোগ্য কি না, এবং প্রয়োজন হলে কেবল তখনি জটিল এক্সট্র্যাকশন/রিট্রিভাল প্রক্রিয়া চালানো যায়।

নলেজ বেস রক্ষণাবেক্ষণ: একটি বাড়তে থাকা নলেজ বেসের জন্য, কম ঘনঘন ব্যবহৃত তথ্যগুলো "কোল্ড স্টোরেজ"-এ সরিয়ে খরচ পরিচালনা করা যেতে পারে।

এজেন্ট মেমরি সম্পর্কিত আরও প্রশ্ন আছে?

যোগ দিন Microsoft Foundry Discord এ অন্যান্য শিক্ষার্থীদের সাথে মিলিত হতে, অফিস আওয়ারসে অংশ নিতে এবং আপনার AI Agents সম্পর্কিত প্রশ্নগুলোর উত্তর পেতে।


দায়-অস্বীকৃতি: এই নথি AI অনুবাদ পরিষেবা Co-op Translator ব্যবহার করে অনূদিত করা হয়েছে। যদিও আমরা সঠিকতার জন্য সর্বোচ্চ চেষ্টা করি, দয়া করে জেনে রাখুন যে স্বয়ংক্রিয় অনুবাদে ভুল বা অসামঞ্জস্যতা থাকতে পারে। মূল ভাষায় থাকা নথিটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য পেশাদার মানব অনুবাদ গ্রহণ করার পরামর্শ দেওয়া হয়। এই অনুবাদের ব্যবহারের ফলে সৃষ্ট যে কোনো ভুলবোঝাবুঝি বা ত্রুটিপূর্ণ ব্যাখ্যার জন্য আমরা দায়বদ্ধ নই।