LangChainలో ఏజెంట్లను ఉపయోగించి MRKL సిస్టమ్‌ను ఎలా ప్రతిరూపం చేయాలి?

Langchainlo Ejentlanu Upayoginci Mrkl Sistam Nu Ela Pratirupam Ceyali



మాడ్యులర్ రీజనింగ్, నాలెడ్జ్ మరియు లాంగ్వేజ్ (MRKL) వ్యవస్థ అనేది దాని ధృవీకరణకు గల కారణాలతో సమాధానాలను సంగ్రహించగల ఆర్కిటెక్చర్. ఇది భాషా నమూనాలు, వివిక్త తార్కికం మరియు బాహ్య జ్ఞాన వనరులను అనుసంధానిస్తుంది. భాషా నమూనాలు వినియోగదారు అడిగే ప్రశ్నలకు అనుగుణంగా మానవ భాషలలో వచనాన్ని ఉత్పత్తి చేస్తాయి. MRKL (ఉచ్చారణ: అద్భుతం) సమాధానాన్ని ఖచ్చితమైన మరియు చెల్లుబాటు అయ్యేలా చేయడానికి సమాధానాలను రూపొందించేటప్పుడు తార్కికతను జోడిస్తుంది.

త్వరిత రూపురేఖలు

ఈ పోస్ట్ క్రింది వాటిని ప్రదర్శిస్తుంది:







లాంగ్‌చెయిన్‌లో ఏజెంట్లను ఉపయోగించి MRKL సిస్టమ్‌ను ఎలా ప్రతిరూపం చేయాలి



ముగింపు



LangChainలో ఏజెంట్లను ఉపయోగించి MRKL సిస్టమ్‌ను ఎలా ప్రతిరూపం చేయాలి?

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





LangChainలో ఏజెంట్లను ఉపయోగించి MRKL సిస్టమ్‌ను పునరావృతం చేసే ప్రక్రియను తెలుసుకోవడానికి, జాబితా చేయబడిన దశలను అనుసరించండి:

దశ 1: ఫ్రేమ్‌వర్క్‌లను ఇన్‌స్టాల్ చేయడం

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



పిప్ ఇన్‌స్టాల్ లాంగ్‌చెయిన్-ప్రయోగాత్మకం

MRKL సిస్టమ్ కోసం భాషా నమూనాను రూపొందించడానికి OpenAI మాడ్యూల్‌ను ఇన్‌స్టాల్ చేయండి:

pip ఇన్స్టాల్ openai

దశ 2: OpenAI పర్యావరణాన్ని సెట్ చేయడం

OpenAI మరియు SerpAPi ఖాతాల కోసం API కీలను అందించమని వినియోగదారుని ప్రాంప్ట్ చేయడం కోసం ఆపరేటింగ్‌ని యాక్సెస్ చేయడానికి os మరియు getpass లైబ్రరీలను దిగుమతి చేయండి:

దిగుమతి మీరు

దిగుమతి getpass

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

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

దశ 3: లైబ్రరీలను దిగుమతి చేసుకోవడం

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

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

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

నుండి లాంగ్చైన్. యుటిలిటీస్ దిగుమతి SerpAPIWrapper

నుండి లాంగ్చైన్. యుటిలిటీస్ దిగుమతి SQLDatabase

నుండి లాంగ్‌చెయిన్_ప్రయోగాత్మకం. sql దిగుమతి SQLDatabaseChain

నుండి లాంగ్చైన్. ఏజెంట్లు దిగుమతి ప్రారంభించు_ఏజెంట్ , సాధనం

నుండి లాంగ్చైన్. ఏజెంట్లు దిగుమతి ఏజెంట్ రకం

దశ 4: బిల్డింగ్ డేటాబేస్

