Brzi pregled
Ovaj post sadrži sljedeće odjeljke:
- Kako koristiti async API agent u LangChainu
- Metoda 1: Korištenje serijskog izvršavanja
- Metoda 2: Upotreba istovremenog izvođenja
- Zaključak
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_alatauvoz 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.