𝗟𝗮𝗻𝗴𝗖𝗵𝗮𝗶𝗻 𝗔𝗴𝗲𝗻𝘁𝘀-க்கான 𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗠𝗲𝗺𝗼𝗿𝘆
நினைவகத்தைச் (memory) சேர்ப்பதன் மூலம் LangChain agents-களை அதிக புத்திசாலித்தனமானதாக மாற்ற முடியும். இது முந்தைய செய்திகளில் உள்ள தகவல்களை அவை நினைவில் வைத்துக்கொள்ள அனுமதிக்கிறது.
இந்தப் பதிவில், ஒரு support agent-ஐப் பல சுற்றுகள் கொண்ட (multi-turn) கருவியாக நான் மாற்றுகிறேன்.
முதல் சுற்றில், agent ஒரு வாடிக்கையாளர் மற்றும் ஒரு விலைப்பட்டியலை (invoice) தேடுகிறது. இரண்டாவது சுற்றில், agent மீண்டும் ID-களைக் கேட்காமலேயே ஒரு டிக்கெட்டை (ticket) உருவாக்குகிறது.
நீங்கள் தெரிந்து கொள்ள வேண்டிய மூன்று முக்கியக் கருத்துக்கள்:
- Checkpointer: இது குறுகிய கால நினைவகமாக (short-term memory) செயல்படுகிறது. இது ஒவ்வொரு படிநிலைக்குப் பிறகும் செய்திகளையும் நிலைகளையும் (state) சேமிக்கிறது.
- thread_id: இது உங்கள் உரையாடல் திறவுகோல் (conversation key). ஒரு உரையாடலைத் தொடர அதே ID-யைப் பயன்படுத்தவும். புதிய அமர்வைத் (session) தொடங்க புதிய ID-யைப் பயன்படுத்தவும்.
- Store: இது பயனர் விருப்பங்கள் போன்ற தகவல்களுக்கான நீண்ட கால நினைவகம் (long-term memory) ஆகும்.
ஒரு support flow-வில் இது எவ்வாறு செயல்படுகிறது:
- பயனர் வாடிக்கையாளர் ID 1042 மற்றும் invoice 8891-ஐத் தேடச் சொல்கிறார். agent அந்தத் தரவைக் கண்டறிகிறது.
- பயனர் "Create the ticket" என்று கூறுகிறார். agent முதல் படியிலிருந்து ID-களை நினைவில் வைத்துக்கொண்டு பணியை முடிக்கிறது.
சோதனை செய்வதற்கு, MemorySaver-ஐப் பயன்படுத்தவும். இது உங்கள் உள்ளூர் செயல்பாட்டில் (local process) நிலையைச் சேமித்து வைக்கும்.
முக்கியம்: உங்கள் குறியீடு (code) இயங்குவது நின்றுவிடும்போது MemorySaver அழிந்துவிடும். தயாரிப்புச் சூழலுக்கு (production), Postgres அல்லது SQLite போன்ற தரவுத்தளத்தைப் (database) பயன்படுத்தவும். thread_id API மாறாததால், குறியீடு அப்படியே இருக்கும்.
வெவ்வேறு பயனர்களுக்கு வெவ்வேறு thread IDs-களைப் பயன்படுத்துவதன் மூலம் அமர்வுகளைத் (sessions) தனித்தனியாக வைத்திருக்கவும். இது ஒரு நபரின் தரவு மற்றொரு நபரின் உரையாடலில் கசிவதைத் தடுக்கிறது.
முழுமையான ஸ்கிரிப்ட்களுக்கு langchain-agent-memory-nodejs-demo கோப்புறையைச் (folder) சரிபார்க்கவும்.
ஆதாரம்: https://dev.to/zsevic/conversation-memory-for-langchain-agents-31pa
விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi