Skip to content

Latest commit

 

History

History
171 lines (88 loc) · 29.1 KB

File metadata and controls

171 lines (88 loc) · 29.1 KB

AI एजंटसाठी स्मृती

Agent Memory

AI एजंट तयार करण्याच्या अनोख्या फायद्यांवर चर्चा करताना मुख्यतः दोन गोष्टींवर भर दिला जातो: कामे पूर्ण करण्यासाठी टूल्स कॉल करण्याची क्षमता आणि वेळेनुसार सुधारणा करण्याची क्षमता. स्मृती ही स्वतःला सुधारणा करणारा एजंट तयार करण्याचा पाया आहे, जो आपल्या वापरकर्त्यांसाठी चांगले अनुभव निर्माण करू शकतो.

या धड्यात, आपण पाहणार आहोत की AI एजंटसाठी स्मृती म्हणजे काय आणि आपण त्याचे व्यवस्थापन कसे करू शकतो व त्याचा आपल्या ऍप्लिकेशनच्या फायद्यासाठी कसा वापर करू शकतो.

परिचय

हा धडा पुढील गोष्टींचा आढावा घेईल:

AI एजंट स्मृती समजून घेणे: स्मृती म्हणजे काय आणि एजंटसाठी ती का आवश्यक आहे.

स्मृतीची अंमलबजावणी व साठवण: आपल्या AI एजंटसाठी स्मृतीची क्षमता जोडण्यासाठी व्यावहारिक पद्धती, ज्यात अल्पकालीन व दीर्घकालीन स्मृतीवर लक्ष केंद्रित केले जाईल.

AI एजंटना स्व-सुधारणीय बनवणे: स्मृती कशी एजंटना पूर्वीच्या संवादांमधून शिकण्यास व वेळेनुसार सुधारण्यास सक्षम करते.

उपलब्ध अंमलबजावण्या

या धड्यात दोन व्यापक नोटबुक ट्युटोरियल्स आहेत:

13-agent-memory.ipynb: Mem0 आणि Azure AI Search सह Semantic Kernel फ्रेमवर्क वापरून स्मृतीची अंमलबजावणी

13-agent-memory-cognee.ipynb: Cognee वापरून संरचित स्मृतीची अंमलबजावणी, ज्यात embeddings द्वारे समर्थित नॉलेज ग्राफ स्वयंचलितपणे तयार करणे, ग्राफचे दृष्यीकरण आणि बुद्धिमान पुनर्प्राप्ती यांचा समावेश आहे

शिक्षण उद्दिष्टे

हा धडा पूर्ण केल्यानंतर, आपण खालील गोष्टी जाणून घेणार आहात:

AI एजंट स्मृतीच्या विविध प्रकारांमधील फरक ओळखणे, ज्यात कामकाजी, अल्पकालीन, दीर्घकालीन स्मृती तसेच व्यक्तिमत्त्व आणि एपिसोडिक स्मृतीसारख्या खास स्वरूपांचा समावेश आहे.

Semantic Kernel फ्रेमवर्क वापरून अल्पकालीन आणि दीर्घकालीन स्मृतीची अंमलबजावणी आणि व्यवस्थापन करणे, तसेच Mem0, Cognee, Whiteboard memory सारखे टूल्स वापरणे आणि Azure AI Search सह एकत्रित करणे.

स्व-सुधारणीय AI एजंट्सच्या तत्त्वांना समजून घेणे आणि मजबूत स्मृती व्यवस्थापन प्रणाली सतत शिकण्यास आणि अडाप्ट होण्यास कशी मदत करते याची समझ.

AI एजंट स्मृती समजून घेणे

मूळत: AI एजंटसाठी स्मृती म्हणजे अशा यंत्रणा ज्या त्यांना माहिती जतन करण्याची आणि पुन्हा मिळवण्याची परवानगी देतात. ही माहिती एखाद्या संभाषणाची तपशीलवार माहिती, वापरकर्त्याच्या प्राधान्यक्रम, पूर्वीची क्रिया किंवा शिकलेल्या नमुन्यांसारखी असू शकते.

स्मृती नसल्यास, AI अनुप्रयोग अनेकदा स्टेटलेस असतात, म्हणजे प्रत्येक संवाद नवीन सुरुवातीपासून सुरू होतो. त्यामुळे वापरकर्त्याला वारंवार आणि कंटाळवाण्या अनुभवांना सामोरे जावे लागते जिथे एजंट पूर्वीचा संदर्भ किंवा प्राधान्य विसरून जातो.

