Schiță rapidă
Această postare va demonstra următoarele:
Cum să replicați sistemul MRKL utilizând agenți în LangChain
- Pasul 1: Instalarea cadrelor
- Pasul 2: Setarea mediului OpenAI
- Pasul 3: Importarea bibliotecilor
- Pasul 4: Construirea bazei de date
- Pasul 5: Încărcarea bazei de date
- Pasul 6: Configurarea instrumentelor
- Pasul 7: Construirea și testarea agentului
- Pasul 8: Replicați sistemul MRKL
- Pasul 9: Utilizarea ChatModel
- Pasul 10: Testați agentul MRKL
- Pasul 11: Replicați sistemul MRKL
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 tuimport 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 LLMathChaindin 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 DesktopCD 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. sqlSELECTAȚ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 ChatOpenAIcă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.