LangChainలో VectorStoreRetrieverMemoryని ఎలా ఉపయోగించాలి?

Langchainlo Vectorstoreretrievermemoryni Ela Upayogincali



లార్జ్ లాంగ్వేజ్ మోడల్స్ లేదా LLMలు లాంగ్‌చెయిన్ ఫ్రేమ్‌వర్క్‌ని ఉపయోగించి నిర్మించబడిన సహజ భాషా ప్రాసెసింగ్ సమస్యలకు పరిష్కారం. LangChain మాడ్యూల్ చాట్ మోడల్‌లు లేదా LLMలను రూపొందించడానికి అవసరమైన అన్ని డిపెండెన్సీలు లేదా లైబ్రరీలను అందిస్తుంది. మోడల్‌లను ఉపయోగించి వెక్టర్ స్టోర్‌లు లేదా డేటాబేస్‌ల నుండి డేటాను సంగ్రహించడానికి వినియోగదారు రిట్రీవర్‌ను కూడా సెట్ చేయవచ్చు.

LangChain ఫ్రేమ్‌వర్క్‌ని ఉపయోగించి VectorStoreRetrieverMemoryని ఎలా ఉపయోగించాలో ఈ గైడ్ వివరిస్తుంది.

LangChainలో VectorStoreRetrieverMemoryని ఎలా ఉపయోగించాలి?

VectorStoreRetrieverMemory అనేది LangChain యొక్క లైబ్రరీ, ఇది వెక్టార్ స్టోర్‌లను ఉపయోగించి మెమరీ నుండి సమాచారం/డేటాను సేకరించేందుకు ఉపయోగించబడుతుంది. ప్రాంప్ట్ లేదా ప్రశ్నకు అనుగుణంగా సమాచారాన్ని సమర్ధవంతంగా సేకరించేందుకు డేటాను నిల్వ చేయడానికి మరియు నిర్వహించడానికి వెక్టర్ స్టోర్‌లను ఉపయోగించవచ్చు.







LangChainలో VectorStoreRetrieverMemoryని ఉపయోగించే ప్రక్రియను తెలుసుకోవడానికి, కింది గైడ్ ద్వారా వెళ్ళండి:



దశ 1: మాడ్యూల్‌లను ఇన్‌స్టాల్ చేయండి

పిప్ ఆదేశాన్ని ఉపయోగించి లాంగ్‌చెయిన్‌ను ఇన్‌స్టాల్ చేయడం ద్వారా మెమరీ రిట్రీవర్‌ను ఉపయోగించే ప్రక్రియను ప్రారంభించండి:



పిప్ ఇన్‌స్టాల్ లాంగ్‌చెయిన్





సెమాంటిక్ సారూప్యత శోధనను ఉపయోగించి డేటాను పొందడానికి FAISS మాడ్యూల్‌లను ఇన్‌స్టాల్ చేయండి:

pip ఇన్స్టాల్ faiss-gpu



క్రోమా డేటాబేస్ను ఉపయోగించడం కోసం chromadb మాడ్యూల్‌ను ఇన్‌స్టాల్ చేయండి. రిట్రీవర్ కోసం మెమరీని నిర్మించడానికి ఇది వెక్టర్ స్టోర్‌గా పనిచేస్తుంది:

pip chromadbని ఇన్‌స్టాల్ చేస్తుంది

ఇన్‌స్టాల్ చేయడానికి మరొక మాడ్యూల్ టిక్‌టోకెన్ అవసరం, ఇది డేటాను చిన్న భాగాలుగా మార్చడం ద్వారా టోకెన్‌లను సృష్టించడానికి ఉపయోగించబడుతుంది:

pip tiktoken ఇన్స్టాల్

దాని పర్యావరణాన్ని ఉపయోగించి LLMలు లేదా చాట్‌బాట్‌లను నిర్మించడం కోసం దాని లైబ్రరీలను ఉపయోగించడానికి OpenAI మాడ్యూల్‌ను ఇన్‌స్టాల్ చేయండి:

pip ఇన్స్టాల్ openai

పర్యావరణాన్ని ఏర్పాటు చేయండి OpenAI ఖాతా నుండి API కీని ఉపయోగించి పైథాన్ IDE లేదా నోట్‌బుక్‌లో:

దిగుమతి మీరు

దిగుమతి getpass

