𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁𝘀 ਲਈ 𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆
ਤੁਸੀਂ memory ਜੋੜ ਕੇ LangChain agents ਨੂੰ ਹੋਰ ਸਮਝਦਾਰ ਬਣਾ ਸਕਦੇ ਹੋ। ਇਹ ਉਹਨਾਂ ਨੂੰ ਪਿਛਲੇ ਸੁਨੇਹਿਆਂ ਤੋਂ ਤੱਥ ਯਾਦ ਰੱਖਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
ਇਸ ਪੋਸਟ ਵਿੱਚ, ਮੈਂ ਇੱਕ support agent ਨੂੰ multi-turn tool ਵਿੱਚ ਬਦਲਦਾ ਹਾਂ।
ਪਹਿਲੇ turn ਵਿੱਚ, agent ਇੱਕ customer ਅਤੇ ਇੱਕ invoice ਦੀ ਜਾਣਕਾਰੀ ਲੱਭਦਾ ਹੈ। ਦੂਜੇ turn ਵਿੱਚ, agent ਦੁਬਾਰਾ IDs ਮੰਗੇ ਬਿਨਾਂ ਇੱਕ ticket ਬਣਾਉਂਦਾ ਹੈ।
ਜਾਣਨ ਲਈ ਤਿੰਨ ਮੁੱਖ ਸੰਕਲਪ:
- Checkpointer: ਇਹ short-term memory ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਹਰ ਕਦਮ ਤੋਂ ਬਾਅਦ ਸੁਨੇਹੇ ਅਤੇ state ਨੂੰ ਸੇਵ ਕਰਦਾ ਹੈ।
- thread_id: ਇਹ ਤੁਹਾਡੀ conversation key ਹੈ। ਚੈਟ ਜਾਰੀ ਰੱਖਣ ਲਈ ਇੱਕੋ ID ਦੀ ਵਰਤੋਂ ਕਰੋ। ਨਵਾਂ session ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇੱਕ ਨਵੀਂ ID ਦੀ ਵਰਤੋਂ ਕਰੋ।
- Store: ਇਹ user preferences ਵਰਗੇ ਤੱਥਾਂ ਲਈ long-term memory ਹੈ।
Support flow ਵਿੱਚ ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ:
- User customer ID 1042 ਅਤੇ invoice 8891 ਲੱਭਣ ਲਈ ਕਹਿੰਦਾ ਹੈ। Agent ਡਾਟਾ ਲੱਭ ਲੈਂਦਾ ਹੈ।
- User ਕਹਿੰਦਾ ਹੈ "Create the ticket।" Agent ਪਹਿਲੇ ਕਦਮ ਤੋਂ IDs ਨੂੰ ਯਾਦ ਰੱਖਦਾ ਹੈ ਅਤੇ ਕੰਮ ਪੂਰਾ ਕਰਦਾ ਹੈ।
ਟੈਸਟਿੰਗ ਲਈ, MemorySaver ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਤੁਹਾਡੇ local process ਵਿੱਚ state ਨੂੰ ਰੱਖਦਾ ਹੈ।
ਮਹੱਤਵਪੂਰਨ: ਜਦੋਂ ਤੁਹਾਡਾ code ਚੱਲਣਾ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ MemorySaver ਸਾਫ਼ ਹੋ ਜਾਂਦਾ ਹੈ। Production ਲਈ, Postgres ਜਾਂ SQLite ਵਰਗੇ database ਦੀ ਵਰਤੋਂ ਕਰੋ। Code ਉਹੀ ਰਹਿੰਦਾ ਹੈ ਕਿਉਂਕਿ thread_id API ਨਹੀਂ ਬਦਲਦਾ।
ਵੱਖ-ਵੱਖ users ਲਈ ਵੱਖ-ਵੱਖ thread IDs ਦੀ ਵਰਤੋਂ ਕਰਕੇ sessions ਨੂੰ ਵੱਖਰਾ ਰੱਖੋ। ਇਹ ਇੱਕ ਵਿਅਕਤੀ ਦੇ ਡਾਟਾ ਨੂੰ ਦੂਜੇ ਵਿਅਕਤੀ ਦੀ ਚੈਟ ਵਿੱਚ ਜਾਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
ਪੂਰੇ scripts ਲਈ langchain-agent-memory-nodejs-demo ਫੋਲਡਰ ਚੈੱਕ ਕਰੋ।
Source: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
Optional learning community: https://t.me/GyaanSetuAi