Mabilis na Balangkas
Ipapakita ng post na ito ang sumusunod:
Paano Gawin ang MRKL System Gamit ang mga Ahente sa LangChain
- Hakbang 1: Pag-install ng Mga Framework
- Hakbang 2: Pagse-set ng OpenAI Environment
- Hakbang 3: Pag-import ng Mga Aklatan
- Hakbang 4: Pagbuo ng Database
- Hakbang 5: Pag-upload ng Database
- Hakbang 6: Pag-configure ng Mga Tool
- Hakbang 7: Pagbuo at Pagsubok sa Ahente
- Hakbang 8: Gawin ang MRKL System
- Hakbang 9: Paggamit ng ChatModel
- Hakbang 10: Subukan ang Ahente ng MRKL
- Hakbang 11: Gawin ang MRKL System
Paano Gagayahin ang Sistema ng MRKL Gamit ang Mga Ahente sa LangChain?
Binibigyang-daan ng LangChain ang user na bumuo ng mga ahente na maaaring magamit upang magsagawa ng maraming gawain para sa mga modelo ng wika o chatbots. Iniimbak ng mga ahente ang kanilang trabaho kasama ang lahat ng mga hakbang sa memorya na nakalakip sa modelo ng wika. Gamit ang mga template na ito, maaaring kopyahin ng ahente ang pagtatrabaho ng anumang sistema tulad ng MRKL upang makuha ang mga na-optimize na resulta nang hindi na kailangang buuin muli ang mga ito.
Upang matutunan ang proseso ng pagkopya ng sistema ng MRKL gamit ang mga ahente sa LangChain, dumaan lang sa mga nakalistang hakbang:
Hakbang 1: Pag-install ng Mga Framework
Una sa lahat, i-install ang LangChain experimental modules gamit ang pip na may langchain-experimental command:
pip install langchain-experimental
I-install ang OpenAI module upang bumuo ng modelo ng wika para sa MRKL system:
pip install openai
Hakbang 2: Pagse-set ng OpenAI Environment
I-import ang mga library ng os at getpass para ma-access ang operating para sa pag-prompt sa user na ibigay ang mga API key para sa OpenAI at SerpAPi account:
angkat ikawangkat getpass
ikaw . humigit-kumulang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
ikaw . humigit-kumulang [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API Key:' )
Hakbang 3: Pag-import ng Mga Aklatan
Gamitin ang mga dependency mula sa LangChain upang i-import ang mga kinakailangang library para sa pagbuo ng modelo ng wika, mga tool, at mga ahente:
mula sa langchain. mga tanikala angkat LLMMathChainmula sa langchain. llms angkat OpenAI
mula sa langchain. mga kagamitan angkat SerpAPIWrapper
mula sa langchain. mga kagamitan angkat SQLDatabase
mula sa langchain_experimental. sql angkat SQLDatabaseChain
mula sa langchain. mga ahente angkat initialize_agent , Tool
mula sa langchain. mga ahente angkat Uri ng Ahente
Hakbang 4: Pagbuo ng Database
Gumagamit ang MRKL ng mga panlabas na mapagkukunan ng kaalaman upang kunin ang impormasyon mula sa data. Ang post na ito ay gumagamit ng SQLite na maaaring ma-download gamit ito gabay upang bumuo ng database. Kinukumpirma ng sumusunod na command ang proseso ng pag-download ng SQLite sa pamamagitan ng pagpapakita ng naka-install na bersyon nito:
sqlite3
Gamitin ang sumusunod na mga command sa loob ng isang direktoryo upang lumikha ng database gamit ang command prompt:
cd Desktopcd mydb
sqlite3 Chinook. db
I-download ang Database file at iimbak ito sa direktoryo upang magamit ang sumusunod na command para sa paglikha ng ' .db ” file:
. basahin Chinook_Sqlite. sqlPUMILI * MULA SA LIMIT ng Artist 10 ;
Hakbang 5: Pag-upload ng Database
Sa sandaling matagumpay na nalikha ang database, i-upload ang file sa Google collaboratory:
mula sa google. ET AL angkat mga filena-upload = mga file. mag-upload ( )
Maaaring ma-access ng user ang na-upload na file sa notebook upang kopyahin ang landas nito mula sa drop-down na menu nito:
Hakbang 6: Pag-configure ng Mga Tool
Pagkatapos buuin ang database, i-configure ang modelo ng wika, mga tool, at chain para sa mga ahente:
paghahanap = SerpAPIWrapper ( )llm = OpenAI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( llm = llm , verbose = totoo )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm , db , verbose = totoo )
mga kasangkapan = [
Tool (
pangalan = 'Paghahanap' ,
func = paghahanap. tumakbo ,
paglalarawan = 'Tanungin ang mga naka-target na prompt para makakuha ng mga sagot tungkol sa mga kamakailang pangyayari'
) ,
Tool (
pangalan = 'Calculator' ,
func = llm_math_chain. tumakbo ,
paglalarawan = 'kapaki-pakinabang para sa pagsagot/paglutas ng mga problema sa matematika'
) ,
Tool (
pangalan = 'FooBar DB' ,
func = db_chain. tumakbo ,
paglalarawan = 'kapaki-pakinabang para sa pagsagot sa mga query mula sa isang database at ang input na tanong ay dapat magkaroon ng kumpletong konteksto'
)
]
- Tukuyin ang llm variable gamit ang OpenAI() paraan upang makuha ang modelo ng wika.
- Ang paghahanap ay ang tool na tumatawag sa SerpAPIWrapper() paraan upang ma-access ang kapaligiran nito.
- Ang LLMMathChain() paraan ay ginagamit upang makuha ang mga sagot na may kaugnayan sa mga problema sa matematika.
- Tukuyin ang db variable na may path ng file sa loob ng SQLDatabase() paraan.
- Ang SQLDatabaseChain() paraan ay maaaring gamitin upang makuha ang impormasyon mula sa database.
- Tukuyin ang mga tool tulad ng paghahanap , calculator , at FooBar DB para sa pagbuo ng ahente upang kunin ang data mula sa iba't ibang mapagkukunan:
Hakbang 7: Pagbuo at Pagsubok sa Ahente
Simulan ang MRKL system gamit ang mga tool, llm, at ahente para makuha ang mga sagot sa mga tanong ng user:
mrkl = initialize_agent ( mga kasangkapan , llm , ahente = Uri ng Ahente. ZERO_SHOT_REACT_DESCRIPTION , verbose = totoo )Ipatupad ang MRKL system gamit ang run() method na may tanong bilang argumento nito:
mrkl. tumakbo ( 'Ano ang kasalukuyang edad ni Leo DiCaprio at ng kanyang kasintahan na nagsasabi din ng kanilang pagkakaiba sa edad' )Output
Ang ahente ay gumawa ng panghuling sagot kasama ang kumpletong landas na ginamit ng system upang kunin ang huling sagot:
Hakbang 8: Gawin ang MRKL System
Ngayon, gamitin lang ang mrkl keyword na may run() na paraan upang makakuha ng mga sagot mula sa iba't ibang mapagkukunan tulad ng mga database:
mrkl. tumakbo ( 'Ano ang buong pangalan ng artist na ang album na tinatawag na 'The Storm Before the Calm' ay inilabas kamakailan at sila ba ay nasa FooBar database din kung alin sa kanilang mga album ang nasa database' )Awtomatikong binago ng ahente ang tanong sa query ng SQL upang makuha ang sagot mula sa database. Hinahanap ng ahente ang tamang source para makuha ang sagot at pagkatapos ay i-assemble ang query para kunin ang impormasyon:
Hakbang 9: Paggamit ng ChatModel
Maaaring baguhin lang ng user ang modelo ng wika sa pamamagitan ng paggamit ng ChatOpenAI() na paraan upang gawin itong ChatModel at gamitin ang MRKL system kasama nito:
mula sa langchain. chat_models angkat ChatOpenAIpaghahanap = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatura = 0 )
llm1 = OpenAI ( temperatura = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , verbose = totoo )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm1 , db , verbose = totoo )
mga kasangkapan = [
Tool (
pangalan = 'Paghahanap' ,
func = paghahanap. tumakbo ,
paglalarawan = 'Tanungin ang mga naka-target na prompt para makakuha ng mga sagot tungkol sa mga kamakailang pangyayari'
) ,
Tool (
pangalan = 'Calculator' ,
func = llm_math_chain. tumakbo ,
paglalarawan = 'kapaki-pakinabang para sa pagsagot/paglutas ng mga problema sa matematika'
) ,
Tool (
pangalan = 'FooBar DB' ,
func = db_chain. tumakbo ,
paglalarawan = 'kapaki-pakinabang para sa pagsagot sa mga query mula sa isang database at ang input na tanong ay dapat magkaroon ng kumpletong konteksto'
)
]
Hakbang 10: Subukan ang Ahente ng MRKL
Pagkatapos nito, buuin ang ahente at simulan ito sa mrkl variable gamit ang initialize_agent() na paraan. Idagdag ang parameter ng pamamaraan upang isama ang mga bahagi tulad ng mga tool, llm, ahente, at verbose upang makuha ang kumpletong proseso sa output:
mrkl = initialize_agent ( mga kasangkapan , llm , ahente = Uri ng Ahente. CHAT_ZERO_SHOT_REACT_DESCRIPTION , verbose = totoo )Isagawa ang tanong sa pamamagitan ng pagpapatakbo ng mrkl system tulad ng ipinapakita sa sumusunod na screenshot:
mrkl. tumakbo ( 'Sino ang girlfriend ni Leo DiCaprio? Ano ang edad nila ngayon' )
Output
Ipinapakita ng sumusunod na snippet ang huling sagot na nakuha ng ahente:
Hakbang 11: Gawin ang MRKL System
Gamitin ang MRKL system sa pamamagitan ng pagtawag sa run() method na may tanong sa natural na wika para kunin ang impormasyon mula sa database:
mrkl. tumakbo ( 'Ano ang buong pangalan ng artist na ang album na tinatawag na 'The Storm Before the Calm' ay inilabas kamakailan at sila ba ay nasa FooBar database din kung alin sa kanilang mga album ang nasa database' )Output
Ipinakita ng ahente ang huling sagot na nakuha mula sa database tulad ng ipinapakita sa sumusunod na screenshot:
Iyon lang ang tungkol sa proseso ng pagkopya ng sistema ng MRKL gamit ang mga ahente sa LangChain:
Konklusyon
Upang kopyahin ang sistema ng MRKL gamit ang mga ahente sa LangChain, i-install ang mga module upang makuha ang mga dependency para sa pag-import ng mga aklatan. Ang mga aklatan ay kinakailangan na bumuo ng modelo ng wika o modelo ng chat upang makuha ang mga sagot mula sa maraming mapagkukunan gamit ang mga tool. Ang mga ahente ay naka-configure na gamitin ang mga tool para sa pagkuha ng mga output mula sa iba't ibang mga mapagkukunan tulad ng internet, mga database, atbp. Ang gabay na ito ay nagpapaliwanag sa proseso ng pagkopya ng sistema ng MRKL gamit ang mga ahente sa LangChain.