మీరు . సుమారు [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API కీ:' )

దశ 2: లైబ్రరీలను దిగుమతి చేయండి

లాంగ్‌చెయిన్‌లో మెమరీ రిట్రీవర్‌ని ఉపయోగించడం కోసం ఈ మాడ్యూల్స్ నుండి లైబ్రరీలను పొందడం తదుపరి దశ:

నుండి లాంగ్చైన్. అడుగుతుంది దిగుమతి ప్రాంప్ట్ టెంప్లేట్

నుండి తేదీ సమయం దిగుమతి తేదీ సమయం

నుండి లాంగ్చైన్. llms దిగుమతి OpenAI

నుండి లాంగ్చైన్. పొందుపరచడం . ఓపెనై దిగుమతి OpenAIEmbeddings

నుండి లాంగ్చైన్. గొలుసులు దిగుమతి సంభాషణ చైన్

నుండి లాంగ్చైన్. జ్ఞాపకశక్తి దిగుమతి VectorStoreRetrieverMemory

దశ 3: వెక్టర్ స్టోర్‌ని ప్రారంభించడం

ఇన్‌పుట్ ఆదేశాన్ని ఉపయోగించి డేటాను సంగ్రహించడానికి FAISS లైబ్రరీని దిగుమతి చేసిన తర్వాత ఈ గైడ్ క్రోమా డేటాబేస్‌ను ఉపయోగిస్తుంది:

దిగుమతి ఫెయిస్

నుండి లాంగ్చైన్. వైద్యశాల దిగుమతి InMemoryDocstore
#డేటాబేస్‌లు లేదా వెక్టార్ స్టోర్‌లను కాన్ఫిగర్ చేయడానికి లైబ్రరీలను దిగుమతి చేస్తోంది
నుండి లాంగ్చైన్. వెక్టర్ స్టోర్లు దిగుమతి FAISS

#వెక్టార్ స్టోర్‌లలో వాటిని నిల్వ చేయడానికి ఎంబెడ్డింగ్‌లు మరియు టెక్స్ట్‌లను సృష్టించండి
పొందుపరచడం_పరిమాణం = 1536
సూచిక = ఫెయిస్. IndexFlatL2 ( పొందుపరచడం_పరిమాణం )
పొందుపరచడం_fn = OpenAIEmbeddings ( ) . పొందుపరిచిన_ప్రశ్న
వెక్టర్ స్టోర్ = FAISS ( పొందుపరచడం_fn , సూచిక , InMemoryDocstore ( { } ) , { } )

దశ 4: వెక్టర్ స్టోర్ ద్వారా రిట్రీవర్‌ను నిర్మించడం

సంభాషణలో ఇటీవలి సందేశాలను నిల్వ చేయడానికి మరియు చాట్ యొక్క సందర్భాన్ని పొందడానికి మెమరీని రూపొందించండి:

రిట్రీవర్ = వెక్టర్ స్టోర్. వంటి_రిట్రీవర్ ( శోధన_క్వార్గ్స్ = నిర్దేశించండి ( కె = 1 ) )
జ్ఞాపకశక్తి = VectorStoreRetrieverMemory ( రిట్రీవర్ = రిట్రీవర్ )

జ్ఞాపకశక్తి. సేవ్_సందర్భం ( { 'ఇన్‌పుట్' : 'నాకు పిజ్జా తినడం ఇష్టం' } , { 'అవుట్‌పుట్' : 'అద్భుతమైన' } )
జ్ఞాపకశక్తి. సేవ్_సందర్భం ( { 'ఇన్‌పుట్' : 'నేను సాకర్‌లో మంచివాడిని' } , { 'అవుట్‌పుట్' : 'అలాగే' } )
జ్ఞాపకశక్తి. సేవ్_సందర్భం ( { 'ఇన్‌పుట్' : 'నాకు రాజకీయాలు ఇష్టం లేదు' } , { 'అవుట్‌పుట్' : 'తప్పకుండా' } )

దాని చరిత్రతో వినియోగదారు అందించిన ఇన్‌పుట్‌ను ఉపయోగించి మోడల్ మెమరీని పరీక్షించండి:

ముద్రణ ( జ్ఞాపకశక్తి. load_memory_variables ( { 'ప్రాంప్ట్' : 'నేను ఏ క్రీడ చూడాలి?' } ) [ 'చరిత్ర' ] )

దశ 5: చైన్‌లో రిట్రీవర్‌ని ఉపయోగించడం

OpenAI() పద్ధతిని ఉపయోగించి LLMని నిర్మించడం మరియు ప్రాంప్ట్ టెంప్లేట్‌ను కాన్ఫిగర్ చేయడం ద్వారా చైన్‌లతో మెమరీ రిట్రీవర్‌ను ఉపయోగించడం తదుపరి దశ:

llm = OpenAI ( ఉష్ణోగ్రత = 0 )
_DEFAULT_TEMPLATE = '''ఇది మానవునికి మరియు యంత్రానికి మధ్య జరిగే పరస్పర చర్య
సిస్టమ్ సందర్భాన్ని ఉపయోగించి వివరాలతో ఉపయోగకరమైన సమాచారాన్ని ఉత్పత్తి చేస్తుంది
సిస్టమ్ వద్ద మీకు సమాధానం లేకపోతే, అది నా దగ్గర సమాధానం లేదు అని చెబుతుంది

సంభాషణ నుండి ముఖ్యమైన సమాచారం:
{చరిత్ర}
(టెక్స్ట్ సంబంధితంగా లేకుంటే దానిని ఉపయోగించవద్దు)

ప్రస్తుత చాట్:
మానవుడు: {input}
AI:'''

ప్రాంప్ట్ = ప్రాంప్ట్ టెంప్లేట్ (
ఇన్‌పుట్_వేరియబుల్స్ = [ 'చరిత్ర' , 'ఇన్‌పుట్' ] , టెంప్లేట్ = _DEFAULT_TEMPLATE
)
#ConversationChain()ని దాని పారామితుల కోసం విలువలను ఉపయోగించి కాన్ఫిగర్ చేయండి
సారాంశంతో_సంభాషణ = సంభాషణ చైన్ (
llm = llm ,
ప్రాంప్ట్ = ప్రాంప్ట్ ,
జ్ఞాపకశక్తి = జ్ఞాపకశక్తి ,
మాటలతో కూడిన = నిజమే
)
సారాంశంతో_సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'హాయ్, నా పేరు పెర్రీ, ఏమైంది?' )

