Cum să utilizați un agent API Async în LangChain?

Cum Sa Utilizati Un Agent Api Async In Langchain



LangChain este cadrul care conține toate dependențele pentru construirea modelului de limbaj sau a modelelor de chat în limbaj natural. Modelul folosește inteligența artificială pentru antrenarea acestor modele, astfel încât să poată înțelege întrebările de la oameni. Modelele de chat sunt antrenate folosind șablonul prompt pentru a obține structura interfeței de chat folosind șabloane încorporate sau personalizate.

Schiță rapidă

Această postare conține următoarele secțiuni:

Cum să utilizați un agent API Async în LangChain?

Modelele de chat efectuează mai multe sarcini simultan, cum ar fi înțelegerea structurii promptului, complexitățile sale, extragerea de informații și multe altele. Utilizarea agentului API Async în LangChain permite utilizatorului să construiască modele de chat eficiente care pot răspunde la mai multe întrebări simultan. Pentru a afla procesul de utilizare a agentului API Async în LangChain, pur și simplu urmați acest ghid:







Pasul 1: Instalarea cadrelor

Mai întâi de toate, instalați cadrul LangChain pentru a obține dependențele sale de la managerul de pachete Python:



pip install langchain



După aceea, instalați modulul OpenAI pentru a construi modelul de limbă precum llm și a seta mediul acestuia:





pip install openai

Pasul 2: Mediul OpenAI

Următorul pas după instalarea modulelor este stabilirea mediului folosind cheia API a OpenAI și Serper API pentru a căuta date de la Google:



import tu
import getpass

tu . aproximativ [ „OPENAI_API_KEY” ] = getpass . getpass ( „Cheie API OpenAI:” )
tu . aproximativ [ „SERPER_API_KEY” ] = getpass . getpass ( „Cheia API Serper:” )

Pasul 3: Importarea bibliotecilor

Acum că mediul este setat, pur și simplu importați bibliotecile necesare, cum ar fi asyncio și alte biblioteci folosind dependențele LangChain:

din langchain. agenţi import initialize_agent , load_tools
import timp
import asincron
din langchain. agenţi import AgentType
din langchain. llms import OpenAI
din langchain. apeluri inverse . stdout import StdOutCallbackHandler
din langchain. apeluri inverse . trasoare import LangChainTracer
din aiohttp import ClientSession

Pasul 4: Configurați întrebări

Setați un set de date de întrebări care să conțină mai multe interogări legate de diferite domenii sau subiecte care pot fi căutate pe internet (Google):

întrebări = [
„Cine este câștigătorul campionatului U.S. Open în 2021” ,
„Care este vârsta iubitului Oliviei Wilde” ,
„Cine este câștigătorul titlului mondial de Formula 1” ,
„Cine a câștigat finala feminină de la US Open în 2021” ,
„Cine este soțul lui Beyonce și ce vârstă are” ,
]

Metoda 1: Utilizarea execuției în serie

Odată ce toți pașii sunt finalizați, pur și simplu executați întrebările pentru a obține toate răspunsurile folosind execuția în serie. Înseamnă că o întrebare va fi executată/afișată la un moment dat și, de asemenea, va returna timpul complet necesar pentru a executa aceste întrebări:

llm = OpenAI ( temperatura = 0 )
unelte = load_tools ( [ 'google-header' , 'llm-matematica' ] , llm = llm )
agent = initialize_agent (
unelte , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , verboroasă = Adevărat
)
s = timp . perf_counter ( )
#configurarea contorului de timp pentru a obține timpul folosit pentru întregul proces
pentru q în întrebări:
agent. alerga ( q )
scurs = timp . perf_counter ( ) - s
#printați timpul total folosit de agent pentru obținerea răspunsurilor
imprimare ( f „Serial executat în {elapsed:0.2f} secunde.” )

Ieșire
Următoarea captură de ecran arată că fiecare întrebare primește răspuns într-un lanț separat și odată ce primul lanț este terminat, al doilea lanț devine activ. Execuția în serie necesită mai mult timp pentru a obține toate răspunsurile individual:

Metoda 2: Utilizarea execuției simultane

Metoda de execuție simultană preia toate întrebările și primește răspunsurile lor simultan.

llm = OpenAI ( temperatura = 0 )
unelte = load_tools ( [ 'google-header' , 'llm-matematica' ] , llm = llm )
#Configurarea agentului folosind instrumentele de mai sus pentru a obține răspunsuri simultan
agent = initialize_agent (
unelte , llm , agent = AgentType. ZERO_SHOT_REACT_DESCRIPTION , verboroasă = Adevărat
)
#configurarea contorului de timp pentru a obține timpul folosit pentru întregul proces
s = timp . perf_counter ( )
sarcini = [ agent. boala ( q ) pentru q în întrebări ]
asteapta asincronia. aduna ( *sarcini )
scurs = timp . perf_counter ( ) - s
#printați timpul total folosit de agent pentru obținerea răspunsurilor
imprimare ( f „Executat simultan în {elapsed:0.2f} secunde” )

Ieșire
Execuția simultană extrage toate datele în același timp și durează mult mai puțin decât execuția în serie:

Acesta este totul despre utilizarea agentului API Async în LangChain.

Concluzie

Pentru a utiliza agentul API Async în LangChain, instalați pur și simplu modulele pentru a importa bibliotecile din dependențele lor pentru a obține biblioteca asincronă. După aceea, configurați mediile folosind cheile API OpenAI și Serper, conectându-vă la conturile respective. Configurați setul de întrebări legate de diferite subiecte și executați lanțurile în serie și concomitent pentru a obține timpul de execuție a acestora. Acest ghid a elaborat procesul de utilizare a agentului API Async în LangChain.