Kā ieviest ReAct loģiku, izmantojot aģentu LangChain?

Ka Ieviest React Logiku Izmantojot Agentu Langchain



LangChain ir ietvars valodu modeļu un tērzēšanas robotu veidošanai, kas spēj saprast un ģenerēt tekstu cilvēku valodā. Modeļa veiktspēja balstās uz valodas izpratni un tās sarežģītību procesa apmācības posmā. Nākamais posms ir datu vai teksta ģenerēšana dabiskajā valodā, kas ir viegli lasāma un saprotama. Šīs fāzes tiek sauktas par ' Spriešana ' un ' Aktiermāksla ” attiecīgi Dabiskās valodas apstrādes domēnā.

Ātrā kontūra

Šis ieraksts demonstrēs:

Kā ieviest ReAct loģiku, izmantojot aģentu LangChain?

' ReAct ” ir iemesla un darbības fāzes kombinācija, lai uzlabotu valodas modeļa veiktspēju kā „ Re ” attiecas uz saprātu un „ tēlot ” uz darbību. ReAct loģika bieži tiek uzskatīta par visvairāk optimizēto, lai izveidotu LLM vai tērzēšanas robotus, lai saprastu un ģenerētu tekstu. Aģents ir lēmumu pieņēmējs, kurš izlemj, kuras darbības veikt un kādā secībā tās tiks veiktas.







Lai uzzinātu ReAct loģikas ieviešanas procesu, izmantojot aģentu programmā LangChain, vienkārši izlasiet šo rokasgrāmatu:



1. darbība: ietvaru instalēšana

Pirmkārt, instalējiet LangChain, lai sāktu ReAct loģikas ieviešanas procesu:



pip instalēt langchain





Instalējiet google-search-results moduli, lai iegūtu atkarības aģenta izveidei, kas var iegūt meklēšanas rezultātus no Google:

pip instalēt openai google-search-results



Pēc tam instalējiet OpenAI moduļus, kurus var izmantot, lai ielādētu lielo valodu modeļus vai LLM, lai ieviestu ReAct loģiku:

pip install openai

Pēc visu nepieciešamo moduļu iegūšanas vienkārši iestatiet OpenAI vide LLM celtniecībai un SerpAPI vide par aģenta izmantošanu modelī:

imports tu

imports getpass

