Ako používať agenta Async API v LangChain?

Ako Pouzivat Agenta Async Api V Langchain



LangChain je rámec, ktorý obsahuje všetky závislosti na zostavenie jazykového modelu alebo modelov chatu v prirodzenom jazyku. Model využíva umelú inteligenciu na trénovanie týchto modelov, aby mohli porozumieť otázkam od ľudí. Modely chatu sú trénované pomocou šablóny výzvy na získanie štruktúry rozhrania chatu pomocou vstavaných alebo prispôsobených šablón.

Rýchly prehľad

Tento príspevok obsahuje nasledujúce sekcie:

Ako používať agenta Async API v LangChain?

Chatovacie modely vykonávajú viacero úloh súčasne, ako je pochopenie štruktúry výzvy, jej zložitosti, extrahovanie informácií a mnohé ďalšie. Použitie agenta Async API v LangChain umožňuje používateľovi vytvárať efektívne modely chatu, ktoré dokážu odpovedať na viacero otázok naraz. Ak sa chcete naučiť proces používania agenta Async API v LangChain, jednoducho postupujte podľa tohto sprievodcu:







Krok 1: Inštalácia rámcov

Najprv nainštalujte rámec LangChain, aby ste získali jeho závislosti od správcu balíkov Python:



pip install langchain



Potom nainštalujte modul OpenAI na zostavenie jazykového modelu ako llm a nastavte jeho prostredie:





pip install openai

Krok 2: Prostredie OpenAI

Ďalším krokom po inštalácii modulov je nastavenie prostredia pomocou kľúča API OpenAI a Serper API na vyhľadávanie údajov z Google:



importovať vy
importovať getpass

vy . približne [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
vy . približne [ 'SERPER_API_KEY' ] = getpass . getpass ( 'Serper API Key:' )

Krok 3: Importovanie knižníc

Teraz, keď je prostredie nastavené, jednoducho importujte požadované knižnice ako asyncio a ďalšie knižnice pomocou závislostí LangChain:

od langchain. agentov importovať initialize_agent , load_tools
importovať čas
importovať asyncio
od langchain. agentov importovať Typ agenta
od langchain. llms importovať OpenAI
od langchain. spätné volanie . stdout importovať StdOutCallbackHandler
od langchain. spätné volanie . značkovače importovať LangChainTracer
od aiohttp importovať ClientSession

Krok 4: Otázky týkajúce sa nastavenia

Nastavte súbor údajov o otázkach obsahujúci viacero dopytov súvisiacich s rôznymi doménami alebo témami, ktoré možno vyhľadávať na internete (Google):

otázky = [
'Kto je víťazom šampionátu US Open v roku 2021' ,
'Aký je vek priateľa Olivie Wilde?' ,
'Kto je víťazom titulu majstra sveta formuly 1?' ,
„Kto vyhral ženské finále US Open v roku 2021“ ,
'Kto je manžel Beyonce a aký je jeho vek?' ,
]

Metóda 1: Použitie sériového spustenia

Po dokončení všetkých krokov jednoducho spustite otázky, aby ste získali všetky odpovede pomocou sériového spustenia. Znamená to, že naraz sa vykoná/zobrazí jedna otázka a vráti sa aj úplný čas potrebný na vykonanie týchto otázok:

llm = OpenAI ( teplota = 0 )
nástrojov = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
agent = initialize_agent (
nástrojov , llm , agent = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , podrobný = Pravda
)
s = čas . perf_counter ( )
#configuring time counter na získanie času použitého na celý proces
pre q v otázky:
agent. behať ( q )
uplynulo = čas . perf_counter ( ) - s
#print celkový čas, ktorý agent použil na získanie odpovedí
vytlačiť ( f 'Sériové číslo bolo spustené za {elapsed:0,2f} sekúnd.' )

Výkon
Nasledujúca snímka obrazovky ukazuje, že každá otázka je zodpovedaná v samostatnom reťazci a po dokončení prvého reťazca sa aktivuje druhý reťazec. Sériové spustenie trvá dlhšie, kým získate všetky odpovede jednotlivo:

Metóda 2: Použitie súbežného spustenia

Metóda súbežného vykonávania berie všetky otázky a dostáva ich odpovede súčasne.

llm = OpenAI ( teplota = 0 )
nástrojov = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
#Konfigurácia agenta pomocou vyššie uvedených nástrojov na získanie odpovedí súčasne
agent = initialize_agent (
nástrojov , llm , agent = Typ agenta. ZERO_SHOT_REACT_DESCRIPTION , podrobný = Pravda
)
#configuring time counter na získanie času použitého na celý proces
s = čas . perf_counter ( )
úlohy = [ agent. choroba ( q ) pre q v otázky ]
čakať asyncio. zhromaždiť ( *úlohy )
uplynulo = čas . perf_counter ( ) - s
#print celkový čas, ktorý agent použil na získanie odpovedí
vytlačiť ( f 'Súbežné spustenie za {elapsed:0,2f} sekúnd' )

Výkon
Súbežné vykonávanie extrahuje všetky údaje súčasne a trvá oveľa menej času ako sériové vykonávanie:

To je všetko o používaní agenta Async API v LangChain.

Záver

Ak chcete použiť agenta Async API v LangChain, jednoducho nainštalujte moduly na importovanie knižníc z ich závislostí, aby ste získali knižnicu asyncio. Potom nastavte prostredia pomocou kľúčov OpenAI a Serper API prihlásením sa do ich príslušných účtov. Nakonfigurujte sadu otázok súvisiacich s rôznymi témami a spúšťajte reťazce sériovo a súbežne, aby ste získali čas ich vykonania. Táto príručka rozpracovala proces používania agenta Async API v LangChain.