स्मृती का महत्त्वाची?

एखाद्या एजंटची बुद्धिमत्ता त्याच्या भूतकाळातील माहिती पुनःप्राप्त करण्याची आणि वापरण्याची क्षमता यावर गहनपणे अवलंबून असते. स्मृतीमुळे एजंट खालीलप्रमाणे कार्य करू शकतो:

परावर्तक (Reflective): पूर्वीच्या कारवायांमधून आणि निकालांमधून शिकणे.

परस्परसंवादी (Interactive): चालू संभाषणाचा संदर्भ राखणे.

प्रोऍक्टिव आणि रिऍक्टिव (Proactive and Reactive): ऐतिहासिक डेटा आधारावर गरजा भाकीत करणे किंवा योग्य प्रतिसाद देणे.

स्वायत्त (Autonomous): साठवलेल्या ज्ञानावर आधारित अधिक स्वतंत्रपणे कार्य करणे.

स्मृतीची अंमलबजावणी करण्याचा उद्देश एजंट अधिक विश्वसनीय आणि सक्षम बनवणे होय.

स्मृतीचे प्रकार

कामकाजी स्मृती (Working Memory)

याला आपण एखाद्या एजंटने चालू असलेल्या एका टास्क किंवा विचार प्रक्रियेदरम्यान वापरलेली लेकनशीर कागद म्हणून पाहू शकता. ती पुढील पायरीसाठी तात्काळ आवश्यक माहिती धरून ठेवते.

AI एजंटसाठी, कामकाजी स्मृती बहुतांश वेळा संभाषणातील सर्वात संबंधित माहिती टिपते, जरी पूर्ण चॅट इतिहास खूप लांब किंवा संक्षिप्त असला तरी. ती आवश्यक घटक जसे की गरजा, प्रस्ताव, निर्णय, आणि कृती यांचे निष्कर्ष काढण्यावर लक्ष केंद्रित करते.

कामकाजी स्मृतीचे उदाहरण

एका प्रवास बुकिंग एजंटमध्ये, कामकाजी स्मृती वापरकर्त्याच्या सध्याच्या विनंतीला धरून ठेवू शकते, जसे की "मला पॅरिसला ट्रिप बुक करायची आहे". ह्या विशिष्ट गरजेचा उपयोग सध्याच्या संवादासाठी मार्गदर्शन करण्यासाठी केला जातो.

अल्पकालीन स्मृती (Short Term Memory)

ही स्मृती एकाच संभाषण किंवा सत्रासाठी माहिती जपते. ती चालू चॅटचा संदर्भ असते, ज्यामुळे एजंट संवादातील मागील टप्प्यांकडे परत पाहू शकतो.

अल्पकालीन स्मृतीचे उदाहरण

जर वापरकर्त्याने विचारले, "पॅरिसला फ्लाइट किती खर्च येईल?" आणि नंतर "तिथल्या विरंगुळ्याबद्दल काय?" विचारले, तर अल्पकालीन स्मृतीमुळे एजंटला "तिथे" म्हणजे "पॅरिस" या संभाषणात ओळखता येते.

दीर्घकालीन स्मृती (Long Term Memory)

ही अशी माहिती आहे जी अनेक संभाषणे किंवा सत्रांमध्ये टिकून राहते. ती एजंटना वापरकर्त्याच्या पसंदी, इतिहासातील संवाद, किंवा सामान्य ज्ञान जपण्यास मदत करते. वैयक्तिकीकरणासाठी ही महत्त्वाची आहे.

दीर्घकालीन स्मृतीचे उदाहरण

दीर्घकालीन स्मृतीत असं संग्रहित केलं जाऊ शकतं की "बेनला स्कीइंग आणि बाह्य क्रियाकलाप आवडतात, त्याला पर्वताचे दृश्य असलेले कॉफी आवडते, आणि मागील जखमेमुळे तो प्रगत स्की स्लीप टाळतो." यामुळे भविष्यातील प्रवास नियोजन सत्रांमध्ये अत्यंत वैयक्तिकृत शिफारसी होतात.

