ఈ గైడ్ LangChainలో ఎంటిటీ మెమరీని ఉపయోగించే ప్రక్రియను వివరిస్తుంది.
LangChainలో ఎంటిటీ మెమరీని ఎలా ఉపయోగించాలి?
ప్రశ్నలు/ప్రాంప్ట్లను ఉపయోగించి మానవుడు అడిగినప్పుడు సేకరించేందుకు మెమరీలో నిల్వ చేయబడిన కీలక వాస్తవాలను ఉంచడానికి ఎంటిటీ ఉపయోగించబడుతుంది. LangChainలో ఎంటిటీ మెమరీని ఉపయోగించే విధానాన్ని తెలుసుకోవడానికి, కింది గైడ్ని సందర్శించండి:
దశ 1: మాడ్యూల్లను ఇన్స్టాల్ చేయండి
ముందుగా, దాని డిపెండెన్సీలను పొందడానికి పిప్ కమాండ్ని ఉపయోగించి లాంగ్చెయిన్ మాడ్యూల్ను ఇన్స్టాల్ చేయండి:
పిప్ ఇన్స్టాల్ లాంగ్చెయిన్
ఆ తర్వాత, LLMలు మరియు చాట్ మోడల్లను రూపొందించడానికి దాని లైబ్రరీలను పొందడానికి OpenAI మాడ్యూల్ను ఇన్స్టాల్ చేయండి:
pip ఇన్స్టాల్ openai
OpenAI పర్యావరణాన్ని సెటప్ చేయండి OpenAI ఖాతా నుండి సంగ్రహించబడే API కీని ఉపయోగించడం:
దిగుమతి మీరు
దిగుమతి getpass
మీరు . సుమారు [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API కీ:' )
దశ 2: ఎంటిటీ మెమరీని ఉపయోగించడం
ఎంటిటీ మెమరీని ఉపయోగించడానికి, OpenAI() పద్ధతిని ఉపయోగించి LLMని నిర్మించడానికి అవసరమైన లైబ్రరీలను దిగుమతి చేయండి:
నుండి లాంగ్చైన్. llms దిగుమతి OpenAIనుండి లాంగ్చైన్. జ్ఞాపకశక్తి దిగుమతి ConversationEntityMemory
llm = OpenAI ( ఉష్ణోగ్రత = 0 )
ఆ తరువాత, నిర్వచించండి జ్ఞాపకశక్తి ఇన్పుట్ మరియు అవుట్పుట్ వేరియబుల్లను ఉపయోగించి మోడల్కు శిక్షణ ఇవ్వడానికి ConversationEntityMemory() పద్ధతిని ఉపయోగించి వేరియబుల్:
జ్ఞాపకశక్తి = ConversationEntityMemory ( llm = llm )_ఇన్పుట్ = { 'ఇన్పుట్' : 'జో ఆర్ రూట్ ఒక ప్రాజెక్ట్ చేస్తున్నారు' }
జ్ఞాపకశక్తి. load_memory_variables ( _ఇన్పుట్ )
జ్ఞాపకశక్తి. సేవ్_సందర్భం (
_ఇన్పుట్ ,
{ 'అవుట్పుట్' : 'గ్రేట్! అది ఎలాంటి ప్రాజెక్ట్?' }
)
ఇప్పుడు, ప్రశ్న/ప్రాంప్ట్ని ఉపయోగించి మెమరీని పరీక్షించండి ఇన్పుట్ load_memory_variables() పద్ధతిని కాల్ చేయడం ద్వారా వేరియబుల్:
జ్ఞాపకశక్తి. load_memory_variables ( { 'ఇన్పుట్' : 'రూట్ ఎవరు' } )
ఇప్పుడు, మరికొంత సమాచారాన్ని అందించండి, తద్వారా మోడల్ మెమరీలో మరికొన్ని ఎంటిటీలను జోడించగలదు:
జ్ఞాపకశక్తి = ConversationEntityMemory ( llm = llm , రిటర్న్_మెసేజెస్ = నిజమే )_ఇన్పుట్ = { 'ఇన్పుట్' : 'జో ఆర్ రూట్ ఒక ప్రాజెక్ట్ చేస్తున్నారు' }
జ్ఞాపకశక్తి. load_memory_variables ( _ఇన్పుట్ )
జ్ఞాపకశక్తి. సేవ్_సందర్భం (
_ఇన్పుట్ ,
{ 'అవుట్పుట్' : 'గ్రేట్! అది ఎలాంటి ప్రాజెక్ట్' }
)
మెమరీలో నిల్వ చేయబడిన ఎంటిటీలను ఉపయోగించి అవుట్పుట్ పొందడానికి క్రింది కోడ్ను అమలు చేయండి. ద్వారా సాధ్యమవుతుంది ఇన్పుట్ ప్రాంప్ట్ కలిగి ఉంది:
జ్ఞాపకశక్తి. load_memory_variables ( { 'ఇన్పుట్' : 'జో ఎవరు' } )
దశ 3: ఎంటిటీ మెమరీని చైన్లో ఉపయోగించడం
గొలుసును నిర్మించిన తర్వాత ఎంటిటీ మెమరీని ఉపయోగించడానికి, కింది కోడ్ బ్లాక్ని ఉపయోగించి అవసరమైన లైబ్రరీలను దిగుమతి చేయండి:
నుండి లాంగ్చైన్. గొలుసులు దిగుమతి సంభాషణ చైన్నుండి లాంగ్చైన్. జ్ఞాపకశక్తి దిగుమతి ConversationEntityMemory
నుండి లాంగ్చైన్. జ్ఞాపకశక్తి . ప్రాంప్ట్ దిగుమతి ENTITY_MEMORY_CONVERSATION_TEMPLATE
నుండి పిడాంటిక్ దిగుమతి బేస్ మోడల్
నుండి టైపింగ్ దిగుమతి జాబితా , డిక్ట్ , ఏదైనా
llm వంటి ఆర్గ్యుమెంట్లను ఉపయోగించి ConversationChain() పద్ధతిని ఉపయోగించి సంభాషణ నమూనాను రూపొందించండి:
సంభాషణ = సంభాషణ చైన్ (llm = llm ,
మాటలతో కూడిన = నిజమే ,
ప్రాంప్ట్ = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
జ్ఞాపకశక్తి = ConversationEntityMemory ( llm = llm )
)
ప్రాంప్ట్ లేదా ప్రశ్నతో ప్రారంభించబడిన ఇన్పుట్తో సంభాషణ.predict() పద్ధతికి కాల్ చేయండి:
సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'జో ఆర్ రూట్ ఒక ప్రాజెక్ట్ చేస్తున్నారు' )
ఇప్పుడు, ప్రతి ఎంటిటీకి సంబంధించిన సమాచారాన్ని వివరించే ప్రత్యేక అవుట్పుట్ను పొందండి:
సంభాషణ. జ్ఞాపకశక్తి . entity_store . స్టోర్
ఇన్పుట్ ఇవ్వడానికి మోడల్ నుండి అవుట్పుట్ని ఉపయోగించండి, తద్వారా మోడల్ ఈ ఎంటిటీల గురించి మరింత సమాచారాన్ని నిల్వ చేయగలదు:
సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'వారు లాంగ్చెయిన్కు మరింత సంక్లిష్టమైన మెమరీ నిర్మాణాలను జోడించడానికి ప్రయత్నిస్తున్నారు' )
మెమరీలో నిల్వ చేయబడిన సమాచారాన్ని అందించిన తర్వాత, ఎంటిటీల గురించి నిర్దిష్ట సమాచారాన్ని సేకరించేందుకు ప్రశ్న అడగండి:
సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'జో మరియు రూట్ గురించి మీకు ఏమి తెలుసు' )
దశ 4: మెమరీ స్టోర్ని పరీక్షిస్తోంది
కింది కోడ్ను ఉపయోగించి వాటిలో నిల్వ చేయబడిన సమాచారాన్ని పొందడానికి వినియోగదారు నేరుగా మెమరీ స్టోర్లను తనిఖీ చేయవచ్చు:
నుండి ముద్రణ దిగుమతి ముద్రణముద్రణ ( సంభాషణ. జ్ఞాపకశక్తి . entity_store . స్టోర్ )
మరింత సమాచారం మరింత ఖచ్చితమైన ఫలితాలను ఇస్తుంది కాబట్టి మెమరీలో నిల్వ చేయడానికి మరింత సమాచారాన్ని అందించండి:
సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'రూట్ HJRS అనే వ్యాపారాన్ని స్థాపించాడు' )
ఎంటిటీల గురించి మరింత సమాచారాన్ని జోడించిన తర్వాత మెమరీ స్టోర్ నుండి సమాచారాన్ని సంగ్రహించండి:
నుండి ముద్రణ దిగుమతి ముద్రణముద్రణ ( సంభాషణ. జ్ఞాపకశక్తి . entity_store . స్టోర్ )
మెమరీ HJRS, Joe, LangChain మరియు Root వంటి బహుళ ఎంటిటీల గురించి సమాచారాన్ని కలిగి ఉంది:
ఇప్పుడు ఇన్పుట్ వేరియబుల్లో నిర్వచించిన ప్రశ్న లేదా ప్రాంప్ట్ని ఉపయోగించి నిర్దిష్ట ఎంటిటీ గురించి సమాచారాన్ని సంగ్రహించండి:
సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'రూట్ గురించి మీకు ఏమి తెలుసు' )
లాంగ్చెయిన్ ఫ్రేమ్వర్క్ని ఉపయోగించి ఎంటిటీ మెమరీని ఉపయోగించడం గురించి అంతే.
ముగింపు
LangChainలో ఎంటిటీ మెమరీని ఉపయోగించడానికి, OpenAI వాతావరణాన్ని సెటప్ చేసిన తర్వాత మోడల్లను రూపొందించడానికి అవసరమైన లైబ్రరీలను దిగుమతి చేయడానికి అవసరమైన మాడ్యూల్లను ఇన్స్టాల్ చేయండి. ఆ తర్వాత, LLM మోడల్ను రూపొందించండి మరియు ఎంటిటీల గురించి సమాచారాన్ని అందించడం ద్వారా మెమరీలో ఎంటిటీలను నిల్వ చేయండి. వినియోగదారు ఈ ఎంటిటీలను ఉపయోగించి సమాచారాన్ని సంగ్రహించవచ్చు మరియు ఎంటిటీల గురించి కదిలించిన సమాచారంతో ఈ జ్ఞాపకాలను చైన్లలో నిర్మించవచ్చు. ఈ పోస్ట్ లాంగ్చెయిన్లో ఎంటిటీ మెమరీని ఉపయోగించే ప్రక్రియ గురించి వివరించింది.