tu . aptuveni [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API atslēga:' )

tu . aptuveni [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API atslēga:' )

2. darbība: valodas modeļa ielāde

Nākamais solis ir valodu modeļu ielāde, importējot vajadzīgās bibliotēkas, izmantojot LangChain ietvaru:

no langchain. aģenti imports load_tools

no langchain. aģenti imports inicializēt_aģents

no langchain. aģenti imports Aģenta veids

no langchain. llms imports OpenAI

Izmantojiet OpenAI() metodi, lai izveidotu valodas modeli (llm) un pēc tam konfigurētu aģentu rīkus, izmantojot SerpAPI:

llm = OpenAI ( temperatūra = 0 )

instrumenti = load_tools ( [ 'serpapi' , 'llm-math' ] , llm = llm )

1. metode: LandChain izteiksmes valodas izmantošana

LCEL ir ķēžu integrēšanas vai veidošanas process, vienlaikus veidojot valodas modeļus programmā LangChain. Sāciet procesu, instalējot LangChainHub, lai iegūtu tā atkarības, lai izveidotu un izmantotu ReAct loģiku ar aģentiem programmā LangChain:

pip instalēt langchainhub

Bibliotēku importēšana no LangChain, piemēram, ReActSingleInputOutputParser, lai izveidotu modeli, kas var izmantot ReAct modeli:

no langchain. instrumenti . renderēt imports render_text_description

no langchain. aģenti . izvades_parsers imports ReActSingleInputOutputParser

no langchain. aģenti . format_scratchpad imports format_log_to_str

no langchain imports centrs

Ielādējiet valodas modeli, lai izstrādātu ReAct loģiku, izmantojot metodi pull(), un saglabājiet to uzvednes mainīgajā. Definējiet dažus rīkus, kurus var izmantot, lai ieviestu ielādētās datu kopas loģiku, lai īstenotu tās darbu ar aģentu:

pamudināt = centrs. velciet ( 'hwchase17/react' )

pamudināt = pamudināt. daļēja (

instrumenti = render_text_description ( instrumenti ) ,

rīku_nosaukumi = ',' . pievienoties ( [ t. nosaukums priekš t iekšā instrumenti ] ) ,

)

Celtniecības aģents

Tagad konfigurējiet aģentu un tā rīkus, integrējot to valodas modelī, kas ielādēts šīs rokasgrāmatas 2. darbībā:

llm_with_stop = llm. saistīt ( stop = [ ' \n Novērojums' ] )

Definējiet aģenta mainīgo, lai nodrošinātu argumentus un rīkus aģenta konfigurēšanai, kas izskaidro tā darbību. Iepriekš konfigurētās daļas, piemēram, llm_with_stop un ReActSingleInputOutputParser() metode, tiek integrētas ar aģentu:

aģents = {

'ievade' : lambda x: x [ 'ievade' ] ,

'agent_scratchpad' : lambda x: format_log_to_str ( x [ 'intermediate_steps' ] )

} | uzvedne | llm_ar_stop | ReActSingleInputOutputParser ( )

Iegūstiet AgentExecutor bibliotēku un konfigurējiet tās metodi, izmantojot tādus argumentus kā aģents, rīki un detalizēti, lai iegūtu labāk lasāmu izvadi:

no langchain. aģenti imports Aģents Izpildītājs

aģents_izpildītājs = Aģents Izpildītājs ( aģents = aģents , instrumenti = instrumenti , runīgs = Taisnība )

Izsauciet metodi agent_executor() ar virknes vaicājumu kā ievadi, kas liks aģentam izvilkt izvadi:

aģents_izpildītājs. piesaukt ( { 'ievade' : 'Kas ir Leo Di Kaprio draudzene' } )

Izvade

Šis ekrānuzņēmums parāda, ka aģents ir izvilcis informāciju, izmantojot ReAct loģiku, un ģenerējis tekstu dabiskā valodā:

2. metode: ZeroShotReactAgent izmantošana

ReAct loģiku var ieviest arī, izmantojot citu aģentu, piemēram, ZeroShotReactAgent, vienlaikus konfigurējot mainīgo aģents_izpildītājs. Pēc tam vienkārši izsauciet mainīgo agent_executor ar jautājumu kā ievadi, lai izsauktu aģentu:

aģents_izpildītājs = inicializēt_aģents ( instrumenti , llm , aģents = Aģenta veids. ZERO_SHOT_REACT_DESCRIPTION , runīgs = Taisnība )

aģents_izpildītājs. piesaukt ( { 'ievade' : 'Kāds ir Leo DiCaprio draudzenes vecums, kas palielināts līdz 0,21 jaudu' } )

Izvade

Aģents ir izvilcis informāciju, pamatojoties uz ievadīto informāciju, kas tika pieprasīta, izsaucot aģenta_izpildītājs:

3. metode: tērzēšanas modeļu izmantošana

Vēl viens process, ko var izmantot, lai ieviestu ReAct loģiku, izmantojot tērzēšanas modeļus pēc ChatOpenAI bibliotēkas importēšanas:

no langchain. tērzēšanas_modeļi imports ChatOpenAI

Izveidojiet tērzēšanas modeli, izmantojot ChatOpenAI() metodi ar temperatūras vērtību, kas vienāda ar 0, kas var kontrolēt modeļa rezultātu nejaušību:

tērzēšanas_modelis = ChatOpenAI ( temperatūra = 0 )

Ielādējiet modeli, kurā lietotājs var ieviest ReAct loģiku, lai to saglabātu uzvednes mainīgajā un konfigurētu procesā izmantojamos rīkus:

pamudināt = centrs. velciet ( 'hwchase17/react-json' )

pamudināt = pamudināt. daļēja (

instrumenti = render_text_description ( instrumenti ) ,

rīku_nosaukumi = ',' . pievienoties ( [ t. nosaukums priekš t iekšā instrumenti ] ) ,

)

Aģenta veidošana

Izmantojiet tērzēšanas modeli, lai saglabātu novērojumus vai jaunākos ziņojumus, kad modelis pārtrauc teksta ģenerēšanu:

chat_model_with_stop = tērzēšanas_modelis. saistīt ( stop = [ ' \n Novērojums' ] )

Iegūstiet ReActJsonSingleInputOutputParser bibliotēku, lai ieviestu ReAct loģiku un iegūtu rezultātus JSON formātā:

no langchain. aģenti . izvades_parsers imports ReActJsonSingleInputOutputParser

Veidojiet un konfigurējiet aģentu, izmantojot mainīgo chat_model un metodi, lai iegūtu rezultātus, izsaucot aģentu:

aģents = {

'ievade' : lambda x: x [ 'ievade' ] ,

'agent_scratchpad' : lambda x: format_log_to_str ( x [ 'intermediate_steps' ] )

} | uzvedne | chat_model_with_stop | ReActJsonSingleInputOutputParser ( )

Konfigurējiet aģents_executor un palaidiet to, lai iegūtu rezultātus, pamatojoties uz ievades mainīgajā sniegto vaicājumu:

aģents_izpildītājs = Aģents Izpildītājs ( aģents = aģents , instrumenti = instrumenti , runīgs = Taisnība )

aģents_izpildītājs. piesaukt ( { 'ievade' : 'Kāds ir Leo DiCaprio draudzenes vecums, kas palielināts līdz 0,21 jaudu' } )

Izvade

Aģents ir izvilcis izvadi, kā parādīts šajā ekrānuzņēmumā:

4. metode: ChatZeroShotReactAgent izmantošana

Aģenta vērtības maiņu var izmantot arī, lai ieviestu ReAct loģiku ar LangChain ietvaru:

aģents = inicializēt_aģents ( instrumenti , tērzēšanas_modelis , aģents = Aģenta veids. CHAT_ZERO_SHOT_REACT_DESCRIPTION , runīgs = Taisnība )

aģents. palaist ( 'Kāds ir Leo DiCaprio draudzenes vecums, kas palielināts līdz 0,21 jaudu' )

Izvade

Izvades struktūra satur detalizētu informāciju par aģenta darbību no marķieriem un modeļa, ko izmanto informācijas iegūšanai:

Tas viss attiecas uz ReAct loģikas ieviešanas procesu, izmantojot aģentu LangChain.

Secinājums

Lai ieviestu ReAct loģiku ar aģentu, izmantojot LangChain ietvaru, aģenta konfigurēšanai instalējiet tādus moduļus kā google-search-results. Pēc tam iestatiet vidi, izmantojot OpenAI un SerpAPI akreditācijas datus no saviem kontiem, lai sāktu izmantot modeli. ReAct loģiku var ieviest, izmantojot LCEL un tērzēšanas modeļus ar vairākiem aģentiem, ko piedāvā LangChain modulis. Šajā rokasgrāmatā ir aprakstīta ReAct loģikas ieviešana, izmantojot aģentu programmā LangChain.