Kā replicēt MRKL sistēmu, izmantojot aģentus programmā LangChain?

Ka Replicet Mrkl Sistemu Izmantojot Agentus Programma Langchain



Modulārā spriešanas, zināšanu un valodas (MRKL) sistēma ir arhitektūra, kas var iegūt atbildes ar tās pārbaudes iemesliem. Tas integrē valodu modeļus, diskrēto spriešanu un ārējos zināšanu avotus. Valodu modeļi veido tekstu cilvēku valodās atbilstoši lietotāja uzdotajiem vaicājumiem. MRKL (izrunā: brīnums) pievieno argumentāciju, vienlaikus sagatavojot atbildes, lai atbilde būtu precīza un derīga.

Ātrā kontūra

Šī ziņa parādīs sekojošo:







Kā replicēt MRKL sistēmu, izmantojot aģentus programmā LangChain



Secinājums



Kā replicēt MRKL sistēmu, izmantojot aģentus programmā LangChain?

LangChain ļauj lietotājam izveidot aģentus, kurus var izmantot, lai veiktu vairākus uzdevumus valodu modeļiem vai tērzēšanas robotiem. Aģenti saglabā savus darbus ar visām darbībām valodas modelim pievienotajā atmiņā. Izmantojot šīs veidnes, aģents var atkārtot jebkuras sistēmas, piemēram, MRKL, darbību, lai iegūtu optimizētus rezultātus, tos neveidojot vēlreiz.





Lai uzzinātu MRKL sistēmas replicēšanas procesu, izmantojot LangChain aģentus, vienkārši veiciet norādītās darbības:

1. darbība: ietvaru instalēšana

Pirmkārt, instalējiet LangChain eksperimentālos moduļus, izmantojot pip ar komandu langchain-experimental:



pip instalēt langchain-experimental

Instalējiet OpenAI moduli, lai izveidotu valodas modeli MRKL sistēmai:

pip install openai

2. darbība: OpenAI vides iestatīšana

Importējiet OS un getpass bibliotēkas, lai piekļūtu darbībai, lai mudinātu lietotāju nodrošināt API atslēgas OpenAI un SerpAPi kontiem:

imports tu

imports getpass

tu . aptuveni [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API atslēga:' )

tu . aptuveni [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API atslēga:' )

3. darbība. Bibliotēku importēšana

Izmantojiet LangChain atkarības, lai importētu nepieciešamās bibliotēkas valodas modeļa, rīku un aģentu izveidei:

no langchain. ķēdes imports LLMMathChain

no langchain. llms imports OpenAI

no langchain. komunālie pakalpojumi imports SerpAPIWrapper

no langchain. komunālie pakalpojumi imports SQL datu bāze

no langchain_experimental. sql imports SQLDatabaseChain

no langchain. aģenti imports inicializēt_aģents , Rīks

no langchain. aģenti imports Aģenta veids

4. darbība: izveidojiet datu bāzi

MRKL izmanto ārējos zināšanu avotus, lai iegūtu informāciju no datiem. Šajā ziņā tiek izmantots SQLite, kuru var lejupielādēt, izmantojot šo vadīt lai izveidotu datubāzi. Šī komanda apstiprina SQLite lejupielādes procesu, parādot tā instalēto versiju:

sqlite3

Izmantojiet šādas komandas direktorijā, lai izveidotu datu bāzi, izmantojot komandu uzvedni:

cd Darbvirsma

cd mydb

sqlite3 Chinook. db

Lejupielādēt Datu bāze failu un saglabājiet to direktorijā, lai izmantotu šo komandu, lai izveidotu ' .db ” fails:

. lasīt Chinook_Sqlite. sql

ATLASĪT * NO izpildītāja LIMIT 10 ;

5. darbība. Datu bāzes augšupielāde

Kad datubāze ir veiksmīgi izveidota, augšupielādējiet failu Google sadarbības programmā:

no google. UN CITI imports failus

augšupielādēts = failus. augšupielādēt ( )

Lietotājs var piekļūt piezīmjdatorā augšupielādētajam failam, lai kopētu tā ceļu no tā nolaižamās izvēlnes:

6. darbība: rīku konfigurēšana

Pēc datu bāzes izveides konfigurējiet aģentu valodas modeli, rīkus un ķēdes:

Meklēt = SerpAPIWrapper ( )
llm = OpenAI ( temperatūra = 0 )
llm_math_chain = LLMMathChain ( llm = llm , runīgs = Taisnība )
db = SQL datu bāze. no_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ķēde = SQLDatabaseChain. from_llm ( llm , db , runīgs = Taisnība )
instrumenti = [
Rīks (
nosaukums = 'Meklēt' ,
func = Meklēt. palaist ,
apraksts = 'Jautājiet mērķtiecīgiem uzvednēm, lai saņemtu atbildes par nesenajiem notikumiem'
) ,
Rīks (
nosaukums = 'kalkulators' ,
func = llm_math_chain. palaist ,
apraksts = 'noder, lai atbildētu/risinātu matemātiskos uzdevumus'
) ,
Rīks (
nosaukums = 'FooBar DB' ,
func = db_ķēde. palaist ,
apraksts = 'noderīgs, lai atbildētu uz vaicājumiem no datu bāzes, un ievades jautājumam ir jābūt pilnīgam kontekstam'
)
]
  • Definējiet llm mainīgais, izmantojot OpenAI() metode valodas modeļa iegūšanai.
  • The Meklēt ir rīks, kas izsauc SerpAPIWrapper() veids, kā piekļūt savai videi.
  • The LLMMathChain() metode tiek izmantota, lai iegūtu atbildes, kas saistītas ar matemātikas problēmām.
  • Definējiet db mainīgais ar faila ceļu iekšpusē SQLDatabase() metodi.
  • The SQLDatabaseChain() metodi var izmantot, lai iegūtu informāciju no datu bāzes.
  • Definējiet tādus rīkus kā Meklēt , kalkulators , un FooBar DB lai izveidotu aģentu, lai iegūtu datus no dažādiem avotiem:

7. darbība. Aģenta izveide un pārbaude

Inicializējiet MRKL sistēmu, izmantojot rīkus, llm un aģentu, lai iegūtu atbildes uz lietotāja uzdotajiem jautājumiem:

mrkl = inicializēt_aģents ( instrumenti , llm , aģents = Aģenta veids. ZERO_SHOT_REACT_DESCRIPTION , runīgs = Taisnība )

Izpildiet MRKL sistēmu, izmantojot metodi run () ar jautājumu kā argumentu:

mrkl. palaist ( 'Kāds ir Leo Di Kaprio un viņa draudzenes pašreizējais vecums, arī norāda viņu vecuma atšķirību' )

Izvade

Aģents ir sagatavojis galīgo atbildi ar pilnu ceļu, ko sistēma izmanto, lai iegūtu galīgo atbildi:

8. darbība: atkārtojiet MRKL sistēmu

Tagad vienkārši izmantojiet mrkl atslēgvārds ar run() metodi, lai iegūtu atbildes no dažādiem avotiem, piemēram, datu bāzēm:

mrkl. palaist ( 'Kā sauc izpildītāju, kura albums ar nosaukumu 'The Storm Before the Calm' nesen tika izdots, un vai viņi ir FooBar datubāzē, kā arī kuri no viņu albumiem ir datu bāzē? )

Aģents ir automātiski pārveidojis jautājumu par SQL vaicājumu, lai iegūtu atbildi no datu bāzes. Aģents meklē pareizo avotu, lai iegūtu atbildi, un pēc tam apkopo vaicājumu, lai iegūtu informāciju:

9. darbība. ChatModel izmantošana

Lietotājs var vienkārši mainīt valodas modeli, izmantojot ChatOpenAI() metodi, lai padarītu to par ChatModel un izmantotu MRKL sistēmu ar to:

no langchain. tērzēšanas_modeļi imports ChatOpenAI

Meklēt = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatūra = 0 )
llm1 = OpenAI ( temperatūra = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , runīgs = Taisnība )
db = SQL datu bāze. no_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_ķēde = SQLDatabaseChain. from_llm ( llm1 , db , runīgs = Taisnība )
instrumenti = [
Rīks (
nosaukums = 'Meklēt' ,
func = Meklēt. palaist ,
apraksts = 'Jautājiet mērķtiecīgiem uzvednēm, lai saņemtu atbildes par nesenajiem notikumiem'
) ,
Rīks (
nosaukums = 'kalkulators' ,
func = llm_math_chain. palaist ,
apraksts = 'noder, lai atbildētu/risinātu matemātiskos uzdevumus'
) ,
Rīks (
nosaukums = 'FooBar DB' ,
func = db_ķēde. palaist ,
apraksts = 'noderīgs, lai atbildētu uz vaicājumiem no datu bāzes, un ievades jautājumam ir jābūt pilnīgam kontekstam'
)
]

10. darbība: pārbaudiet MRKL aģentu

Pēc tam izveidojiet aģentu un inicializējiet to mrkl mainīgajā, izmantojot metodi inicializācijas_agent(). Pievienojiet metodes parametru, lai integrētu tādus komponentus kā rīki, llm, aģents un verbose, lai izvadā iegūtu visu procesu:

mrkl = inicializēt_aģents ( instrumenti , llm , aģents = Aģenta veids. CHAT_ZERO_SHOT_REACT_DESCRIPTION , runīgs = Taisnība )

Izpildiet jautājumu, palaižot mrkl sistēmu, kā parādīts šajā ekrānuzņēmumā:

mrkl. palaist ( 'Kas ir Leo Di Kaprio draudzene? Kāds ir viņu pašreizējais vecums' )

Izvade

Šis fragments parāda aģenta iegūto galīgo atbildi:

11. darbība: atkārtojiet MRKL sistēmu

Izmantojiet MRKL sistēmu, izsaucot run() metodi ar jautājumu dabiskajā valodā, lai iegūtu informāciju no datu bāzes:

mrkl. palaist ( 'Kā sauc izpildītāju, kura albums ar nosaukumu 'The Storm Before the Calm' nesen tika izdots, un vai viņi ir FooBar datubāzē, kā arī kuri no viņu albumiem ir datu bāzē? )

Izvade

Aģents ir parādījis galīgo atbildi, kas iegūta no datu bāzes, kā parādīts šajā ekrānuzņēmumā:

Tas viss attiecas uz MRKL sistēmas replicēšanas procesu, izmantojot aģentus programmā LangChain:

Secinājums

Lai replicētu MRKL sistēmu, izmantojot aģentus programmā LangChain, instalējiet moduļus, lai iegūtu bibliotēku importēšanas atkarības. Bibliotēkām ir jāizveido valodas modelis vai tērzēšanas modelis, lai, izmantojot rīkus, saņemtu atbildes no vairākiem avotiem. Aģenti ir konfigurēti, lai izmantotu rīkus, lai iegūtu rezultātus no dažādiem avotiem, piemēram, interneta, datu bāzēm utt. Šajā rokasgrāmatā ir aprakstīts MRKL sistēmas replicēšanas process, izmantojot aģentus programmā LangChain.