𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆 𝗳𝗼𝗿 𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁𝘀
മെമ്മറി ചേർക്കുന്നതിലൂടെ നിങ്ങൾക്ക് LangChain ഏജന്റുകളെ കൂടുതൽ ബുദ്ധിമാന്മാരാക്കാം. ഇത് മുൻപത്തെ സന്ദേശങ്ങളിൽ നിന്നുള്ള വിവരങ്ങൾ ഓർത്തെടുക്കാൻ അവയെ സഹായിക്കുന്നു.
ഈ പോസ്റ്റിലൂടെ, ഒരു സപ്പോർട്ട് ഏജന്റിനെ ഒരു മൾട്ടി-ടേൺ (multi-turn) ടൂളായി ഞാൻ മാറ്റുന്നു.
ഒന്നാമത്തെ ഘട്ടത്തിൽ (turn one), ഏജന്റ് ഒരു കസ്റ്റമറെയും ഇൻവോയിസിനെയും കണ്ടെത്തുന്നു. രണ്ടാമത്തെ ഘട്ടത്തിൽ (turn two), ഐഡികൾ വീണ്ടും ചോദിക്കാതെ തന്നെ ഏജന്റ് ഒരു ടിക്കറ്റ് ക്രിയേറ്റ് ചെയ്യുന്നു.
അറിഞ്ഞിരിക്കേണ്ട മൂന്ന് പ്രധാന കാര്യങ്ങൾ:
- Checkpointer: ഇത് ഷോർട്ട്-ടേം മെമ്മറിയായി പ്രവർത്തിക്കുന്നു. ഓരോ ഘട്ടത്തിന് ശേഷവും ഇത് സന്ദേശങ്ങളും സ്റ്റേറ്റും (state) സേവ് ചെയ്യുന്നു.
- thread_id: ഇതാണ് നിങ്ങളുടെ കൺവർസേഷൻ കീ. ഒരു ചാറ്റ് തുടരാൻ ഒരേ ID ഉപയോഗിക്കുക. പുതിയൊരു സെഷൻ തുടങ്ങാൻ പുതിയൊരു ID ഉപയോഗിക്കുക.
- Store: ഉപയോക്താവിന്റെ താൽപ്പര്യങ്ങൾ (user preferences) പോലുള്ള വിവരങ്ങൾ സൂക്ഷിക്കാനുള്ള ലോംഗ്-ടേം മെമ്മറിയാണിത്.
ഒരു സപ്പോർട്ട് ഫ്ലോയിൽ ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു:
- കസ്റ്റമർ ID 1042-ഉം ഇൻവോയ്സ് 8891-ഉം പരിശോധിക്കാൻ ഉപയോക്താവ് ആവശ്യപ്പെടുന്നു. ഏജന്റ് ആ വിവരങ്ങൾ കണ്ടെത്തുന്നു.
- "Create the ticket" എന്ന് ഉപയോക്താവ് പറയുന്നു. ആദ്യ ഘട്ടത്തിലെ ഐഡികൾ ഏജന്റ് ഓർത്തെടുക്കുകയും ആ ജോലി പൂർത്തിയാക്കുകയും ചെയ്യുന്നു.
ടെസ്റ്റിംഗിനായി MemorySaver ഉപയോഗിക്കുക. ഇത് നിങ്ങളുടെ ലോക്കൽ പ്രോസസ്സിൽ സ്റ്റേറ്റ് സൂക്ഷിക്കുന്നു.
ശ്രദ്ധിക്കുക: നിങ്ങളുടെ കോഡ് പ്രവർത്തിക്കുന്നത് നിൽക്കുമ്പോൾ MemorySaver ക്ലിയർ ചെയ്യപ്പെടും. പ്രൊഡക്ഷന് വേണ്ടി Postgres അല്ലെങ്കിൽ SQLite പോലുള്ള ഒരു ഡാറ്റാബേസ് ഉപയോഗിക്കുക. thread_id API മാറാത്തതിനാൽ കോഡിൽ മാറ്റം വരുത്തേണ്ടതില്ല.
വ്യത്യസ്ത ഉപയോക്താക്കൾക്കായി വ്യത്യസ്ത thread IDs ഉപയോഗിച്ച് സെഷനുകൾ വേർതിരിച്ചു നിർത്തുക. ഇത് ഒരാളുടെ ഡാറ്റ മറ്റൊരാളുടെ ചാറ്റിലേക്ക് ചോരുന്നത് തടയുന്നു.
മുഴുവൻ സ്ക്രിപ്റ്റുകൾക്കുമായി langchain-agent-memory-nodejs-demo ഫോൾഡർ പരിശോധിക്കുക.
Source: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi