Kiire ülevaade
See postitus näitab järgmist:
Kuidas kopeerida MRKL-i süsteemi agentide abil LangChainis
- 1. samm: raamistike installimine
- 2. samm: OpenAI keskkonna seadistamine
- 3. samm: teekide importimine
- 4. samm: looge andmebaas
- 5. samm: andmebaasi üleslaadimine
- 6. samm: tööriistade konfigureerimine
- 7. samm: agendi loomine ja testimine
- 8. samm: kopeerige MRKL-süsteem
- 9. samm: ChatModeli kasutamine
- 10. samm: testige MRKL-i agenti
- 11. samm: kopeerige MRKL-süsteem
Kuidas kopeerida MRKL-i süsteemi agentide abil LangChainis?
LangChain võimaldab kasutajal luua agente, mida saab kasutada keelemudelite või vestlusrobotite jaoks mitme ülesande täitmiseks. Agendid salvestavad oma tööd koos kõigi etappidega keelemudeliga seotud mällu. Neid malle kasutades saab agent optimeeritud tulemuste saamiseks korrata mis tahes süsteemi (nt MRKL) tööd, ilma et peaks neid uuesti looma.
MRKL-süsteemi replikatsiooniprotsessi õppimiseks LangChainis agentide abil tehke lihtsalt loetletud sammud:
1. samm: raamistike installimine
Kõigepealt installige LangChaini eksperimentaalsed moodulid, kasutades pip käsku langchain-experimental:
pip install langchain-experimental
Installige OpenAI moodul, et luua MRKL-süsteemi keelemudel:
pip install openai
2. samm: OpenAI keskkonna seadistamine
Operatsioonile juurdepääsu saamiseks importige operatsioonisüsteemi ja getpassi teegid, et paluda kasutajal anda OpenAI ja SerpAPi kontode jaoks API võtmed:
importida sinaimportida saada pass
sina . umbes [ 'OPENAI_API_KEY' ] = saada pass . saada pass ( 'OpenAI API võti:' )
sina . umbes [ 'SERPAPI_API_KEY' ] = saada pass . saada pass ( 'Serpapi API võti:' )
3. samm: teekide importimine
Kasutage keelemudeli, tööriistade ja agentide loomiseks vajalike teekide importimiseks LangChaini sõltuvusi:
alates langchain. ketid importida LLMMathChainalates langchain. llms importida OpenAI
alates langchain. kommunaalteenused importida SerpAPIWrapper
alates langchain. kommunaalteenused importida SQL-andmebaas
alates langchain_experimental. sql importida SQLDatabaseChain
alates langchain. agendid importida initsialiseeri_agent , Tööriist
alates langchain. agendid importida Agendi tüüp
4. samm: looge andmebaas
MRKL kasutab andmetest teabe hankimiseks väliseid teadmusallikaid. See postitus kasutab SQLite'i, mida saab selle abil alla laadida giid andmebaasi loomiseks. Järgmine käsk kinnitab SQLite'i allalaadimise protsessi, kuvades selle installitud versiooni:
sqlite3
Andmebaasi loomiseks käsuviiba abil kasutage kataloogis järgmisi käske:
cd Töölaudcd mydb
sqlite3 Chinook. db
Laadige alla Andmebaas fail ja salvestage see kataloogi, et kasutada järgmist käsku ' .db ” fail:
. lugeda Chinook_Sqlite. sqlSELECT * FROM Artist LIMIT 10 ;
5. samm: andmebaasi üleslaadimine
Kui andmebaas on edukalt loodud, laadige fail üles Google'i koostöös:
alates google. ET AL importida failidüles laaditud = failid. Laadi üles ( )
Kasutaja pääseb sülearvutisse üleslaaditud failile juurde, et kopeerida selle tee rippmenüüst:
6. samm: tööriistade konfigureerimine
Pärast andmebaasi loomist konfigureerige agentide keelemudel, tööriistad ja ahelad:
otsing = SerpAPIWrapper ( )llm = OpenAI ( temperatuuri = 0 )
llm_math_chain = LLMMathChain ( llm = llm , paljusõnaline = Tõsi )
db = SQL-andmebaas. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ahel = SQLDatabaseChain. from_llm ( llm , db , paljusõnaline = Tõsi )
tööriistad = [
Tööriist (
nimi = 'Otsing' ,
func = otsing. jooksma ,
kirjeldus = 'Küsi sihitud viipadelt, et saada vastuseid hiljutiste asjade kohta'
) ,
Tööriist (
nimi = 'kalkulaator' ,
func = llm_math_chain. jooksma ,
kirjeldus = 'kasulik matemaatikaülesannetele vastamiseks/lahendamiseks'
) ,
Tööriist (
nimi = 'FooBar DB' ,
func = db_ahel. jooksma ,
kirjeldus = 'kasulik andmebaasist päringutele vastamiseks ja sisestusküsimusel peab olema täielik kontekst'
)
]
- Määratlege llm muutuja kasutades OpenAI() keelemudeli hankimise meetod.
- The otsing on tööriist, mis kutsub SerpAPIWrapper() keskkonnale juurdepääsu meetod.
- The LLMMathChain() meetodit kasutatakse matemaatiliste probleemidega seotud vastuste saamiseks.
- Määratlege db muutuja faili teega SQLDatabase() meetod.
- The SQLDatabaseChain() meetodit saab kasutada teabe hankimiseks andmebaasist.
- Määratlege sellised tööriistad nagu otsing , kalkulaator ja FooBar DB agendi loomiseks andmete hankimiseks erinevatest allikatest:
7. samm: agendi loomine ja testimine
Initsialiseerige MRKL-süsteem tööriistade, llm-i ja agendi abil, et saada vastused kasutaja esitatud küsimustele:
mrkl = initsialiseeri_agent ( tööriistad , llm , agent = Agendi tüüp. ZERO_SHOT_REACT_DESCRIPTION , paljusõnaline = Tõsi )Käivitage MRKL-süsteem, kasutades meetodit run(), mille argumendiks on küsimus:
mrkl. jooksma ( 'Mis on Leo DiCaprio ja tema tüdruksõbra praegune vanus, näitavad ka nende vanusevahet' )Väljund
Agent on koostanud lõpliku vastuse koos täieliku teega, mida süsteem lõpliku vastuse eraldamiseks kasutab:
8. samm: korrake MRKL-i süsteemi
Nüüd kasutage lihtsalt mrkl märksõna run() meetodiga, et saada vastuseid erinevatest allikatest, näiteks andmebaasidest:
mrkl. jooksma ( 'Mis on artisti täisnimi, kelle album 'The Storm Before the Calm' hiljuti ilmus ja kas nad on FooBari andmebaasis ka millised nende albumid on andmebaasis?' )Agent muutis küsimuse automaatselt SQL-päringuks, et tuua vastus andmebaasist. Agent otsib vastuse saamiseks õiget allikat ja koostab seejärel teabe väljavõtmiseks päringu:
9. samm: ChatModeli kasutamine
Kasutaja saab lihtsalt muuta keelemudelit, kasutades ChatOpenAI() meetodit, et muuta see ChatModeliks ja kasutada sellega MRKL-i süsteemi:
alates langchain. chat_models importida ChatOpenAIotsing = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatuuri = 0 )
llm1 = OpenAI ( temperatuuri = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , paljusõnaline = Tõsi )
db = SQL-andmebaas. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ahel = SQLDatabaseChain. from_llm ( llm1 , db , paljusõnaline = Tõsi )
tööriistad = [
Tööriist (
nimi = 'Otsing' ,
func = otsing. jooksma ,
kirjeldus = 'Küsi sihitud viipadelt, et saada vastuseid hiljutiste asjade kohta'
) ,
Tööriist (
nimi = 'kalkulaator' ,
func = llm_math_chain. jooksma ,
kirjeldus = 'kasulik matemaatikaülesannetele vastamiseks/lahendamiseks'
) ,
Tööriist (
nimi = 'FooBar DB' ,
func = db_ahel. jooksma ,
kirjeldus = 'kasulik andmebaasist päringutele vastamiseks ja sisestusküsimusel peab olema täielik kontekst'
)
]
10. samm: testige MRKL-i agenti
Pärast seda koostage agent ja lähtestage see muutujas mrkl, kasutades meetodit inicialiseeritud_agent(). Lisage meetodi parameeter, et integreerida sellised komponendid nagu tööriistad, llm, agent ja verbose, et saada väljundisse kogu protsess:
mrkl = initsialiseeri_agent ( tööriistad , llm , agent = Agendi tüüp. CHAT_ZERO_SHOT_REACT_DESCRIPTION , paljusõnaline = Tõsi )Käivitage küsimus, käivitades süsteemi mrkl, nagu on näidatud järgmisel ekraanipildil:
mrkl. jooksma ( 'Kes on Leo DiCaprio tüdruksõber? Mis on nende praegune vanus' )
Väljund
Järgmine väljavõte kuvab agendi ekstraktitud lõpliku vastuse:
11. samm: kopeerige MRKL-süsteem
Andmebaasist teabe hankimiseks kasutage MRKL-süsteemi, kutsudes välja meetodi run() loomulikus keeles küsimusega:
mrkl. jooksma ( 'Mis on artisti täisnimi, kelle album 'The Storm Before the Calm' hiljuti ilmus ja kas nad on FooBari andmebaasis ka millised nende albumid on andmebaasis?' )Väljund
Agent on kuvanud andmebaasist ekstraheeritud lõpliku vastuse, nagu on näidatud järgmisel ekraanipildil:
See kõik puudutab MRKL-i süsteemi replikatsiooni protsessi LangChaini agentide abil:
Järeldus
MRKL-süsteemi kopeerimiseks LangChaini agentide abil installige moodulid, et hankida teekide importimise sõltuvused. Teegid peavad koostama keelemudeli või vestlusmudeli, et saada tööriistu kasutades vastuseid mitmest allikast. Agendid on konfigureeritud kasutama tööriistu väljundite hankimiseks erinevatest allikatest, nagu Internet, andmebaasid jne. Selles juhendis on käsitletud MRKL-süsteemi replikatsiooni protsessi, kasutades agente LangChainis.