Rýchly prehľad
Tento príspevok bude demonštrovať nasledovné:
Ako replikovať systém MRKL pomocou agentov v LangChain
- Krok 1: Inštalácia rámcov
- Krok 2: Nastavenie prostredia OpenAI
- Krok 3: Importovanie knižníc
- Krok 4: Vytvorenie databázy
- Krok 5: Nahranie databázy
- Krok 6: Konfigurácia nástrojov
- Krok 7: Vytvorenie a testovanie agenta
- Krok 8: Replikujte systém MRKL
- Krok 9: Použitie ChatModel
- Krok 10: Otestujte agenta MRKL
- Krok 11: Replikujte systém MRKL
Ako replikovať systém MRKL pomocou agentov v LangChain?
LangChain umožňuje používateľovi zostavovať agentov, ktorých možno použiť na vykonávanie viacerých úloh pre jazykové modely alebo chatboty. Agenti ukladajú svoju prácu so všetkými krokmi do pamäte pripojenej k jazykovému modelu. Pomocou týchto šablón môže agent replikovať fungovanie akéhokoľvek systému, ako je MRKL, aby získal optimalizované výsledky bez toho, aby ich musel znova zostavovať.
Ak sa chcete naučiť proces replikácie systému MRKL pomocou agentov v LangChain, jednoducho prejdite uvedenými krokmi:
Krok 1: Inštalácia rámcov
Najprv nainštalujte experimentálne moduly LangChain pomocou pip s príkazom langchain-experimental:
pip install langchain-experimental
Nainštalujte modul OpenAI na vytvorenie jazykového modelu pre systém MRKL:
pip install openai
Krok 2: Nastavenie prostredia OpenAI
Importujte knižnice operačného systému a getpass, aby ste získali prístup k prevádzke, aby ste používateľa vyzvali, aby poskytol kľúče API pre účty OpenAI a SerpAPi:
importovať vyimportovať getpass
vy . približne [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
vy . približne [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API Key:' )
Krok 3: Importovanie knižníc
Použite závislosti z LangChain na import požadovaných knižníc na zostavenie jazykového modelu, nástrojov a agentov:
od langchain. reťaze importovať LLMMathChainod langchain. llms importovať OpenAI
od langchain. komunálne služby importovať SerpAPIWrapper
od langchain. komunálne služby importovať SQLDatabase
od langchain_experimental. sql importovať SQLDatabaseChain
od langchain. agentov importovať initialize_agent , Nástroj
od langchain. agentov importovať Typ agenta
Krok 4: Vytvorenie databázy
MRKL využíva externé zdroje znalostí na extrakciu informácií z údajov. Tento príspevok používa SQLite, ktorý je možné stiahnuť pomocou tohto sprievodca na vybudovanie databázy. Nasledujúci príkaz potvrdzuje proces sťahovania SQLite zobrazením jeho nainštalovanej verzie:
sqlite3
Na vytvorenie databázy pomocou príkazového riadka použite nasledujúce príkazy hlavičky v adresári:
cd Desktopcd mydb
sqlite3 Chinook. db
Stiahnite si Databáza súbor a uložte ho do adresára, aby ste použili nasledujúci príkaz na vytvorenie súboru „ .db súbor:
. čítať Chinook_Sqlite. sqlVYBERTE * Z LIMITU interpretov 10 ;
Krok 5: Nahranie databázy
Po úspešnom vytvorení databázy nahrajte súbor do služby Google collaboratory:
od google. ET AL importovať súborynahrané = súbory. nahrať ( )
Používateľ môže získať prístup k nahranému súboru v notebooku a skopírovať jeho cestu z jeho rozbaľovacej ponuky:
Krok 6: Konfigurácia nástrojov
Po vytvorení databázy nakonfigurujte jazykový model, nástroje a reťazce pre agentov:
Vyhľadávanie = SerpAPIWrapper ( )llm = OpenAI ( teplota = 0 )
llm_math_chain = LLMMathChain ( llm = llm , podrobný = Pravda )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm , db , podrobný = Pravda )
nástrojov = [
Nástroj (
názov = 'Vyhľadávanie' ,
func = Vyhľadávanie. behať ,
popis = „Opýtajte sa cielených výziev, aby ste dostali odpovede na nedávne záležitosti“
) ,
Nástroj (
názov = 'Kalkulačka' ,
func = llm_math_chain. behať ,
popis = 'užitočné na zodpovedanie/riešenie matematických problémov'
) ,
Nástroj (
názov = 'FooBar DB' ,
func = db_chain. behať ,
popis = 'užitočné na zodpovedanie dotazov z databázy a vstupná otázka musí mať úplný kontext'
)
]
- Definujte llm premenná pomocou OpenAI() spôsob získania jazykového modelu.
- The Vyhľadávanie je nástroj, ktorý volá SerpAPIWrapper() spôsob prístupu k svojmu prostrediu.
- The LLMMathChain() metóda sa používa na získanie odpovedí súvisiacich s matematickými problémami.
- Definujte db premenná s cestou k súboru vo vnútri SQLDatabase() metóda.
- The SQLDatabaseChain() na získanie informácií z databázy.
- Definujte nástroje ako Vyhľadávanie , kalkulačka , a FooBar DB na vytvorenie agenta na extrahovanie údajov z rôznych zdrojov:
Krok 7: Vytvorenie a testovanie agenta
Inicializujte systém MRKL pomocou nástrojov, llm a agenta, aby ste získali odpovede na otázky položené používateľom:
mrkl = initialize_agent ( nástrojov , llm , agent = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , podrobný = Pravda )Vykonajte systém MRKL pomocou metódy run() s otázkou ako argumentom:
mrkl. behať ( „Aký je aktuálny vek Lea DiCapria a jeho priateľky, tiež hovoria o svojom vekovom rozdiele“ )Výkon
Agent vytvoril konečnú odpoveď s úplnou cestou, ktorú systém používa na extrahovanie konečnej odpovede:
Krok 8: Replikujte systém MRKL
Teraz jednoducho použite mrkl kľúčové slovo pomocou metódy run() na získanie odpovedí z rôznych zdrojov, ako sú databázy:
mrkl. behať ( 'Aké je celé meno interpreta, ktorého album s názvom 'The Storm Before the Calm' vyšiel nedávno a sú v databáze FooBar a tiež, ktoré z ich albumov sú v databáze?' )Agent automaticky transformoval otázku do SQL dotazu, aby získal odpoveď z databázy. Agent hľadá správny zdroj, aby získal odpoveď, a potom zostaví dotaz na extrahovanie informácií:
Krok 9: Použitie ChatModel
Používateľ môže jednoducho zmeniť jazykový model pomocou metódy ChatOpenAI() a urobiť z neho ChatModel a použiť s ním systém MRKL:
od langchain. chat_models importovať ChatOpenAIVyhľadávanie = SerpAPIWrapper ( )
llm = ChatOpenAI ( teplota = 0 )
llm1 = OpenAI ( teplota = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , podrobný = Pravda )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm1 , db , podrobný = Pravda )
nástrojov = [
Nástroj (
názov = 'Vyhľadávanie' ,
func = Vyhľadávanie. behať ,
popis = „Opýtajte sa cielených výziev, aby ste dostali odpovede na nedávne záležitosti“
) ,
Nástroj (
názov = 'Kalkulačka' ,
func = llm_math_chain. behať ,
popis = 'užitočné na zodpovedanie/riešenie matematických problémov'
) ,
Nástroj (
názov = 'FooBar DB' ,
func = db_chain. behať ,
popis = 'užitočné na zodpovedanie dotazov z databázy a vstupná otázka musí mať úplný kontext'
)
]
Krok 10: Otestujte agenta MRKL
Potom zostavte agenta a inicializujte ho v premennej mrkl pomocou metódy initialize_agent(). Pridajte parameter metódy na integráciu komponentov, ako sú nástroje, llm, agent a verbose, aby ste získali celý proces vo výstupe:
mrkl = initialize_agent ( nástrojov , llm , agent = Typ agenta. CHAT_ZERO_SHOT_REACT_DESCRIPTION , podrobný = Pravda )Vykonajte otázku spustením systému mrkl, ako je zobrazené na nasledujúcej snímke obrazovky:
mrkl. behať ( 'Kto je priateľka Lea DiCapria? Aký je ich súčasný vek' )
Výkon
Nasledujúci úryvok zobrazuje konečnú odpoveď extrahovanú agentom:
Krok 11: Replikujte systém MRKL
Použite systém MRKL zavolaním metódy run() s otázkou v prirodzenom jazyku na extrahovanie informácií z databázy:
mrkl. behať ( 'Aké je celé meno interpreta, ktorého album s názvom 'The Storm Before the Calm' vyšiel nedávno a sú v databáze FooBar a tiež, ktoré z ich albumov sú v databáze?' )Výkon
Agent zobrazil konečnú odpoveď extrahovanú z databázy, ako je zobrazené na nasledujúcej snímke obrazovky:
To je všetko o procese replikácie systému MRKL pomocou agentov v LangChain:
Záver
Ak chcete replikovať systém MRKL pomocou agentov v LangChain, nainštalujte moduly, aby ste získali závislosti na importovanie knižníc. Od knižníc sa vyžaduje, aby vytvorili jazykový model alebo model chatu, aby získali odpovede z viacerých zdrojov pomocou nástrojov. Agenti sú nakonfigurovaní tak, aby používali nástroje na extrahovanie výstupov z rôznych zdrojov, ako je internet, databázy atď. Táto príručka rozpracovala proces replikácie systému MRKL pomocou agentov v LangChain.