Kuidas kopeerida MRKL-i süsteemi agentide abil LangChainis?

Kuidas Kopeerida Mrkl I Susteemi Agentide Abil Langchainis



Modular Reasoning, Knowledge ja Language (MRKL) süsteem on arhitektuur, mis suudab vastuseid hankida koos kontrollimise põhjustega. See integreerib keelemudelid, diskreetsed arutluskäigud ja välised teadmiste allikad. Keelemudelid toodavad teksti inimkeeltes vastavalt kasutaja päringutele. MRKL (hääldatakse: ime) lisab vastuste loomisel arutluskäigu, et vastus oleks täpne ja kehtiv.

Kiire ülevaade

See postitus näitab järgmist:







Kuidas kopeerida MRKL-i süsteemi agentide abil LangChainis



Järeldus



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 sina

importida 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 LLMMathChain

alates 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öölaud

cd mydb

sqlite3 Chinook. db

Laadige alla Andmebaas fail ja salvestage see kataloogi, et kasutada järgmist käsku ' .db ” fail:

. lugeda Chinook_Sqlite. sql

SELECT * 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 ChatOpenAI

otsing = 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.