Greitas kontūras
Šiame įraše yra šie skyriai:
- Kaip naudoti „Async API“ agentą „LangChain“.
- 1 būdas: serijinio vykdymo naudojimas
- 2 būdas: lygiagretaus vykdymo naudojimas
- Išvada
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:
iš langchain. agentai importuoti inicijuoti_agentą , load_toolsimportuoti laikas
importuoti asyncio
iš langchain. agentai importuoti Agento tipas
iš langchain. llms importuoti OpenAI
iš langchain. atgaliniai skambučiai . stdout importuoti StdOutCallbackHandler
iš langchain. atgaliniai skambučiai . pėdsakai importuoti LangChainTracer
iš 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.