Hurtig disposition
Dette indlæg vil demonstrere følgende:
Sådan replikeres MRKL-systemet ved hjælp af agenter i LangChain
- Trin 1: Installation af Frameworks
- Trin 2: Indstilling af OpenAI-miljø
- Trin 3: Import af biblioteker
- Trin 4: Opbygning af database
- Trin 5: Upload af database
- Trin 6: Konfiguration af værktøjer
- Trin 7: Opbygning og test af agenten
- Trin 8: Repliker MRKL-systemet
- Trin 9: Brug af ChatModel
- Trin 10: Test MRKL Agent
- Trin 11: Repliker MRKL-systemet
Hvordan replikeres MRKL-systemet ved hjælp af agenter i LangChain?
LangChain giver brugeren mulighed for at bygge agenter, der kan bruges til at udføre flere opgaver for sprogmodellerne eller chatbots. Agenter gemmer deres arbejde med alle trinene i hukommelsen knyttet til sprogmodellen. Ved at bruge disse skabeloner kan agenten replikere funktionen af ethvert system som MRKL for at få de optimerede resultater uden at skulle bygge dem igen.
For at lære processen med at replikere MRKL-systemet ved hjælp af agenter i LangChain, skal du blot gennemgå de anførte trin:
Trin 1: Installation af Frameworks
Først og fremmest skal du installere LangChain eksperimentelle moduler ved hjælp af pip'en med langchain-experimental kommandoen:
pip installer langkæde-eksperimentel
Installer OpenAI-modulet for at bygge sprogmodellen til MRKL-systemet:
pip installer openai
Trin 2: Indstilling af OpenAI-miljø
Importer OS- og getpass-bibliotekerne for at få adgang til driften for at bede brugeren om at angive API-nøglerne til OpenAI- og SerpAPi-konti:
importere duimportere getpass
du . rundt regnet [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API-nøgle:' )
du . rundt regnet [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API-nøgle:' )
Trin 3: Import af biblioteker
Brug afhængighederne fra LangChain til at importere de nødvendige biblioteker til opbygning af sprogmodellen, værktøjerne og agenterne:
fra langkæde. kæder importere LLMMathChainfra langkæde. llms importere OpenAI
fra langkæde. forsyningsselskaber importere SerpAPIWrapper
fra langkæde. forsyningsselskaber importere SQLDatabase
fra langkæde_eksperimentel. sql importere SQLDatabaseChain
fra langkæde. agenter importere initialize_agent , Værktøj
fra langkæde. agenter importere AgentType
Trin 4: Opbygning af database
MRKL bruger eksterne videnkilder til at udtrække information fra data. Dette indlæg bruger SQLite, som kan downloades ved hjælp af dette guide at bygge databasen. Følgende kommando bekræfter processen med at downloade SQLite ved at vise dens installerede version:
sqlite3
Brug følgende kommandohoved inde i en mappe til at oprette databasen ved hjælp af kommandoprompten:
cd Desktopcd mydb
sqlite3 Chinook. db
Download Database fil og gem den i mappen for at bruge følgende kommando til at oprette ' .db ' fil:
. Læs Chinook_Sqlite. sqlVÆLG * FRA Artist LIMIT 10 ;
Trin 5: Upload af database
Når databasen er oprettet, skal du uploade filen i Google-samarbejdet:
fra google. ET AL importere fileruploadet = filer. upload ( )
Brugeren kan få adgang til den uploadede fil på notesbogen for at kopiere dens sti fra dens rullemenu:
Trin 6: Konfiguration af værktøjer
Efter opbygning af databasen skal du konfigurere sprogmodellen, værktøjerne og kæderne for agenterne:
Søg = SerpAPIWrapper ( )llm = OpenAI ( temperatur = 0 )
llm_math_chain = LLMMathChain ( llm = llm , ordrig = Rigtigt )
db = SQLDatabase. fra_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_kæde = SQLDatabaseChain. fra_llm ( llm , db , ordrig = Rigtigt )
værktøjer = [
Værktøj (
navn = 'Søg' ,
func = Søg. løb ,
beskrivelse = 'Spørg de målrettede prompter for at få svar om de seneste anliggender'
) ,
Værktøj (
navn = 'Lommeregner' ,
func = llm_math_chain. løb ,
beskrivelse = 'nyttigt til at besvare/løse matematiske problemer'
) ,
Værktøj (
navn = 'FooBar DB' ,
func = db_kæde. løb ,
beskrivelse = 'nyttigt til at besvare forespørgsler fra en database og inputspørgsmål skal have den komplette kontekst'
)
]
- Definer llm variabel ved hjælp af OpenAI() metode til at få sprogmodellen.
- Det Søg er værktøjet, der kalder SerpAPIWrapper() metode til at få adgang til sit miljø.
- Det LLMMathChain() metode bruges til at få svarene relateret til matematiske problemer.
- Definer db variabel med stien til filen inde i SQLDatabase() metode.
- Det SQLDatabaseChain() metode kan bruges til at få informationen fra databasen.
- Definer værktøjer som Søg , lommeregner , og FooBar DB til at bygge agenten til at udtrække data fra forskellige kilder:
Trin 7: Opbygning og test af agenten
Initialiser MRKL-systemet ved hjælp af værktøjerne, llm og agent for at få svar på de spørgsmål, brugeren stillede:
mrkl = initialize_agent ( værktøjer , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ordrig = Rigtigt )Udfør MRKL-systemet ved hjælp af run()-metoden med spørgsmålet som argument:
mrkl. løb ( 'Hvad er Leo DiCaprios og hans kærestes nuværende alder fortæller også deres aldersforskel' )Produktion
Agenten har produceret det endelige svar med den komplette sti, der bruges af systemet til at udtrække det endelige svar:
Trin 8: Repliker MRKL-systemet
Nu skal du blot bruge mrkl søgeord med run()-metoden for at få svar fra forskellige kilder såsom databaser:
mrkl. løb ( 'Hvad er det fulde navn på kunstneren, hvis album kaldet 'The Storm Before the Calm' udgivet for nylig, og er de i FooBar-databasen også, hvilke af deres albums er i databasen' )Agenten har automatisk transformeret spørgsmålet til SQL-forespørgslen for at hente svaret fra databasen. Agenten søger efter den korrekte kilde for at få svaret og samler derefter forespørgslen for at udtrække oplysningerne:
Trin 9: Brug af ChatModel
Brugeren kan simpelthen ændre sprogmodellen ved at bruge ChatOpenAI()-metoden for at gøre den til en ChatModel og bruge MRKL-systemet med det:
fra langkæde. chat_modeller importere ChatOpenAISøg = SerpAPIWrapper ( )
llm = ChatOpenAI ( temperatur = 0 )
llm1 = OpenAI ( temperatur = 0 )
llm_math_chain = LLMMathChain ( llm = llm1 , ordrig = Rigtigt )
db = SQLDatabase. fra_uri ( 'sqlite:///../../../../../content/Chinook.db' )
db_kæde = SQLDatabaseChain. fra_llm ( llm1 , db , ordrig = Rigtigt )
værktøjer = [
Værktøj (
navn = 'Søg' ,
func = Søg. løb ,
beskrivelse = 'Spørg de målrettede prompter for at få svar om de seneste anliggender'
) ,
Værktøj (
navn = 'Lommeregner' ,
func = llm_math_chain. løb ,
beskrivelse = 'nyttigt til at besvare/løse matematiske problemer'
) ,
Værktøj (
navn = 'FooBar DB' ,
func = db_kæde. løb ,
beskrivelse = 'nyttigt til at besvare forespørgsler fra en database og inputspørgsmål skal have den komplette kontekst'
)
]
Trin 10: Test MRKL Agent
Byg derefter agenten og initialiser den i mrkl-variablen ved hjælp af initialize_agent()-metoden. Tilføj parameteren for metoden for at integrere komponenter som værktøjer, llm, agent og verbose for at få hele processen i outputtet:
mrkl = initialize_agent ( værktøjer , llm , agent = AgentType. CHAT_ZERO_SHOT_REACT_DESCRIPTION , ordrig = Rigtigt )Udfør spørgsmålet ved at køre mrkl-systemet som vist på følgende skærmbillede:
mrkl. løb ( 'Hvem er Leo DiCaprios kæreste? Hvad er deres nuværende alder' )
Produktion
Følgende uddrag viser det endelige svar udtrukket af agenten:
Trin 11: Repliker MRKL-systemet
Brug MRKL-systemet ved at kalde run()-metoden med spørgsmålet på det naturlige sprog for at udtrække information fra databasen:
mrkl. løb ( 'Hvad er det fulde navn på kunstneren, hvis album kaldet 'The Storm Before the Calm' udgivet for nylig, og er de i FooBar-databasen også, hvilke af deres albums er i databasen' )Produktion
Agenten har vist det endelige svar udtrukket fra databasen som vist på følgende skærmbillede:
Det handler om processen med at replikere MRKL-systemet ved hjælp af agenter i LangChain:
Konklusion
For at replikere MRKL-systemet ved hjælp af agenter i LangChain, skal du installere modulerne for at få afhængighederne til at importere bibliotekerne. Bibliotekerne er forpligtet til at bygge sprogmodellen eller chatmodellen for at få svarene fra flere kilder ved hjælp af værktøjerne. Agenterne er konfigureret til at bruge værktøjerne til at udtrække output fra forskellige kilder som internettet, databaser osv. Denne guide har uddybet processen med at replikere MRKL-systemet ved hjælp af agenter i LangChain.