व्यक्तिमत्त्व स्मृती (Persona Memory)

हा खास प्रकारचा स्मृती एजंटला एक सुसंगत "व्यक्तिमत्त्व" किंवा "पर्सोना" विकसित करण्यास मदत करतो. त्यामुळे एजंट स्वतःबद्दल किंवा त्याच्या निर्धारित भूमिकेबद्दल तपशील लक्षात ठेवू शकतो, ज्यामुळे संवाद अधिक सुरळीत आणि लक्ष केंद्रीत होतो.

व्यक्तिमत्त्व स्मृतीचे उदाहरण

जर प्रवास एजंट "तज्ञ स्की नियोजक" म्हणून डिझाइन केला असेल, तर व्यक्तिमत्त्व स्मृतीही या भूमिकेचे बळकटीकरण करेल, ज्यामुळे एजंटचे प्रतिसाद तज्ञाच्या टोन आणि ज्ञानाशी सुसंगत असतील.

वर्कफ्लो/एपिसोडिक स्मृती (Workflow/Episodic Memory)

ही स्मृती एखाद्या क्लिष्ट कामात एजंट जे क्रमाने पावले उचलतो ते साठवते, जसे यश आणि अपयश. हे विशिष्ट "एपिसोड" किंवा भूतकाळातील अनुभव लक्षात ठेवण्यासारखे आहे ज्यातून शिकता येते.

एपिसोडिक स्मृतीचे उदाहरण

जर एजंटने विशिष्ट फ्लाइट बुक करण्याचा प्रयत्न केला पण ती फ्लाइट उपलब्ध नसल्यामुळे अपयशी ठरली, तर एपिसोडिक स्मृती या अपयशाची नोंद ठेवेल, ज्यामुळे पुढील प्रयत्नात तो वेगवेगळ्या फ्लाइट्स बघू शकेल किंवा वापरकर्त्यास अधिक माहितीपूर्ण पद्धतीने समस्या समजावू शकेल.

घटक स्मृती (Entity Memory)

यात संभाषणांमधून विशिष्ट घटक (जसे लोक, स्थळे, वस्तू) आणि घटना काढणे व लक्षात ठेवणे समाविष्ट आहे. हा एजंटला चर्चा केलेल्या महत्त्वाच्या घटकांचे संरचित आकलन तयार करण्यास मदत करतो.

घटक स्मृतीचे उदाहरण

एका मागील प्रवासाबद्दलच्या संभाषणातून, एजंट "पॅरिस", "एफिल टॉवर" आणि "ले शाट नोइर रेस्टॉरंटमध्ये जेवण" या घटकांची नोंद घेऊ शकतो. भविष्यातील संवादात एजंट "ले शाट नोइर" लक्षात ठेवून नवीन आरक्षण करण्याचा प्रस्ताव देऊ शकतो.

संरचित RAG (Retrieval Augmented Generation)

RAG हा एक व्यापक तंत्र आहे, परंतु "संरचित RAG" हा एक शक्तिशाली स्मृती तंत्रज्ञान म्हणून ठळक दिसतो. हे विविध स्रोतांमधून (संभाषणे, ईमेल, प्रतिमा) घन, संरचित माहिती काढते आणि वापरते ज्यामुळे प्रतिसादांमध्ये अचूकता, पुनर्प्राप्ती आणि गती सुधारतात. पारंपरिक semantic similarity वर आधारित क्लासिक RAG च्या विरुद्ध, संरचित RAG माहितीच्या अंतर्निहित संरचनेवर काम करते.

संरचित RAG चे उदाहरण

फक्त कीवर्ड जुळवण्याऐवजी, संरचित RAG ईमेलमधून फ्लाइट तपशील (गंतव्य, तारीख, वेळ, विमानसेवा) काढून संरचित स्वरूपात जतन करू शकते. त्यामुळे "मंगलवार रोजी पॅरिससाठी कोणती फ्लाइट बुक केली?" असं अचूक प्रश्न विचारणं शक्य होतं.

स्मृतीची अंमलबजावणी व साठवण

AI एजंटसाठी स्मृतीची अंमलबजावणी म्हणजे स्मृती व्यवस्थापन या प्रणालीचा वापर करणे, ज्यामध्ये माहिती तयार करणे, साठवणे, पुनर्प्राप्त करणे, एकत्र करणे, अद्यतनित करणे आणि अगदी "विसरणे" (किंवा हटवणे) यांचा समावेश आहे. त्यापैकी पुनर्प्राप्ती ही अत्यंत महत्त्वाची बाब आहे.