అవుట్‌పుట్

ఆదేశాన్ని అమలు చేయడం గొలుసును అమలు చేస్తుంది మరియు మోడల్ లేదా LLM అందించిన సమాధానాన్ని ప్రదర్శిస్తుంది:

వెక్టార్ స్టోర్‌లో నిల్వ చేయబడిన డేటా ఆధారంగా ప్రాంప్ట్‌ని ఉపయోగించి సంభాషణను కొనసాగించండి:

సారాంశంతో_సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'నాకు ఇష్టమైన క్రీడ ఏమిటి?' )

మునుపటి సందేశాలు మోడల్ మెమరీలో నిల్వ చేయబడతాయి, వీటిని సందేశం యొక్క సందర్భాన్ని అర్థం చేసుకోవడానికి మోడల్ ఉపయోగించవచ్చు:

సారాంశంతో_సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'నాకు ఇష్టమైన ఆహారం ఏమిటి' )

చాట్ మోడల్‌తో మెమరీ రిట్రీవర్ ఎలా పని చేస్తుందో తనిఖీ చేయడానికి మునుపటి సందేశాలలో ఒకదానిలో మోడల్‌కు అందించిన సమాధానాన్ని పొందండి:

సారాంశంతో_సంభాషణ. అంచనా వేయండి ( ఇన్పుట్ = 'నా పేరు ఏమిటి?' )

మెమరీలో నిల్వ చేయబడిన డేటా నుండి సారూప్యత శోధనను ఉపయోగించి మోడల్ సరిగ్గా అవుట్‌పుట్‌ను ప్రదర్శించింది:

లాంగ్‌చెయిన్‌లో వెక్టర్ స్టోర్ రిట్రీవర్‌ను ఉపయోగించడం గురించి అంతే.

ముగింపు

లాంగ్‌చెయిన్‌లోని వెక్టార్ స్టోర్ ఆధారంగా మెమరీ రిట్రీవర్‌ను ఉపయోగించడానికి, మాడ్యూల్స్ మరియు ఫ్రేమ్‌వర్క్‌లను ఇన్‌స్టాల్ చేసి పర్యావరణాన్ని సెటప్ చేయండి. ఆ తర్వాత, క్రోమాను ఉపయోగించి డేటాబేస్‌ను రూపొందించడానికి మాడ్యూల్స్ నుండి లైబ్రరీలను దిగుమతి చేయండి మరియు ప్రాంప్ట్ టెంప్లేట్‌ను సెట్ చేయండి. సంభాషణను ప్రారంభించడం ద్వారా మరియు మునుపటి సందేశాలకు సంబంధించిన ప్రశ్నలను అడగడం ద్వారా మెమరీలో డేటాను నిల్వ చేసిన తర్వాత రిట్రీవర్‌ను పరీక్షించండి. ఈ గైడ్ LangChainలో VectorStoreRetrieverMemory లైబ్రరీని ఉపయోగించే ప్రక్రియను వివరించింది.