Gyors vázlat
Ez a bejegyzés a következőket mutatja be:
Az MRKL rendszer replikálása ügynökök segítségével a LangChainben
- 1. lépés: Keretrendszerek telepítése
- 2. lépés: Az OpenAI környezet beállítása
- 3. lépés: Könyvtárak importálása
- 4. lépés: Adatbázis létrehozása
- 5. lépés: Adatbázis feltöltése
- 6. lépés: Eszközök konfigurálása
- 7. lépés: Az ügynök létrehozása és tesztelése
- 8. lépés: Az MRKL rendszer megismétlése
- 9. lépés: A ChatModel használata
- 10. lépés: Tesztelje az MRKL Agentet
- 11. lépés: Replikálja az MRKL rendszert
Hogyan replikálható az MRKL rendszer ügynökök segítségével a LangChainben?
A LangChain lehetővé teszi a felhasználó számára olyan ügynökök létrehozását, amelyek több feladat végrehajtására használhatók a nyelvi modellekhez vagy chatbotokhoz. Az ügynökök munkájukat az összes lépéssel a nyelvi modellhez csatolt memóriában tárolják. Ezekkel a sablonokkal az ügynök bármely rendszer, például az MRKL működését reprodukálhatja, hogy az optimalizált eredményeket elérje anélkül, hogy újra fel kellene őket építenie.
Az MRKL rendszer LangChain ügynökök segítségével történő replikálásának folyamatának megismeréséhez egyszerűen hajtsa végre a felsorolt lépéseket:
1. lépés: Keretrendszerek telepítése
Először is telepítse a LangChain kísérleti modulokat a pip használatával a langchain-experimental paranccsal:
pip install langchain-experimental
Telepítse az OpenAI modult az MRKL rendszer nyelvi modelljének létrehozásához:
pip install openai
2. lépés: Az OpenAI környezet beállítása
Importálja az operációs rendszer és a getpass könyvtárakat, hogy hozzáférjen a művelethez, és kérje a felhasználót, hogy adja meg az API-kulcsokat az OpenAI és SerpAPi fiókokhoz:
import teimport getpass
te . hozzávetőlegesen, körülbelül [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API kulcs:' )
te . hozzávetőlegesen, körülbelül [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API kulcs:' )
3. lépés: Könyvtárak importálása
Használja a LangChain függőségeit a szükséges könyvtárak importálásához a nyelvi modell, az eszközök és az ügynökök felépítéséhez:
tól től langchain. láncok import LLMMathChaintól től langchain. llms import OpenAI
tól től langchain. segédprogramok import SerpAPIWrapper
tól től langchain. segédprogramok import SQLDatabase
tól től langchain_experimental. sql import SQLDatabaseChain
tól től langchain. ügynökök import inicializálás_ügynök , Eszköz
tól től langchain. ügynökök import AgentType
4. lépés: Adatbázis létrehozása
Az MRKL külső tudásforrásokat használ az adatokból való információ kinyerésére. Ez a bejegyzés az SQLite-t használja, amely ezzel letölthető útmutató az adatbázis felépítéséhez. A következő parancs megerősíti az SQLite letöltésének folyamatát a telepített verzió megjelenítésével:
sqlite3
Használja a következő parancsokat egy könyvtárban az adatbázis létrehozásához a parancssor használatával:
CD AsztaliCD mydb
sqlite3 Chinook. db
Töltse le a Adatbázis fájlt, és tárolja a könyvtárban, hogy a következő parancsot használja a ' .db ” fájl:
. olvas Chinook_Sqlite. sqlSELECT * FROM Előadó LIMIT 10 ;
5. lépés: Adatbázis feltöltése
Az adatbázis sikeres létrehozása után töltse fel a fájlt a Google együttműködő programba:
tól től Google. ET AL import fájlokatfeltöltve = fájlokat. feltölteni ( )
A felhasználó elérheti a feltöltött fájlt a notebookon, és a legördülő menüből átmásolhatja annak elérési útját:
6. lépés: Eszközök konfigurálása
Az adatbázis felépítése után konfigurálja az ügynökök nyelvi modelljét, eszközeit és láncait:
keresés = SerpAPIWrapper ( )llm = OpenAI ( hőfok = 0 )
llm_math_chain = LLMMathChain ( llm = llm , bőbeszédű = Igaz )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_lánc = SQLDatabaseChain. from_llm ( llm , db , bőbeszédű = Igaz )
eszközöket = [
Eszköz (
név = 'Keresés' ,
func = keresés. fuss ,
leírás = 'Kérje meg a célzott felkéréseket, hogy válaszokat kapjon a közelmúlt ügyeiről'
) ,
Eszköz (
név = 'Számológép' ,
func = llm_math_chain. fuss ,
leírás = 'hasznos matematikai feladatok megválaszolásához/megoldásához'
) ,
Eszköz (
név = 'FooBar DB' ,
func = db_lánc. fuss ,
leírás = 'hasznos az adatbázisból származó lekérdezések megválaszolásához, és a bemeneti kérdésnek teljes kontextussal kell rendelkeznie'
)
]
- Határozza meg a llm változó segítségével OpenAI() módszer a nyelvi modell megszerzésére.
- A keresés az az eszköz, amely a SerpAPIWrapper() módszerrel hozzáférhet a környezetéhez.
- A LLMMathChain() módszerrel kapunk választ a matematikai problémákra.
- Határozza meg a db változó a fájl elérési útjával SQLDatabase() módszer.
- A SQLDatabaseChain() módszerrel kinyerhetjük az információkat az adatbázisból.
- Határozzon meg olyan eszközöket, mint keresés , számológép , és FooBar DB az ügynök felépítéséhez adatok kinyeréséhez különböző forrásokból:
7. lépés: Az ügynök létrehozása és tesztelése
Inicializálja az MRKL rendszert az eszközök, az llm és az ügynök segítségével, hogy megkapja a választ a felhasználó által feltett kérdésekre:
mrkl = inicializálás_ügynök ( eszközöket , llm , ügynök = AgentType. ZERO_SHOT_REACT_DESCRIPTION , bőbeszédű = Igaz )Futtassa le az MRKL rendszert a run() metódussal a kérdés argumentumával:
mrkl. fuss ( 'Leo DiCaprio és barátnője jelenlegi kora az is megmutatja a korkülönbséget' )Kimenet
Az ügynök elkészítette a végső választ a teljes elérési úttal, amelyet a rendszer a végső válasz kinyeréséhez használt:
8. lépés: Az MRKL rendszer megismétlése
Most egyszerűen használja a mrkl kulcsszó a run() metódussal, hogy válaszokat kapjon különböző forrásokból, például adatbázisokból:
mrkl. fuss ( 'Mi a teljes neve annak az előadónak, akinek a közelmúltban megjelent a 'The Storm Before the Calm' című albuma, és benne vannak-e a FooBar adatbázisában, és melyik albumuk van az adatbázisban?' )Az ügynök automatikusan átalakította a kérdést SQL-lekérdezéssé, hogy lekérje a választ az adatbázisból. Az ügynök megkeresi a megfelelő forrást, hogy megkapja a választ, majd összeállítja a lekérdezést az információ kinyeréséhez:
9. lépés: A ChatModel használata
A felhasználó egyszerűen megváltoztathatja a nyelvi modellt a ChatOpenAI() metódussal, hogy azt ChatModellé alakítsa, és az MRKL rendszert használja vele:
tól től langchain. chat_models import ChatOpenAIkeresés = SerpAPIWrapper ( )
llm = ChatOpenAI ( hőfok = 0 )
llm1 = OpenAI ( hőfok = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , bőbeszédű = Igaz )
db = SQLDatabase. from_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_lánc = SQLDatabaseChain. from_llm ( llm1 , db , bőbeszédű = Igaz )
eszközöket = [
Eszköz (
név = 'Keresés' ,
func = keresés. fuss ,
leírás = 'Kérje meg a célzott felkéréseket, hogy válaszokat kapjon a közelmúlt ügyeiről'
) ,
Eszköz (
név = 'Számológép' ,
func = llm_math_chain. fuss ,
leírás = 'hasznos matematikai feladatok megválaszolásához/megoldásához'
) ,
Eszköz (
név = 'FooBar DB' ,
func = db_lánc. fuss ,
leírás = 'hasznos az adatbázisból származó lekérdezések megválaszolásához, és a bemeneti kérdésnek teljes kontextussal kell rendelkeznie'
)
]
10. lépés: Tesztelje az MRKL Agentet
Ezt követően állítsa össze az ügynököt, és inicializálja az mrkl változóban az inicializálás_agent() metódussal. Adja hozzá a metódus paraméterét az olyan összetevők integrálásához, mint az tools, llm, agent és verbose, hogy a teljes folyamatot a kimenetben kapja meg:
mrkl = inicializálás_ügynök ( eszközöket , llm , ügynök = AgentType. CHAT_ZERO_SHOT_REACT_DESCRIPTION , bőbeszédű = Igaz )Hajtsa végre a kérdést az mrkl rendszer futtatásával a következő képernyőképen látható módon:
mrkl. fuss ( 'Ki Leo DiCaprio barátnője? Mennyi a jelenlegi életkoruk' )
Kimenet
A következő részlet az ügynök által kivont végső választ jeleníti meg:
11. lépés: Replikálja az MRKL rendszert
Használja az MRKL rendszert a run() metódus meghívásával a természetes nyelvű kérdéssel, hogy információkat nyerjen ki az adatbázisból:
mrkl. fuss ( 'Mi a teljes neve annak az előadónak, akinek a közelmúltban megjelent a 'The Storm Before the Calm' című albuma, és benne vannak-e a FooBar adatbázisában, és melyik albumuk van az adatbázisban?' )Kimenet
Az ügynök megjelenítette az adatbázisból kivont végső választ a következő képernyőképen látható módon:
Ez minden az MRKL rendszer replikálásának folyamatáról a LangChain ügynökeivel:
Következtetés
Az MRKL rendszer LangChain ügynökök segítségével történő replikálásához telepítse a modulokat a függőségek lekéréséhez a könyvtárak importálásához. A könyvtáraknak létre kell hozniuk a nyelvi modellt vagy a chat-modellt, hogy az eszközök segítségével több forrásból is megkapják a válaszokat. Az ügynökök úgy vannak beállítva, hogy a különböző forrásokból, például az internetről, adatbázisokból stb. származó kimenetek kinyerésére szolgáló eszközöket használják. Ez az útmutató az MRKL rendszer replikálásának folyamatát dolgozta ki a LangChain ügynökei segítségével.