Rychlý přehled
Tento příspěvek bude demonstrovat následující:
Jak replikovat systém MRKL pomocí agentů v LangChain
- Krok 1: Instalace frameworků
- Krok 2: Nastavení prostředí OpenAI
- Krok 3: Import knihoven
- Krok 4: Vytvoření databáze
- Krok 5: Nahrání databáze
- Krok 6: Konfigurace nástrojů
- Krok 7: Sestavení a testování agenta
- Krok 8: Replikujte systém MRKL
- Krok 9: Použití ChatModel
- Krok 10: Otestujte agenta MRKL
- Krok 11: Replikujte systém MRKL
Jak replikovat systém MRKL pomocí agentů v LangChain?
LangChain umožňuje uživateli vytvářet agenty, které lze použít k provádění více úkolů pro jazykové modely nebo chatboty. Agenti ukládají svou práci se všemi kroky do paměti připojené k jazykovému modelu. Pomocí těchto šablon může agent replikovat fungování jakéhokoli systému, jako je MRKL, aby získal optimalizované výsledky, aniž by je musel znovu sestavovat.
Chcete-li se naučit proces replikace systému MRKL pomocí agentů v LangChain, jednoduše projděte uvedené kroky:
Krok 1: Instalace frameworků
Nejprve nainstalujte experimentální moduly LangChain pomocí pip s příkazem langchain-experimental:
pip install langchain-experimental
Nainstalujte modul OpenAI pro vytvoření jazykového modelu pro systém MRKL:
pip install openai
Krok 2: Nastavení prostředí OpenAI
Importujte knihovny operačního systému a getpass, abyste získali přístup k operačnímu systému a vyzvali uživatele k poskytnutí klíčů API pro účty OpenAI a SerpAPi:
import vyimport getpass
vy . přibližně [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Klíč OpenAI API:' )
vy . přibližně [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API Key:' )
Krok 3: Import knihoven
Použijte závislosti z LangChain k importu požadovaných knihoven pro vytvoření jazykového modelu, nástrojů a agentů:
z langchain. řetězy import LLMMathChainz langchain. llms import OpenAI
z langchain. utility import SerpAPIWrapper
z langchain. utility import SQLDatabase
z langchain_experimental. sql import SQLDatabaseChain
z langchain. agenti import inicializovat_agenta , Nástroj
z langchain. agenti import Typ agenta
Krok 4: Vytvoření databáze
MRKL využívá externí zdroje znalostí k extrakci informací z dat. Tento příspěvek používá SQLite, který lze stáhnout pomocí tohoto průvodce k vybudování databáze. Následující příkaz potvrdí proces stahování SQLite zobrazením jeho nainstalované verze:
sqlite3
Pomocí následujících příkazů head v adresáři vytvořte databázi pomocí příkazového řádku:
CD plocha počítačeCD mydb
sqlite3 Chinook. db
Stáhněte si Databáze soubor a uložte jej do adresáře, abyste mohli použít následující příkaz pro vytvoření „ .db 'soubor:
. číst Chinook_Sqlite. sqlVYBRAT * Z LIMITU interpreta 10 ;
Krok 5: Nahrání databáze
Po úspěšném vytvoření databáze nahrajte soubor do služby Google collaboratory:
z Google. ET AL import souborynahráno = soubory. nahrát ( )
Uživatel má přístup k nahranému souboru v notebooku a zkopíruje jeho cestu z rozbalovací nabídky:
Krok 6: Konfigurace nástrojů
Po vytvoření databáze nakonfigurujte jazykový model, nástroje a řetězce pro agenty:
Vyhledávání = SerpAPIWrapper ( )llm = OpenAI ( teplota = 0 )
llm_math_chain = LLMMathChain ( llm = llm , podrobný = Skutečný )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm , db , podrobný = Skutečný )
nástroje = [
Nástroj (
název = 'Vyhledávání' ,
func = Vyhledávání. běh ,
popis = 'Zeptejte se cílených výzev, abyste získali odpovědi na nedávné záležitosti'
) ,
Nástroj (
název = 'Kalkulačka' ,
func = llm_math_chain. běh ,
popis = 'užitečné pro zodpovězení/řešení matematických problémů'
) ,
Nástroj (
název = 'FooBar DB' ,
func = db_chain. běh ,
popis = 'užitečné pro zodpovězení dotazů z databáze a vstupní otázka musí mít úplný kontext'
)
]
- Definujte llm proměnná pomocí OpenAI() způsob, jak získat jazykový model.
- The Vyhledávání je nástroj, který volá SerpAPIWrapper() způsob přístupu k jeho prostředí.
- The LLMMathChain() metoda se používá k získání odpovědí souvisejících s matematickými problémy.
- Definujte db proměnná s cestou k souboru uvnitř SQLDatabase() metoda.
- The SQLDatabaseChain() metodu lze použít k získání informací z databáze.
- Definujte nástroje jako Vyhledávání , kalkulačka , a FooBar DB pro vytvoření agenta pro extrahování dat z různých zdrojů:
Krok 7: Sestavení a testování agenta
Inicializujte systém MRKL pomocí nástrojů, llm a agenta, abyste získali odpovědi na otázky položené uživatelem:
mrkl = inicializovat_agenta ( nástroje , llm , činidlo = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , podrobný = Skutečný )Spusťte systém MRKL pomocí metody run() s otázkou jako argumentem:
mrkl. běh ( „Jaký je současný věk Lea DiCapria a jeho přítelkyně, také sdělují svůj věkový rozdíl“ )Výstup
Agent vytvořil konečnou odpověď s úplnou cestou, kterou systém používá k extrahování konečné odpovědi:
Krok 8: Replikujte systém MRKL
Nyní jednoduše použijte mrkl klíčové slovo s metodou run() pro získání odpovědí z různých zdrojů, jako jsou databáze:
mrkl. běh ( 'Jaké je celé jméno umělce, jehož album s názvem 'The Storm Before the Calm' vyšlo nedávno a jsou v databázi FooBar a také která z jejich alb jsou v databázi?' )Agent automaticky transformoval otázku do SQL dotazu, aby načetl odpověď z databáze. Agent hledá správný zdroj, aby získal odpověď, a poté sestaví dotaz, aby extrahoval informace:
Krok 9: Použití ChatModel
Uživatel může jednoduše změnit jazykový model pomocí metody ChatOpenAI() a vytvořit z něj ChatModel a používat s ním systém MRKL:
z langchain. chat_models import ChatOpenAIVyhledávání = SerpAPIWrapper ( )
llm = ChatOpenAI ( teplota = 0 )
llm1 = OpenAI ( teplota = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , podrobný = Skutečný )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_chain = SQLDatabaseChain. from_llm ( llm1 , db , podrobný = Skutečný )
nástroje = [
Nástroj (
název = 'Vyhledávání' ,
func = Vyhledávání. běh ,
popis = 'Zeptejte se cílených výzev, abyste získali odpovědi na nedávné záležitosti'
) ,
Nástroj (
název = 'Kalkulačka' ,
func = llm_math_chain. běh ,
popis = 'užitečné pro zodpovězení/řešení matematických problémů'
) ,
Nástroj (
název = 'FooBar DB' ,
func = db_chain. běh ,
popis = 'užitečné pro zodpovězení dotazů z databáze a vstupní otázka musí mít úplný kontext'
)
]
Krok 10: Otestujte agenta MRKL
Poté sestavte agenta a inicializujte jej v proměnné mrkl pomocí metody initialize_agent(). Přidejte parametr metody pro integraci komponent, jako jsou nástroje, llm, agent a verbose, abyste získali celý proces ve výstupu:
mrkl = inicializovat_agenta ( nástroje , llm , činidlo = Typ agenta. CHAT_ZERO_SHOT_REACT_DESCRIPTION , podrobný = Skutečný )Spusťte otázku spuštěním systému mrkl, jak je zobrazeno na následujícím snímku obrazovky:
mrkl. běh ( 'Kdo je přítelkyně Lea DiCapria? Jaký je jejich současný věk' )
Výstup
Následující úryvek zobrazuje konečnou odpověď extrahovanou agentem:
Krok 11: Replikujte systém MRKL
Použijte systém MRKL voláním metody run() s otázkou v přirozeném jazyce k extrahování informací z databáze:
mrkl. běh ( 'Jaké je celé jméno umělce, jehož album s názvem 'The Storm Before the Calm' vyšlo nedávno a jsou v databázi FooBar a také která z jejich alb jsou v databázi?' )Výstup
Agent zobrazil konečnou odpověď extrahovanou z databáze, jak je zobrazeno na následujícím snímku obrazovky:
To je vše o procesu replikace systému MRKL pomocí agentů v LangChain:
Závěr
Chcete-li replikovat systém MRKL pomocí agentů v LangChain, nainstalujte moduly, abyste získali závislosti pro import knihoven. Knihovny jsou povinny sestavit jazykový model nebo model chatu, aby pomocí nástrojů získaly odpovědi z více zdrojů. Agenti jsou nakonfigurováni tak, aby používali nástroje pro extrahování výstupů z různých zdrojů, jako je internet, databáze atd. Tato příručka rozvedla proces replikace systému MRKL pomocí agentů v LangChain.