Kaip naudoti „Async API“ agentą „LangChain“?

Kaip Naudoti Async Api Agenta Langchain



„LangChain“ yra sistema, kurioje yra visos kalbos modelio ar pokalbių modelių kūrimo natūralia kalba priklausomybės. Modelis naudoja dirbtinį intelektą šiems modeliams treniruoti, kad jie galėtų suprasti žmonių klausimus. Pokalbių modeliai mokomi naudojant raginimo šabloną, kad gautų pokalbių sąsajos struktūrą naudojant įtaisytuosius arba pritaikytus šablonus.

Greitas kontūras

Šiame įraše yra šie skyriai:

Kaip naudoti „Async API“ agentą „LangChain“?

Pokalbių modeliai vienu metu atlieka kelias užduotis, pvz., suprasti raginimo struktūrą, jo sudėtingumą, išgauti informaciją ir daug daugiau. Async API agento naudojimas LangChain leidžia vartotojui sukurti efektyvius pokalbių modelius, kurie vienu metu gali atsakyti į kelis klausimus. Norėdami sužinoti, kaip naudoti Async API agentą LangChain, tiesiog vadovaukitės šiuo vadovu:







1 veiksmas: „Frameworks“ diegimas

Pirmiausia įdiekite „LangChain“ sistemą, kad gautumėte jos priklausomybes iš „Python“ paketų tvarkyklės:



pip įdiegti langchain



Po to įdiekite OpenAI modulį, kad sukurtumėte kalbos modelį, pvz., llm, ir nustatytumėte jo aplinką:





pip install openai

2 veiksmas: OpenAI aplinka

Kitas žingsnis po modulių įdiegimo yra sutvarkyti aplinką naudojant OpenAI API raktą ir Serper API norėdami ieškoti duomenų iš Google:



importuoti tu
importuoti gauti pasą

tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( 'OpenAI API raktas:' )
tu . maždaug [ „SERPER_API_KEY“ ] = gauti pasą . gauti pasą ( „Serper API raktas“: )

3 veiksmas: bibliotekų importavimas

Dabar, kai aplinka nustatyta, tiesiog importuokite reikiamas bibliotekas, pvz., asyncio ir kitas bibliotekas, naudodami LangChain priklausomybes:

langchain. agentai importuoti inicijuoti_agentą , load_tools
importuoti laikas
importuoti asyncio
langchain. agentai importuoti Agento tipas
langchain. llms importuoti OpenAI
langchain. atgaliniai skambučiai . stdout importuoti StdOutCallbackHandler
langchain. atgaliniai skambučiai . pėdsakai importuoti LangChainTracer
aiohttp importuoti ClientSession

4 veiksmas: sąrankos klausimai

Nustatykite klausimų duomenų rinkinį, kuriame yra kelios užklausos, susijusios su skirtingais domenais arba temomis, kurių galima ieškoti internete („Google“):

klausimus = [
„Kas yra 2021 m. atvirojo JAV čempionato nugalėtojas? ,
'Kokio amžiaus Olivijos Vaild vaikinas' ,
„Kas yra „Formulės 1“ pasaulio čempiono titulo laimėtojas? ,
„Kas laimėjo US Open moterų finalą 2021 m.“ ,
'Kas yra Beyonce vyras ir koks jo amžius' ,
]

1 būdas: serijinio vykdymo naudojimas

Atlikę visus veiksmus, tiesiog vykdykite klausimus, kad gautumėte visus atsakymus naudodami serijinį vykdymą. Tai reiškia, kad vienu metu bus vykdomas / rodomas vienas klausimas, taip pat grąžinamas visas laikas, kurio reikia šiems klausimams įvykdyti:

llm = OpenAI ( temperatūros = 0 )
įrankiai = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
agentas = inicijuoti_agentą (
įrankiai , llm , agentas = Agento tipas. ZERO_SHOT_REACT_DESCRIPTION , žodinis = Tiesa
)
s = laikas . perf_skaitiklis ( )
#laiko skaitiklio konfigūravimas, kad būtų nustatytas visam procesui sunaudotas laikas
dėl q in klausimai:
agentas. paleisti ( q )
praėjo = laikas . perf_skaitiklis ( ) - s
#atspausdinkite visą laiką, kurį agentas sunaudojo atsakymams gauti
spausdinti ( f 'Serialas įvykdytas per {elapsed:0.2f} sek.' )

Išvestis
Toliau pateiktoje ekrano kopijoje rodoma, kad į kiekvieną klausimą atsakoma atskiroje grandinėje, o kai pirmoji grandinė baigiama, antroji grandinė tampa aktyvi. Serijinis vykdymas užtrunka daugiau laiko, kad gautumėte visus atsakymus atskirai:

2 būdas: lygiagretaus vykdymo naudojimas

Lygiagretus vykdymo metodas sprendžia visus klausimus ir gauna atsakymus į juos vienu metu.

llm = OpenAI ( temperatūros = 0 )
įrankiai = load_tools ( [ 'google-header' , 'llm-math' ] , llm = llm )
#Agento konfigūravimas naudojant anksčiau nurodytus įrankius, kad vienu metu gautumėte atsakymus
agentas = inicijuoti_agentą (
įrankiai , llm , agentas = Agento tipas. ZERO_SHOT_REACT_DESCRIPTION , žodinis = Tiesa
)
#laiko skaitiklio konfigūravimas, kad būtų nustatytas visam procesui sunaudotas laikas
s = laikas . perf_skaitiklis ( )
užduotys = [ agentas. liga ( q ) dėl q in klausimus ]
laukti asyncio. rinkti ( *užduotys )
praėjo = laikas . perf_skaitiklis ( ) - s
#atspausdinkite visą laiką, kurį agentas sunaudojo atsakymams gauti
spausdinti ( f „Tuo pat metu vykdoma per {elapsed:0.2f} sekundes“ )

Išvestis
Vykdant vienu metu, visi duomenys ištraukiami tuo pačiu metu ir užtrunka mažiau laiko nei serijinis vykdymas:

Tai viskas apie „Async“ API agento naudojimą „LangChain“.

Išvada

Norėdami naudoti „Async“ API agentą „LangChain“, tiesiog įdiekite modulius, kad importuotumėte bibliotekas iš jų priklausomybių, kad gautumėte asyncio biblioteką. Po to nustatykite aplinkas naudodami OpenAI ir Serper API raktus, prisijungdami prie atitinkamų paskyrų. Sukonfigūruokite klausimų, susijusių su skirtingomis temomis, rinkinį ir vykdykite grandines nuosekliai ir vienu metu, kad gautumėte jų vykdymo laiką. Šiame vadove išsamiai aprašomas Async API agento naudojimo LangChain procesas.