MRKL డేటా నుండి సమాచారాన్ని సేకరించేందుకు బాహ్య జ్ఞాన వనరులను ఉపయోగిస్తుంది. ఈ పోస్ట్ SQLiteని ఉపయోగిస్తుంది, దీన్ని ఉపయోగించి డౌన్‌లోడ్ చేసుకోవచ్చు మార్గదర్శకుడు డేటాబేస్ నిర్మించడానికి. కింది ఆదేశం దాని ఇన్‌స్టాల్ చేసిన సంస్కరణను ప్రదర్శించడం ద్వారా SQLiteని డౌన్‌లోడ్ చేసే ప్రక్రియను నిర్ధారిస్తుంది:

sqlite3

కమాండ్ ప్రాంప్ట్ ఉపయోగించి డేటాబేస్ సృష్టించడానికి డైరెక్టరీ లోపల కింది ఆదేశాల హెడ్‌ని ఉపయోగించండి:

cd డెస్క్‌టాప్

cd mydb

sqlite3 చినూక్. db

డౌన్‌లోడ్ చేయండి డేటాబేస్ “ని సృష్టించడానికి కింది ఆదేశాన్ని ఉపయోగించడానికి ఫైల్ చేసి దానిని డైరెక్టరీలో నిల్వ చేయండి .db ” ఫైల్:

. చదవండి చినూక్_స్క్లైట్. sql

ఆర్టిస్ట్ పరిమితి నుండి * ఎంచుకోండి 10 ;

దశ 5: డేటాబేస్ అప్‌లోడ్ చేస్తోంది

డేటాబేస్ విజయవంతంగా సృష్టించబడిన తర్వాత, Google సహకారంలో ఫైల్‌ను అప్‌లోడ్ చేయండి:

నుండి గూగుల్. ఎప్పటికి దిగుమతి ఫైళ్లు

అప్‌లోడ్ చేయబడింది = ఫైళ్లు. అప్లోడ్ ( )

వినియోగదారు దాని డ్రాప్-డౌన్ మెను నుండి దాని మార్గాన్ని కాపీ చేయడానికి నోట్‌బుక్‌లో అప్‌లోడ్ చేసిన ఫైల్‌ను యాక్సెస్ చేయవచ్చు:

దశ 6: సాధనాలను కాన్ఫిగర్ చేయడం

డేటాబేస్ను రూపొందించిన తర్వాత, ఏజెంట్ల కోసం భాషా నమూనా, సాధనాలు మరియు గొలుసులను కాన్ఫిగర్ చేయండి:

వెతకండి = SerpAPIWrapper ( )
llm = OpenAI ( ఉష్ణోగ్రత = 0 )
llm_math_chain = LLMMathChain ( llm = llm , మాటలతో కూడిన = నిజమే )
db = SQLDatabase. నుండి_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_గొలుసు = SQLDatabaseChain. నుండి_llm ( llm , db , మాటలతో కూడిన = నిజమే )
ఉపకరణాలు = [
సాధనం (
పేరు = 'వెతకండి' ,
ఫంక్ = వెతకండి. పరుగు ,
వివరణ = 'ఇటీవలి వ్యవహారాల గురించి సమాధానాలు పొందడానికి లక్షిత ప్రాంప్ట్‌లను అడగండి'
) ,
సాధనం (
పేరు = 'కాలిక్యులేటర్' ,
ఫంక్ = llm_math_chain. పరుగు ,
వివరణ = 'గణిత సమస్యలకు సమాధానమివ్వడానికి/పరిష్కరించడానికి ఉపయోగపడుతుంది'
) ,
సాధనం (
పేరు = 'FooBar DB' ,
ఫంక్ = db_గొలుసు. పరుగు ,
వివరణ = 'డేటాబేస్ నుండి ప్రశ్నలకు సమాధానం ఇవ్వడానికి ఉపయోగపడుతుంది మరియు ఇన్‌పుట్ ప్రశ్నకు పూర్తి సందర్భం ఉండాలి'
)
]
  • నిర్వచించండి llm వేరియబుల్ ఉపయోగించి OpenAI() భాషా నమూనాను పొందే పద్ధతి.
  • ది వెతకండి అని పిలిచే సాధనం SerpAPIWrapper() దాని పర్యావరణాన్ని యాక్సెస్ చేసే పద్ధతి.
  • ది LLMMathChain() గణిత సమస్యలకు సంబంధించిన సమాధానాలను పొందడానికి పద్ధతి ఉపయోగించబడుతుంది.
  • నిర్వచించండి db లోపల ఉన్న ఫైల్ యొక్క మార్గంతో వేరియబుల్ SQLDatabase() పద్ధతి.
  • ది SQLDatabaseChain() డేటాబేస్ నుండి సమాచారాన్ని పొందడానికి పద్ధతిని ఉపయోగించవచ్చు.
  • వంటి సాధనాలను నిర్వచించండి వెతకండి , కాలిక్యులేటర్ , మరియు FooBar DB వివిధ మూలాల నుండి డేటాను సేకరించేందుకు ఏజెంట్‌ను రూపొందించడం కోసం:

