Cum se repetă sistemul MRKL utilizând agenți în LangChain?

Cum Se Repeta Sistemul Mrkl Utilizand Agenti In Langchain



Sistemul Modular Reasoning, Knowledge, and Language (MRKL) este o arhitectură care poate extrage răspunsuri cu motivele verificării sale. Acesta integrează modele de limbaj, raționament discret și surse externe de cunoștințe. Modelele lingvistice produc textul în limbi umane în funcție de întrebările adresate de utilizator. MRKL (pronunțat: miracol) adaugă raționament în timp ce produce răspunsurile pentru a face răspunsul corect și valid.

Schiță rapidă

Această postare va demonstra următoarele:







Cum să replicați sistemul MRKL utilizând agenți în LangChain



Concluzie



Cum se repetă sistemul MRKL utilizând agenți în LangChain?

LangChain permite utilizatorului să construiască agenți care pot fi utilizați pentru a efectua mai multe sarcini pentru modelele de limbă sau chatbot. Agenții își stochează munca cu toți pașii din memoria atașată modelului de limbă. Folosind aceste șabloane, agentul poate replica funcționarea oricărui sistem precum MRKL pentru a obține rezultate optimizate fără a fi nevoie să le construiască din nou.





Pentru a afla procesul de replicare a sistemului MRKL folosind agenți în LangChain, parcurgeți pur și simplu pașii enumerați:

Pasul 1: Instalarea cadrelor

Mai întâi de toate, instalați modulele experimentale LangChain folosind pip cu comanda langchain-experimental:



pip install langchain-experimental

Instalați modulul OpenAI pentru a construi modelul de limbă pentru sistemul MRKL:

pip install openai

Pasul 2: Setarea mediului OpenAI

Importați bibliotecile OS și getpass pentru a accesa operarea pentru a solicita utilizatorului să furnizeze cheile API pentru conturile OpenAI și SerpAPi:

import tu

import getpass

tu . aproximativ [ „OPENAI_API_KEY” ] = getpass . getpass ( „Cheie API OpenAI:” )

tu . aproximativ [ „SERPAPI_API_KEY” ] = getpass . getpass ( „Cheia API Serpapi:” )

Pasul 3: Importarea bibliotecilor

Utilizați dependențele din LangChain pentru a importa bibliotecile necesare pentru construirea modelului de limbaj, instrumentelor și agenților:

din langchain. lanţuri import LLMathChain

din langchain. llms import OpenAI

din langchain. utilitati import SerpAPIWrapper

din langchain. utilitati import SQLDatabase

din langchain_experimental. sql import SQLDatabaseChain

din langchain. agenţi import initialize_agent , Instrument

din langchain. agenţi import AgentType

Pasul 4: Construirea bazei de date

MRKL utilizează surse externe de cunoștințe pentru a extrage informații din date. Această postare folosește SQLite, care poate fi descărcat folosind acesta ghid pentru a construi baza de date. Următoarea comandă confirmă procesul de descărcare a SQLite prin afișarea versiunii sale instalate:

sqlite3

Folosiți următoarele comenzi în interiorul unui director pentru a crea baza de date folosind promptul de comandă:

CD Desktop

CD mydb

sqlite3 Chinook. db

Descărcați Bază de date fișier și stocați-l în director pentru a utiliza următoarea comandă pentru a crea „ .db ” fișier:

. citit Chinook_Sqlite. sql

SELECTAȚI * DIN LIMITĂ DE ARTIST 10 ;

Pasul 5: Încărcarea bazei de date

Odată ce baza de date este creată cu succes, încărcați fișierul în colaboratorul Google:

din Google. colab import fișiere

încărcat = fișiere. încărcați ( )

Utilizatorul poate accesa fișierul încărcat pe blocnotes pentru a-și copia calea din meniul derulant:

Pasul 6: Configurarea instrumentelor

După construirea bazei de date, configurați modelul de limbă, instrumentele și lanțurile pentru agenți:

