Hvordan bruger man en Async API Agent i LangChain?

Hvordan Bruger Man En Async Api Agent I Langchain



LangChain er rammen, der indeholder alle afhængigheder til opbygning af sprogmodellen eller chatmodeller i naturligt sprog. Modellen bruger kunstig intelligens til at træne disse modeller, så de kan forstå spørgsmålene fra mennesker. Chatmodellerne trænes ved hjælp af promptskabelonen for at få strukturen af ​​chatgrænsefladen ved hjælp af indbyggede skabeloner eller tilpassede.

Hurtig disposition

Dette indlæg indeholder følgende sektioner:

Hvordan bruger man en Async API Agent i LangChain?

Chatmodeller udfører flere opgaver samtidigt som at forstå strukturen af ​​prompten, dens kompleksitet, udtrække information og mange flere. Ved at bruge Async API-agenten i LangChain kan brugeren bygge effektive chatmodeller, der kan besvare flere spørgsmål ad gangen. For at lære processen med at bruge Async API-agenten i LangChain skal du blot følge denne vejledning:







Trin 1: Installation af Frameworks

Først og fremmest skal du installere LangChain-rammeværket for at få dets afhængigheder fra Python-pakkehåndteringen:



pip installer langkæde



Derefter skal du installere OpenAI-modulet for at bygge sprogmodellen som llm og indstille dens miljø:





pip installer openai

Trin 2: OpenAI-miljø

Det næste trin efter installationen af ​​moduler er opsætning af miljøet ved hjælp af OpenAI's API-nøgle og Serper API for at søge efter data fra Google:



importere du
importere getpass

du . rundt regnet [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API-nøgle:' )
du . rundt regnet [ 'SERPER_API_KEY' ] = getpass . getpass ( 'Serper API-nøgle:' )

Trin 3: Import af biblioteker

Nu hvor miljøet er indstillet, skal du blot importere de nødvendige biblioteker som asyncio og andre biblioteker ved hjælp af LangChain-afhængighederne:

fra langkæde. agenter importere initialize_agent , indlæs_værktøjer
importere tid
importere asyncio
fra langkæde. agenter importere AgentType
fra langkæde. llms importere OpenAI
fra langkæde. tilbagekald . stdout importere StdOutCallbackHandler
fra langkæde. tilbagekald . sporstoffer importere LangChainTracer
fra aiohttp importere ClientSession

Trin 4: Opsætningsspørgsmål

Indstil et spørgsmålsdatasæt, der indeholder flere forespørgsler relateret til forskellige domæner eller emner, der kan søges på internettet (Google):

spørgsmål = [
'Hvem er vinderen af ​​U.S. Open mesterskabet i 2021' ,
'Hvad er alderen på Olivia Wildes kæreste' ,
'Hvem er vinderen af ​​Formel 1-verdenstitlen' ,
'Hvem vandt US Open kvindernes finale i 2021' ,
'Hvem er Beyonces mand, og hvad er hans alder' ,
]

Metode 1: Brug af seriel udførelse

Når alle trinene er fuldført, skal du blot udføre spørgsmålene for at få alle svarene ved hjælp af den serielle udførelse. Det betyder, at ét spørgsmål vil blive udført/vist ad gangen og også returnere den fulde tid, det tager at udføre disse spørgsmål:

llm = OpenAI ( temperatur = 0 )
værktøjer = indlæs_værktøjer ( [ 'google-header' , 'llm-matematik' ] , llm = llm )
agent = initialize_agent (
værktøjer , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ordrig = Rigtigt
)
s = tid . perf_counter ( )
#configuring time counter for at få tiden brugt til hele processen
til q i spørgsmål:
agent. løb ( q )
forløbet = tid . perf_counter ( ) - s
#print den samlede tid, som agenten brugte til at få svarene
Print ( f 'Serie udført på {elapsed:0.2f} sekunder.' )

Produktion
Følgende skærmbillede viser, at hvert spørgsmål besvares i en separat kæde, og når den første kæde er færdig, bliver den anden kæde aktiv. Serieudførelsen tager længere tid at få alle svarene individuelt:

Metode 2: Brug af samtidig udførelse

Concurrent execution-metoden tager alle spørgsmålene og får deres svar samtidigt.

llm = OpenAI ( temperatur = 0 )
værktøjer = indlæs_værktøjer ( [ 'google-header' , 'llm-matematik' ] , llm = llm )
#Konfiguration af agent ved hjælp af ovenstående værktøjer for at få svar samtidigt
agent = initialize_agent (
værktøjer , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ordrig = Rigtigt
)
#configuring time counter for at få tiden brugt til hele processen
s = tid . perf_counter ( )
opgaver = [ agent. sygdom ( q ) til q i spørgsmål ]
afvent asyncio. samle ( *opgaver )
forløbet = tid . perf_counter ( ) - s
#print den samlede tid, som agenten brugte til at få svarene
Print ( f 'Samtidig udført i {elapsed:0.2f} sekunder' )

Produktion
Den samtidige udførelse udtrækker alle data på samme tid og tager meget kortere tid end den serielle udførelse:

Det handler om at bruge Async API-agenten i LangChain.

Konklusion

For at bruge Async API-agenten i LangChain skal du blot installere modulerne for at importere bibliotekerne fra deres afhængigheder for at få asyncio-biblioteket. Derefter skal du konfigurere miljøerne ved hjælp af OpenAI- og Serper API-nøglerne ved at logge ind på deres respektive konti. Konfigurer sættet af spørgsmål relateret til forskellige emner og eksekver kæderne serielt og samtidigt for at få deres eksekveringstid. Denne vejledning har uddybet processen med at bruge Async API-agenten i LangChain.