దశ 7: ఏజెంట్‌ను నిర్మించడం & పరీక్షించడం

వినియోగదారు అడిగిన ప్రశ్నలకు సమాధానాలు పొందడానికి సాధనాలు, llm మరియు ఏజెంట్‌లను ఉపయోగించి MRKL సిస్టమ్‌ను ప్రారంభించండి:

mrkl = ప్రారంభించు_ఏజెంట్ ( ఉపకరణాలు , llm , ఏజెంట్ = ఏజెంట్ రకం. ZERO_SHOT_REACT_DESCRIPTION , మాటలతో కూడిన = నిజమే )

MRKL సిస్టమ్‌ను దాని వాదనగా ప్రశ్నతో రన్() పద్ధతిని ఉపయోగించి అమలు చేయండి:

mrkl. పరుగు ( 'లియో డికాప్రియో మరియు అతని స్నేహితురాలు ప్రస్తుత వయస్సు కూడా వారి వయస్సు తేడాను తెలియజేస్తుంది' )

అవుట్‌పుట్

తుది సమాధానాన్ని సంగ్రహించడానికి సిస్టమ్ ఉపయోగించే పూర్తి మార్గంతో ఏజెంట్ తుది సమాధానాన్ని రూపొందించారు:

దశ 8: MRKL సిస్టమ్‌ను ప్రతిరూపం చేయండి

ఇప్పుడు, కేవలం ఉపయోగించండి mrkl డేటాబేస్‌ల వంటి విభిన్న మూలాల నుండి సమాధానాలను పొందడానికి రన్() పద్ధతితో కీవర్డ్:

mrkl. పరుగు ( 'ఇటీవల విడుదలైన 'ది స్టార్మ్ బిఫోర్ ది కామ్' అనే ఆల్బమ్ ఆర్టిస్ట్ పూర్తి పేరు ఏమిటి మరియు వారు FooBar డేటాబేస్‌లో ఉన్నారా మరియు వారి ఏ ఆల్బమ్‌లు డేటాబేస్‌లో ఉన్నాయి' )

డేటాబేస్ నుండి సమాధానాన్ని పొందేందుకు ఏజెంట్ స్వయంచాలకంగా ప్రశ్నను SQL ప్రశ్నగా మార్చారు. ఏజెంట్ సమాధానాన్ని పొందడానికి సరైన మూలం కోసం శోధిస్తాడు మరియు సమాచారాన్ని సేకరించేందుకు ప్రశ్నను సమీకరించాడు:

దశ 9: ChatModelని ఉపయోగించడం

వాడుకరి కేవలం ChatOpenAI() పద్ధతిని ఉపయోగించి భాషా నమూనాను మార్చవచ్చు మరియు దానిని ChatModelగా మార్చవచ్చు మరియు దానితో MRKL సిస్టమ్‌ను ఉపయోగించవచ్చు:

నుండి లాంగ్చైన్. చాట్_మోడల్స్ దిగుమతి ChatOpenAI