căutare = SerpAPIWrapper ( )
llm = OpenAI ( temperatura = 0 )
llm_math_chain = LLMathChain ( llm = llm , verboroasă = Adevărat )
db = SQLDatabase. din_uri ( „sqlite:///../../../../../content/Chinook.db” )
db_chain = SQLDatabaseChain. de la_llm ( llm , db , verboroasă = Adevărat )
unelte = [
Instrument (
Nume = 'Căutare' ,
func = căutare. alerga ,
Descriere = „Solicitați solicitărilor vizate pentru a obține răspunsuri despre afaceri recente”
) ,
Instrument (
Nume = 'Calculator' ,
func = llm_math_chain. alerga ,
Descriere = „util pentru a răspunde/rezolva probleme matematice”
) ,
Instrument (
Nume = „FooBar DB” ,
func = db_chain. alerga ,
Descriere = „utilă pentru a răspunde la întrebări dintr-o bază de date și întrebarea de intrare trebuie să aibă contextul complet”
)
]
  • Definiți llm variabilă folosind OpenAI() metoda de a obține modelul lingvistic.
  • The căutare este instrumentul care apelează SerpAPIWrapper() metoda de a accesa mediul său.
  • The LLMathChain() metoda este folosită pentru a obține răspunsurile legate de problemele matematice.
  • Definiți db variabilă cu calea fișierului în interiorul SQLDatabase() metodă.
  • The SQLDatabaseChain() metoda poate fi folosită pentru a obține informații din baza de date.
  • Definiți instrumente precum căutare , calculator , și FooBar DB pentru construirea agentului pentru a extrage date din diferite surse:

Pasul 7: Construirea și testarea agentului

Inițializați sistemul MRKL folosind instrumentele, llm și agentul pentru a obține răspunsuri la întrebările adresate de utilizator:

mrkl = initialize_agent ( unelte , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , verboroasă = Adevărat )

Executați sistemul MRKL folosind metoda run() cu întrebarea ca argument:

mrkl. alerga ( „Care este vârsta actuală a lui Leo DiCaprio și a prietenei lui, de asemenea, spune diferența lor de vârstă” )

Ieșire

Agentul a produs răspunsul final cu calea completă folosită de sistem pentru a extrage răspunsul final:

Pasul 8: Replicați sistemul MRKL

Acum, pur și simplu utilizați mrkl cuvânt cheie cu metoda run() pentru a obține răspunsuri din diferite surse, cum ar fi baze de date:

mrkl. alerga ( „Care este numele complet al artistului al cărui album numit „The Storm Before the Calm” a fost lansat recent și se află în baza de date FooBar și care dintre albumele lor sunt în baza de date” )

Agentul a transformat automat întrebarea în interogarea SQL pentru a prelua răspunsul din baza de date. Agentul caută sursa corectă pentru a obține răspunsul și apoi adună interogarea pentru a extrage informațiile:

Pasul 9: Utilizarea ChatModel

Utilizatorul poate schimba pur și simplu modelul de limbă folosind metoda ChatOpenAI() pentru a-l transforma într-un ChatModel și pentru a utiliza sistemul MRKL cu acesta:

din langchain. chat_models import ChatOpenAI

căutare = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatura = 0 )
llm1 = OpenAI ( temperatura = 0 )
llm_math_chain = LLMathChain ( llm = llm1 , verboroasă = Adevărat )
db = SQLDatabase. din_uri ( „sqlite:///../../../../../content/Chinook.db” )
db_chain = SQLDatabaseChain. de la_llm ( llm1 , db , verboroasă = Adevărat )
unelte = [
Instrument (
Nume = 'Căutare' ,
func = căutare. alerga ,
Descriere = „Solicitați solicitărilor vizate pentru a obține răspunsuri despre afaceri recente”
) ,
Instrument (
Nume = 'Calculator' ,
func = llm_math_chain. alerga ,
Descriere = „util pentru a răspunde/rezolva probleme matematice”
) ,
Instrument (
Nume = „FooBar DB” ,
func = db_chain. alerga ,
Descriere = „utilă pentru a răspunde la întrebări dintr-o bază de date și întrebarea de intrare trebuie să aibă contextul complet”
)
]

Pasul 10: Testați agentul MRKL

După aceea, construiți agentul și inițializați-l în variabila mrkl folosind metoda initialize_agent(). Adăugați parametrul metodei pentru a integra componente precum instrumente, llm, agent și verbose pentru a obține procesul complet în rezultat:

mrkl = initialize_agent ( unelte , llm , agent = AgentType. CHAT_ZERO_SHOT_REACT_DESCRIPTION , verboroasă = Adevărat )

Executați întrebarea rulând sistemul mrkl așa cum este afișat în următoarea captură de ecran:

mrkl. alerga ( 'Cine este iubita lui Leo DiCaprio? Care este vârsta lor actuală' )

Ieșire

Următorul fragment afișează răspunsul final extras de agent:

Pasul 11: Replicați sistemul MRKL

Utilizați sistemul MRKL apelând metoda run() cu întrebarea în limbaj natural pentru a extrage informații din baza de date:

mrkl. alerga ( „Care este numele complet al artistului al cărui album numit „The Storm Before the Calm” a fost lansat recent și se află în baza de date FooBar și care dintre albumele lor sunt în baza de date” )

Ieșire

Agentul a afișat răspunsul final extras din baza de date, așa cum este afișat în următoarea captură de ecran:

Acesta este totul despre procesul de replicare a sistemului MRKL folosind agenți în LangChain:

Concluzie

Pentru a replica sistemul MRKL folosind agenți în LangChain, instalați modulele pentru a obține dependențele pentru importarea bibliotecilor. Bibliotecile trebuie să construiască modelul de limbă sau modelul de chat pentru a obține răspunsuri din mai multe surse folosind instrumentele. Agenții sunt configurați să utilizeze instrumentele pentru extragerea rezultatelor din diferite surse precum internetul, bazele de date etc. Acest ghid a elaborat procesul de replicare a sistemului MRKL folosind agenți în LangChain.