LangChain Agents साठी 𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆
तुम्ही मेमरी जोडून LangChain agents अधिक हुशार बनवू शकता. यामुळे त्यांना मागील संदेशांमधील तथ्ये लक्षात ठेवता येतात.
या पोस्टमध्ये, मी एका सपोर्ट एजंटला मल्टी-टर्न (multi-turn) टूलमध्ये रूपांतरित करत आहे.
पहिल्या टर्नमध्ये, एजंट ग्राहक आणि इनव्हॉइस शोधतो. दुसऱ्या टर्नमध्ये, एजंट पुन्हा आयडी (IDs) न विचारता तिकीट तयार करतो.
जाणून घेण्यासारख्या तीन महत्त्वाच्या संकल्पना:
- Checkpointer: हे शॉर्ट-टर्म मेमरीप्रमाणे काम करते. हे प्रत्येक स्टेपनंतर संदेश आणि स्टेट (state) सेव्ह करते.
- thread_id: हा तुमचा कन्वर्सेशन की (conversation key) आहे. चॅट सुरू ठेवण्यासाठी तोच ID वापरा. नवीन सेशन सुरू करण्यासाठी नवीन ID वापरा.
- Store: हे युजरच्या आवडीनिवडींसारख्या (user preferences) तथ्यांसाठी लाँग-टर्म मेमरी आहे.
सपोर्ट फ्लोमध्ये हे कसे काम करते:
- युजर कस्टमर ID 1042 आणि इनव्हॉइस 8891 शोधण्यास सांगतो. एजंट डेटा शोधतो.
- युजर "Create the ticket" असे म्हणतो. एजंट पहिल्या स्टेपमधील IDs लक्षात ठेवतो आणि काम पूर्ण करतो.
टेस्टिंगसाठी, MemorySaver वापरा. हे तुमच्या लोकल प्रोसेसमध्ये स्टेट (state) ठेवते.
महत्त्वाचे: तुमचा कोड थांबला की MemorySaver क्लिअर होते. प्रोडक्शनसाठी, Postgres किंवा SQLite सारखा डेटाबेस वापरा. कोड तोच राहतो कारण thread_id API बदलत नाही.
वेगवेगळ्या युजर्ससाठी वेगवेगळे thread IDs वापरून सेशन्स वेगळे ठेवा. यामुळे एका व्यक्तीचा डेटा दुसऱ्या व्यक्तीच्या चॅटमध्ये लीक होण्यापासून वाचतो.
पूर्ण स्क्रिप्ट्ससाठी langchain-agent-memory-nodejs-demo फोल्डर तपासा.
स्त्रोत: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
पर्यायी लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi