Hvordan bruke en Async API Agent i LangChain?

Hvordan Bruke En Async Api Agent I Langchain



LangChain er rammeverket som inneholder alle avhengighetene for å bygge språkmodellen eller chattemodeller på naturlig språk. Modellen bruker kunstig intelligens for å trene disse modellene slik at de kan forstå spørsmålene fra mennesker. Chat-modellene trenes opp ved hjelp av ledetekstmalen for å få strukturen til chat-grensesnittet ved hjelp av innebygde maler eller tilpassede.

Rask oversikt

Dette innlegget inneholder følgende seksjoner:

Hvordan bruke en Async API Agent i LangChain?

Chat-modeller utfører flere oppgaver samtidig som å forstå strukturen til ledeteksten, dens kompleksitet, trekke ut informasjon og mye mer. Ved å bruke Async API-agenten i LangChain kan brukeren bygge effektive chattemodeller som kan svare på flere spørsmål om gangen. For å lære prosessen med å bruke Async API-agenten i LangChain, følg ganske enkelt denne veiledningen:







Trinn 1: Installere Frameworks

Først av alt, installer LangChain-rammeverket for å få avhengighetene fra Python-pakkebehandleren:



pip installer langkjede



Etter det, installer OpenAI-modulen for å bygge språkmodellen som llm og angi miljøet:





pip installer openai

Trinn 2: OpenAI-miljø

Neste trinn etter installasjon av moduler er sette opp miljøet ved å bruke OpenAIs API-nøkkel og Serper API for å søke etter data fra Google:



import du
import få pass

du . omtrent [ 'OPENAI_API_KEY' ] = få pass . få pass ( 'OpenAI API Key:' )
du . omtrent [ 'SERPER_API_KEY' ] = få pass . få pass ( 'Serper API Key:' )

Trinn 3: Importere biblioteker

Nå som miljøet er satt, importerer du bare de nødvendige bibliotekene som asyncio og andre biblioteker ved å bruke LangChain-avhengighetene:

fra langkjede. agenter import initialize_agent , load_tools
import tid
import asyncio
fra langkjede. agenter import AgentType
fra langkjede. llms import OpenAI
fra langkjede. tilbakeringinger . standout import StdOutCallbackHandler
fra langkjede. tilbakeringinger . sporstoffer import LangChainTracer
fra aiohttp import ClientSession

Trinn 4: Oppsettspørsmål

Angi et spørsmålsdatasett som inneholder flere søk relatert til forskjellige domener eller emner som kan søkes på internett (Google):

spørsmål = [
'Hvem er vinneren av U.S. Open-mesterskapet i 2021' ,
'Hva er alderen til Olivia Wildes kjæreste' ,
'Hvem er vinneren av formel 1-verdenstittelen' ,
'Hvem vant US Open kvinners finale i 2021' ,
'Hvem er Beyonces mann og hva er hans alder' ,
]

Metode 1: Bruk av seriell kjøring

Når alle trinnene er fullført, kjør bare spørsmålene for å få alle svarene ved hjelp av seriekjøringen. Det betyr at ett spørsmål vil bli utført/vises om gangen og også returnere hele tiden det tar å utføre disse spørsmålene:

llm = OpenAI ( temperatur = 0 )
verktøy = load_tools ( [ 'google-header' , 'llm-matte' ] , llm = llm )
middel = initialize_agent (
verktøy , llm , middel = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ordrik = ekte
)
s = tid . perf_counter ( )
#configuring time counter for å få tiden brukt til hele prosessen
til q i spørsmål:
middel. løpe ( q )
gått = tid . perf_counter ( ) - s
#skriv ut den totale tiden agenten brukte for å få svarene
skrive ut ( f 'Serial utført på {elapsed:0.2f} sekunder.' )

Produksjon
Følgende skjermbilde viser at hvert spørsmål besvares i en separat kjede, og når den første kjeden er ferdig, blir den andre kjeden aktiv. Seriekjøringen tar mer tid å få alle svarene individuelt:

Metode 2: Bruke samtidig utførelse

Metoden for samtidig utførelse tar alle spørsmålene og får svarene deres samtidig.

llm = OpenAI ( temperatur = 0 )
verktøy = load_tools ( [ 'google-header' , 'llm-matte' ] , llm = llm )
#Konfigurere agent ved å bruke verktøyene ovenfor for å få svar samtidig
middel = initialize_agent (
verktøy , llm , middel = AgentType. ZERO_SHOT_REACT_DESCRIPTION , ordrik = ekte
)
#configuring time counter for å få tiden brukt til hele prosessen
s = tid . perf_counter ( )
oppgaver = [ middel. sykdom ( q ) til q i spørsmål ]
venter på asyncio. samle ( *oppgaver )
gått = tid . perf_counter ( ) - s
#skriv ut den totale tiden agenten brukte for å få svarene
skrive ut ( f 'Samtidig utført på {elapsed:0.2f} sekunder' )

Produksjon
Den samtidige kjøringen trekker ut alle dataene samtidig og tar mye kortere tid enn den serielle kjøringen:

Det handler om å bruke Async API-agenten i LangChain.

Konklusjon

For å bruke Async API-agenten i LangChain, installer ganske enkelt modulene for å importere bibliotekene fra deres avhengigheter for å få asyncio-biblioteket. Deretter setter du opp miljøene ved å bruke OpenAI- og Serper API-nøkler ved å logge på deres respektive kontoer. Konfigurer settet med spørsmål knyttet til forskjellige emner og utfør kjedene serielt og samtidig for å få utførelsestiden. Denne veiledningen har utdypet prosessen med å bruke Async API-agenten i LangChain.