Kako koristiti async API agent u LangChainu?

Kako Koristiti Async Api Agent U Langchainu



LangChain je okvir koji sadrži sve ovisnosti za izgradnju jezičnog modela ili modela chata na prirodnom jeziku. Model koristi umjetnu inteligenciju za obuku ovih modela kako bi mogli razumjeti pitanja ljudi. Modeli čavrljanja obučavaju se korištenjem predloška upita kako bi se dobila struktura sučelja čavrljanja pomoću ugrađenih ili prilagođenih predložaka.

Brzi pregled

Ovaj post sadrži sljedeće odjeljke:

Kako koristiti async API agent u LangChainu?

Chat modeli obavljaju više zadataka istovremeno kao što su razumijevanje strukture upita, njegove složenosti, izvlačenje informacija i još mnogo toga. Korištenje Async API agenta u LangChainu omogućuje korisniku da izgradi učinkovite modele chata koji mogu odgovoriti na više pitanja odjednom. Kako biste naučili postupak korištenja Async API agenta u LangChainu, jednostavno slijedite ovaj vodič:







Korak 1: Instalacija Frameworks

Prije svega, instalirajte okvir LangChain da biste dobili njegove ovisnosti iz upravitelja paketa Python:



pip instalirati langchain



Nakon toga instalirajte OpenAI modul za izgradnju jezičnog modela kao što je llm i postavite njegovo okruženje:





pip instaliraj openai

Korak 2: OpenAI okruženje

Sljedeći korak nakon instalacije modula je postavljanje okoline koristeći OpenAI API ključ i Serper API za traženje podataka s Googlea:



uvoz vas
uvoz getpass

vas . približno [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API ključ:' )
vas . približno [ 'SERPER_API_KEY' ] = getpass . getpass ( 'Serper API ključ:' )

Korak 3: Uvoz biblioteka

Sada kada je okruženje postavljeno, jednostavno uvezite potrebne biblioteke kao što je asyncio i druge biblioteke koristeći LangChain ovisnosti:

iz langchain. agenti uvoz inicijalizirati_agent , učitavanje_alata
uvoz vrijeme
uvoz asincio
iz langchain. agenti uvoz AgentType
iz langchain. llms uvoz OpenAI
iz langchain. povratni pozivi . stdout uvoz StdOutCallbackHandler
iz langchain. povratni pozivi . tragači uvoz LangChainTracer
iz aiohttp uvoz ClientSession

Korak 4: Pitanja za postavljanje

Postavite skup podataka pitanja koji sadrži više upita povezanih s različitim domenama ili temama koje se mogu pretraživati ​​na internetu (Google):

pitanja = [
'Tko je pobjednik US Open prvenstva 2021.' ,
'Koliko ima godina dečko Olivije Wilde' ,
'Tko je osvajač naslova svjetskog prvaka u Formuli 1' ,
'Tko je pobijedio u ženskom finalu US Opena 2021.' ,
'Tko je Beyoncein muž i koliko ima godina' ,
]

Metoda 1: Korištenje serijskog izvršavanja

Nakon što su svi koraci dovršeni, jednostavno izvršite pitanja kako biste dobili sve odgovore pomoću serijskog izvršavanja. To znači da će jedno pitanje biti izvršeno/prikazano u isto vrijeme i također vratiti cijelo vrijeme potrebno za izvršenje ovih pitanja:

llm = OpenAI ( temperatura = 0 )
alata = učitavanje_alata ( [ 'google-zaglavlje' , 'llm-matematika' ] , llm = llm )
agent = inicijalizirati_agent (
alata , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , opširno = Pravi
)
s = vrijeme . brojač_perf ( )
#konfiguriranje brojača vremena za dobivanje vremena iskorištenog za cijeli proces
za q u pitanja:
agent. trčanje ( q )
proteklih = vrijeme . brojač_perf ( ) - s
#ispiši ukupno vrijeme koje je agent iskoristio za dobivanje odgovora
ispisati ( f 'Serija je izvršena za {elapsed:0.2f} sekundi.' )

Izlaz
Sljedeća snimka zaslona prikazuje da se na svako pitanje odgovara u zasebnom lancu i kada prvi lanac završi, drugi lanac postaje aktivan. Za serijsko izvođenje potrebno je više vremena da se dobiju svi odgovori pojedinačno:

Metoda 2: Upotreba istovremenog izvođenja

Metoda istovremenog izvršavanja uzima sva pitanja i dobiva odgovore na njih istovremeno.

llm = OpenAI ( temperatura = 0 )
alata = učitavanje_alata ( [ 'google-zaglavlje' , 'llm-matematika' ] , llm = llm )
#Konfiguriranje agenta pomoću gore navedenih alata za istovremeno dobivanje odgovora
agent = inicijalizirati_agent (
alata , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , opširno = Pravi
)
#konfiguriranje brojača vremena za dobivanje vremena iskorištenog za cijeli proces
s = vrijeme . brojač_perf ( )
zadaci = [ agent. bolest ( q ) za q u pitanja ]
čekati asyncio. skupiti se ( *zadaci )
proteklih = vrijeme . brojač_perf ( ) - s
#ispiši ukupno vrijeme koje je agent iskoristio za dobivanje odgovora
ispisati ( f 'Istovremeno izvršeno za {elapsed:0.2f} sekundi' )

Izlaz
Istodobno izvođenje ekstrahira sve podatke u isto vrijeme i traje puno manje vremena od serijskog izvođenja:

To je sve o korištenju Async API agenta u LangChainu.

Zaključak

Za korištenje Async API agenta u LangChainu, jednostavno instalirajte module za uvoz biblioteka iz njihovih ovisnosti kako biste dobili asyncio biblioteku. Nakon toga, postavite okruženja pomoću OpenAI i Serper API ključeva tako da se prijavite na njihove odgovarajuće račune. Konfigurirajte skup pitanja koja se odnose na različite teme i izvršavajte lance serijski i istovremeno kako biste dobili vrijeme njihovog izvršenja. Ovaj vodič razradio je postupak korištenja Async API agenta u LangChainu.