వెతకండి = SerpAPIWrapper ( )
llm = ChatOpenAI ( ఉష్ణోగ్రత = 0 )
llm1 = OpenAI ( ఉష్ణోగ్రత = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , మాటలతో కూడిన = నిజమే )
db = SQLDatabase. నుండి_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_గొలుసు = SQLDatabaseChain. నుండి_llm ( llm1 , db , మాటలతో కూడిన = నిజమే )
ఉపకరణాలు = [
సాధనం (
పేరు = 'వెతకండి' ,
ఫంక్ = వెతకండి. పరుగు ,
వివరణ = 'ఇటీవలి వ్యవహారాల గురించి సమాధానాలు పొందడానికి లక్షిత ప్రాంప్ట్‌లను అడగండి'
) ,
సాధనం (
పేరు = 'కాలిక్యులేటర్' ,
ఫంక్ = llm_math_chain. పరుగు ,
వివరణ = 'గణిత సమస్యలకు సమాధానమివ్వడానికి/పరిష్కరించడానికి ఉపయోగపడుతుంది'
) ,
సాధనం (
పేరు = 'FooBar DB' ,
ఫంక్ = db_గొలుసు. పరుగు ,
వివరణ = 'డేటాబేస్ నుండి ప్రశ్నలకు సమాధానం ఇవ్వడానికి ఉపయోగపడుతుంది మరియు ఇన్‌పుట్ ప్రశ్నకు పూర్తి సందర్భం ఉండాలి'
)
]

దశ 10: MRKL ఏజెంట్‌ని పరీక్షించండి

ఆ తర్వాత, ఏజెంట్‌ను నిర్మించి, దాన్ని ఇనిషియలైజ్_ఏజెంట్() పద్ధతిని ఉపయోగించి mrkl వేరియబుల్‌లో ప్రారంభించండి. అవుట్‌పుట్‌లో పూర్తి ప్రక్రియను పొందడానికి సాధనాలు, llm, ఏజెంట్ మరియు వెర్బోస్ వంటి భాగాలను ఏకీకృతం చేయడానికి పద్ధతి యొక్క పరామితిని జోడించండి:

mrkl = ప్రారంభించు_ఏజెంట్ ( ఉపకరణాలు , llm , ఏజెంట్ = ఏజెంట్ రకం. CHAT_ZERO_SHOT_REACT_DESCRIPTION , మాటలతో కూడిన = నిజమే )

కింది స్క్రీన్‌షాట్‌లో ప్రదర్శించబడిన విధంగా mrkl సిస్టమ్‌ను అమలు చేయడం ద్వారా ప్రశ్నను అమలు చేయండి:

mrkl. పరుగు ( 'లియో డికాప్రియో స్నేహితురాలు ఎవరు? వారి ప్రస్తుత వయస్సు ఎంత' )

అవుట్‌పుట్

కింది స్నిప్పెట్ ఏజెంట్ ద్వారా సంగ్రహించిన చివరి సమాధానాన్ని ప్రదర్శిస్తుంది:

దశ 11: MRKL సిస్టమ్‌ను పునరావృతం చేయండి

డేటాబేస్ నుండి సమాచారాన్ని సేకరించేందుకు సహజ భాషలో ప్రశ్నతో రన్() పద్ధతిని కాల్ చేయడం ద్వారా MRKL సిస్టమ్‌ను ఉపయోగించండి:

mrkl. పరుగు ( 'ఇటీవల విడుదలైన 'ది స్టార్మ్ బిఫోర్ ది కామ్' అనే ఆల్బమ్ ఆర్టిస్ట్ పూర్తి పేరు ఏమిటి మరియు వారు FooBar డేటాబేస్‌లో ఉన్నారా మరియు వారి ఏ ఆల్బమ్‌లు డేటాబేస్‌లో ఉన్నాయి' )

అవుట్‌పుట్

కింది స్క్రీన్‌షాట్‌లో ప్రదర్శించిన విధంగా ఏజెంట్ డేటాబేస్ నుండి సంగ్రహించిన తుది సమాధానాన్ని ప్రదర్శించారు:

లాంగ్‌చెయిన్‌లోని ఏజెంట్లను ఉపయోగించి MRKL సిస్టమ్‌ను పునరావృతం చేసే ప్రక్రియ గురించి అంతే:

ముగింపు

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