𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆 𝗳𝗼𝗿 𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁𝘀
ಮೆಮೊರಿಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ನೀವು LangChain agents ಅನ್ನು ಹೆಚ್ಚು ಬುದ್ಧಿವಂತವಾಗಿಸಬಹುದು. ಇದು ಹಿಂದಿನ ಸಂದೇಶಗಳಿಂದನ ಸತ್ಯಾಂಶಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ಅವುಗಳಿಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಈ ಪೋಸ್ಟ್ನಲ್ಲಿ, ನಾನು ಒಂದು support agent ಅನ್ನು multi-turn tool ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತೇನೆ.
ಮೊದಲ ಹಂತದಲ್ಲಿ (turn one), agent ಒಬ್ಬ ಗ್ರಾಹಕ ಮತ್ತು ಒಂದು invoice ಅನ್ನು ಹುಡುಕುತ್ತದೆ. ಎರಡನೇ ಹಂತದಲ್ಲಿ (turn two), agent ಮತ್ತೆ IDಗಳನ್ನು ಕೇಳದೆ ಟಿಕೆಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.
ತಿಳಿಯಬೇಕಾದ ಮೂರು ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳು:
- Checkpointer: ಇದು short-term memory ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಪ್ರತಿ ಹಂತದ ನಂತರ ಸಂದೇಶಗಳು ಮತ್ತು state ಅನ್ನು ಉಳಿಸುತ್ತದೆ.
- thread_id: ಇದು ನಿಮ್ಮ ಸಂಭಾಷಣೆಯ ಕೀ (key). ಚಾಟ್ ಅನ್ನು ಮುಂದುವರಿಸಲು ಒಂದೇ ID ಅನ್ನು ಬಳಸಿ. ಹೊಸ ಸೆಷನ್ ಪ್ರಾರಂಭಿಸಲು ಹೊಸ ID ಅನ್ನು ಬಳಸಿ.
- Store: ಇದು ಬಳಕೆದಾರರ ಆದ್ಯತೆಗಳಂತಹ (user preferences) ಸತ್ಯಾಂಶಗಳಿಗಾಗಿ ಇರುವ long-term memory ಆಗಿದೆ.
Support flow ನಲ್ಲಿ ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:
- ಬಳಕೆದಾರರು customer ID 1042 ಮತ್ತು invoice 8891 ಅನ್ನು ಹುಡುಕಲು ಕೇಳುತ್ತಾರೆ. Agent ಆ ಡೇಟಾವನ್ನು ಹುಡುಕುತ್ತದೆ.
- ಬಳಕೆದಾರರು "Create the ticket" ಎಂದು ಹೇಳುತ್ತಾರೆ. Agent ಮೊದಲ ಹಂತದ IDಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಕಾರ್ಯವನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.
ಪರೀಕ್ಷೆಗಾಗಿ, MemorySaver ಬಳಸಿ. ಇದು ನಿಮ್ಮ local process ನಲ್ಲಿ state ಅನ್ನು ಇರಿಸುತ್ತದೆ.
ಮುಖ್ಯವಾದುದು: ನಿಮ್ಮ ಕೋಡ್ ಚಾಲನೆಯನ್ನು ನಿಲ್ಲಿಸಿದಾಗ MemorySaver ಅಳಿಸಿಹೋಗುತ್ತದೆ. Production ಗಾಗಿ, Postgres ಅಥವಾ SQLite ನಂತಹ database ಅನ್ನು ಬಳಸಿ. thread_id API ಬದಲಾಗುವುದಿಲ್ಲದ ಕಾರಣ ಕೋಡ್ ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ವಿಭಿನ್ನ ಬಳಕೆದಾರರಿಗೆ ವಿಭಿನ್ನ thread IDs ಬಳಸಿ ಸೆಷನ್ಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿಡಿ. ಇದು ಒಬ್ಬ ವ್ಯಕ್ತಿಯ ಡೇಟಾ ಇನ್ನೊಬ್ಬ ವ್ಯಕ್ತಿಯ ಚಾಟ್ಗೆ ಸೋರಿಕೆಯಾಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಪೂರ್ಣ ಸ್ಕ್ರಿಪ್ಟ್ಗಳಿಗಾಗಿ langchain-agent-memory-nodejs-demo ಫೋಲ್ಡರ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
ಮೂಲ (Source): https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ (Optional learning community): https://t.me/GyaanSetuAi