खास स्मृती टूल्स

Mem0

एजंट स्मृती साठवण्यात व व्यवस्थापनात एक मार्ग म्हणजे Mem0 सारख्या खास टूल्सचा वापर. Mem0 हे एक सातत्यपूर्ण स्मृती लेयर म्हणून कार्य करते, ज्यामुळे एजंट पूर्वीच्या संवादांची नोंद ठेऊ शकतो, वापरकर्ता प्राधान्ये आणि तथ्यात्मक संदर्भ जतन करू शकतो, तसेच यश-अपयशातून शिकू शकतो. या संकल्पनेतून स्टेटलेस एजंटस हे स्टेटफुल एजंटमध्ये रूपांतरित होतात.

हा दोन टप्प्यांमध्ये स्मृती पाईपलाईन: काढणे व अपडेट करणे वापरतो. प्रथम, एका एजंटच्या त्रेडमध्ये येणारे मेसेज Mem0 सेवेकडे पाठवले जातात, जिथे LLM वापरून संभाषण इतिहास संक्षिप्त केला जातो व नवीन स्मृती काढल्या जातात. नंतर, LLM-चालित अपडेट टप्पा ठरवतो की स्मृती जोडायच्या, सुधारायच्या किंवा हटवायच्या आहेत का, आणि त्या संग्रहीत केल्या जातात एक हायब्रिड डेटास्टोअरमध्ये ज्यात व्हेक्टर, ग्राफ, व की-वॅल्यू डेटाबेस असू शकतात. ही प्रणाली विविध स्मृती प्रकारांना आधार देते आणि घटकांमधील संबंध व्यवस्थापित करण्यासाठी ग्राफ स्मृती देखील समाविष्ट करू शकते.

Cognee

दुसरी प्रभावी पद्धत म्हणजे Cognee वापरणे, जे AI एजंटसाठी एक ओपन-सोर्स सेमँटिक स्मृती आहे, जी संरचित आणि असंरचित डेटा क्वेरी करण्यायोग्य नॉलेज ग्राफमध्ये रूपांतरित करते, embeddings द्वारे समर्थित. Cognee एक ड्युअल-स्टोअर आर्किटेक्चर ऑफर करते, ज्यात व्हेक्टर सिमिलॅरिटी सर्च व ग्राफ संबंध यांचा समावेश आहे, ज्यामुळे एजंट ना फक्त माहितीतील साम्य समजते, तर संकल्पना एकमेकांशी कशी संबंधित आहेत हेही समजू शकते.

हे हायब्रिड पुनर्प्राप्ती मध्ये प्रावीण आहे, ज्यात व्हेक्टर सिमिलॅरिटी, ग्राफ स्ट्रक्चर आणि LLM तर्कशक्ती यांचा संगम होतो - कच्च्या ढिगाऱ्याच्या शोधापासून ग्राफ-जाणकार प्रश्नोत्तरेपर्यंत. सिस्टम एक जिवंत स्मृती राखते जी विकसित आणि वाढते, आणि एकात्मिक ग्राफ म्हणून क्वेरी करण्यायोग्य राहते, ज्यात अल्पकालीन सत्र संदर्भ आणि दीर्घकालीन सातत्यपूर्ण स्मृती दोन्हीचा समावेश आहे.

Cognee नोटबुक ट्युटोरियल (13-agent-memory-cognee.ipynb) या एकात्मिक स्मृती स्तराचे बांधकाम दाखवतो, ज्यात विविध डेटा स्रोत इन्गेस्ट करणे, नॉलेज ग्राफ चे दृष्यीकरण, आणि वेगवेगळ्या शोध धोरणांसह क्वेरी कसे करायचे हे व्यावहारिक उदाहरणांसह स्पष्ट आहे.

RAG वापरून स्मृती साठवण

Mem0 सारख्या खास स्मृती टूल्सच्या पलीकडे, आपण मजबूत शोध सेवा जसे की Azure AI Search याचा स्मृती साठवण आणि पुनर्प्राप्तीसाठी बॅकएंड म्हणून वापर करू शकता, विशेषतः संरचित RAG साठी.

यामुळे आपण आपल्या एजंटच्या प्रतिसादांना आपला डेटा वापरून आधार प्रदान करू शकता, ज्यामुळे अधिक संबंधित आणि अचूक उत्तरं मिळतात. Azure AI Search वापरकर्त्याच्या विशिष्ट प्रवास स्मृती, उत्पादन सूची, किंवा कोणत्याही विशिष्ट क्षेत्रातील ज्ञान साठवण्यासाठी उपयुक्त आहे.

Azure AI Search मध्ये संरचित RAG सारख्या वैशिष्ट्यांचा समावेश आहे, ज्यामुळे संभाषण इतिहास, ईमेल, किंवा प्रतिमा सारख्या मोठ्या डेटासेटमधून घन, संरचित माहिती काढणे व पुनर्प्राप्त करणे शक्य होते. पारंपरिक टेक्स्ट चंकिंग व embedding पद्धतींपेक्षा यामध्ये "मानवतुल्य अचूकता आणि पुनर्प्राप्ती" आहे.

AI एजंटना स्व-सुधारणीय बनवणे

स्व-सुधारणीय एजंटसाठी एक सामान्य नमुना म्हणजे "ज्ञान एजंट" ची निर्मिती करणे. हा वेगळा एजंट वापरकर्ता आणि मुख्य एजंटमधील मुख्य संभाषण निरीक्षण करतो. त्याची भूमिका:

  1. मूल्यवान माहिती ओळखणे: संभाषणातील कोणतीही महत्त्वाची माहिती सामान्य ज्ञान किंवा विशिष्ट वापरकर्ता प्राधान्य म्हणून जतन करायची आहे का हे ठरवणे.

  2. काढणे व संक्षेप करणे: संभाषणातून आवश्यक शिकवण किंवा प्राधान्य काढून घेणे.

  3. ज्ञान बेसमध्ये साठवणे: काढलेली माहिती साधारणपणे वेक्टर डेटाबेसमध्ये कायमस्वरूपी ठेवणे जेणेकरून नंतर मिळवता येईल.

  4. भविष्यातील क्वेरीज वाढवणे: जेव्हा वापरकर्ता नवीन क्वेरी करते, तेव्हा ज्ञान एजंट संबंधित माहिती मिळवून वापरकर्त्याच्या प्रॉम्प्टला जोडतो, ज्यामुळे मुख्य एजंटला आवश्यक संदर्भ मिळतो (RAG प्रमाणे).

स्मृतीसाठी ऑप्टिमायझेशन्स

प्रतिसाद वेळ नियंत्रण (Latency Management): वापरकर्ता संवाद मंदावू नये म्हणून, पूर्वी एक स्वस्त, वेगवान मॉडेल वापरून माहिती साठवणे किंवा पुनर्प्राप्त करणे आवश्यक आहे का ते त्वरेने तपासता येते, आणि गरजेनुसार अधिक जटिल काढणी/पुनर्प्राप्ती प्रक्रिया चालवली जाते.

ज्ञान बेस देखभाल: वाढत चाललेल्या ज्ञान बेससाठी, कमी वापरात असलेली माहिती "कोल्ड स्टोरेज" मध्ये हलवून खर्च व्यवस्थापित करता येतो.

एजंट स्मृतीबद्दल आणखी प्रश्न आहेत का?

Microsoft Foundry Discord मध्ये सहभागी व्हा आणि इतर शिकणाऱ्यांशी भेटा, ऑफिस तासांत सहभागी व्हा आणि आपले AI एजंटस संबंधित प्रश्न विचारा.


अस्वीकार घोषणा:
हा दस्तऐवज AI अनुवाद सेवा Co-op Translator वापरून अनुवादित केला आहे. आम्ही अचूकतेसाठी प्रयत्न करतो, तरी कृपया लक्षात घ्या की स्वयंचलित अनुवादांमध्ये चुका किंवा गैरसमज असू शकतात. मूळ दस्तऐवज त्याच्या मूळ भाषेत अधिकृत स्रोत मानला जातो. महत्त्वाची माहिती असल्यास, व्यावसायिक मानवी अनुवाद करण्याचा सल्ला दिला जातो. या अनुवादाचा वापर करण्यामुळे होणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थ लागण्याची जवाबदारी आमची नाही.