Kuinka käyttää Async API -agenttia LangChainissa?

Kuinka Kayttaa Async Api Agenttia Langchainissa



LangChain on kehys, joka sisältää kaikki riippuvuudet kielimallin tai chat-mallien rakentamiseen luonnollisella kielellä. Malli käyttää tekoälyä näiden mallien kouluttamiseen, jotta he voivat ymmärtää ihmisten kysymyksiä. Chat-mallit koulutetaan käyttämällä kehotemallia, jotta he saavat chat-liittymän rakenteen sisäänrakennetuilla tai mukautetuilla malleilla.

Quick Outline

Tämä viesti sisältää seuraavat osat:

Kuinka käyttää Async API -agenttia LangChainissa?

Chat-mallit suorittavat useita tehtäviä samanaikaisesti, kuten kehotteen rakenteen ymmärtäminen, sen monimutkaisuus, tiedon poimiminen ja paljon muuta. Async API -agentin käyttäminen LangChainissa antaa käyttäjälle mahdollisuuden rakentaa tehokkaita chat-malleja, jotka voivat vastata useisiin kysymyksiin kerralla. Jos haluat oppia käyttämään Async API -agenttia LangChainissa, seuraa tätä opasta:





Vaihe 1: Kehysten asentaminen

Ensinnäkin asenna LangChain-kehys saadaksesi sen riippuvuudet Python-paketinhallinnasta:



pip asennus langchain



Asenna sen jälkeen OpenAI-moduuli rakentaaksesi kielimallin, kuten llm, ja aseta sen ympäristö:





pip install openai

Vaihe 2: OpenAI-ympäristö

Seuraava vaihe moduulien asennuksen jälkeen on ympäristön perustaminen käyttämällä OpenAI:n API-avainta ja Serper API etsiä tietoja Googlesta:



tuonti sinä
tuonti getpass

sinä . suunnilleen [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
sinä . suunnilleen [ 'SERPER_API_KEY' ] = getpass . getpass ( 'Serper API Key:' )

Vaihe 3: Kirjastojen tuonti

Nyt kun ympäristö on asetettu, tuo tarvittavat kirjastot, kuten asyncio ja muut kirjastot LangChain-riippuvuuksien avulla:

alkaen langchain. agentit tuonti alustusagentti , load_tools
tuonti aika
tuonti asyncio
alkaen langchain. agentit tuonti AgentType
alkaen langchain. llms tuonti OpenAI
alkaen langchain. takaisinsoittoja . stdout tuonti StdOutCallbackHandler
alkaen langchain. takaisinsoittoja . merkkiaineet tuonti LangChainTracer
alkaen aiohttp tuonti ClientSession

Vaihe 4: Asennuskysymykset

Aseta kysymystietojoukko, joka sisältää useita kyselyitä, jotka liittyvät eri verkkotunnuksiin tai aiheisiin, joita voidaan etsiä Internetistä (Google):

kysymyksiä = [
'Kuka on US Openin voittaja vuonna 2021' ,
'Minkä ikäinen Olivia Wilden poikaystävä on' ,
'Kuka on formula 1:n maailmanmestaruuden voittaja' ,
'Kuka voitti US Openin naisten finaalin vuonna 2021' ,
'Kuka on Beyoncen aviomies ja minkä ikäinen hän on' ,
]

Tapa 1: Sarjasuorituksen käyttäminen

Kun kaikki vaiheet on suoritettu, suorita kysymykset saadaksesi kaikki vastaukset sarjasuorituksella. Se tarkoittaa, että yksi kysymys suoritetaan/näytetään kerrallaan ja palauttaa myös koko ajan, joka kuluu näiden kysymysten suorittamiseen:

llm = OpenAI ( lämpötila = 0 )
työkaluja = load_tools ( [ 'google-otsikko' , 'llm-math' ] , llm = llm )
agentti = alustusagentti (
työkaluja , llm , agentti = AgentType. ZERO_SHOT_REACT_DESCRIPTION , monisanainen = Totta
)
s = aika . perf_counter ( )
#aikalaskurin konfigurointi saadaksesi koko prosessiin käytetyn ajan
varten q sisään kysymyksiä:
agentti. juosta ( q )
kulunut = aika . perf_counter ( ) - s
#tulosta agentin vastausten saamiseen käyttämä kokonaisaika
Tulosta ( f 'Sarjasarja suoritettiin {elapsed:0.2f} sekunnissa.' )

Lähtö
Seuraava kuvakaappaus näyttää, että jokaiseen kysymykseen vastataan erillisessä ketjussa ja kun ensimmäinen ketju on valmis, toinen ketju aktivoituu. Sarjasuoritus vie enemmän aikaa saada kaikki vastaukset yksitellen:

Tapa 2: Samanaikaisen suorituksen käyttäminen

Samanaikainen suoritustapa ottaa kaikki kysymykset ja saa niihin vastaukset samanaikaisesti.

llm = OpenAI ( lämpötila = 0 )
työkaluja = load_tools ( [ 'google-otsikko' , 'llm-math' ] , llm = llm )
#Agentin määrittäminen yllä olevien työkalujen avulla saadaksesi vastauksia samanaikaisesti
agentti = alustusagentti (
työkaluja , llm , agentti = AgentType. ZERO_SHOT_REACT_DESCRIPTION , monisanainen = Totta
)
#aikalaskurin konfigurointi saadaksesi koko prosessiin käytetyn ajan
s = aika . perf_counter ( )
tehtäviä = [ agentti. sairaus ( q ) varten q sisään kysymyksiä ]
odota asyncioa. kerätä ( *tehtävät )
kulunut = aika . perf_counter ( ) - s
#tulosta agentin vastausten saamiseen käyttämä kokonaisaika
Tulosta ( f 'Samanaikainen suoritettu {elapsed:0.2f} sekunnissa' )

Lähtö
Samanaikainen suoritus poimii kaikki tiedot samanaikaisesti ja vie paljon vähemmän aikaa kuin sarjasuoritus:

Siinä on kyse Async API -agentin käytöstä LangChainissa.

Johtopäätös

Jos haluat käyttää Async API -agenttia LangChainissa, asenna moduulit kirjastojen tuomiseksi riippuvuuksistaan ​​asyncio-kirjaston saamiseksi. Tämän jälkeen määritä ympäristöt OpenAI- ja Serper API-avaimilla kirjautumalla sisään vastaaville tileilleen. Määritä eri aiheisiin liittyvien kysymysten joukko ja suorita ketjut sarjassa ja samanaikaisesti saadaksesi niiden suoritusajan. Tässä oppaassa on käsitelty Async API -agentin käyttöprosessia LangChainissa.