Ātrā kontūra
Šis ieraksts demonstrēs:
- Kā ieviest ReAct loģiku, izmantojot aģentu LangChain
- Ietvaru instalēšana
- Valodas modeļa ielāde
- 1. metode: LandChain izteiksmes valodas izmantošana
- Celtniecības aģents
- 2. metode: ZeroShotReactAgent izmantošana
- 3. metode: tērzēšanas modeļu izmantošana
- Aģenta veidošana
- 4. metode: ChatZeroShotReactAgent izmantošana
- Secinājums
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 tuimports 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_toolsno 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_descriptionno 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ājsaģ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 ChatOpenAIIzveidojiet 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 ReActJsonSingleInputOutputParserVeidojiet 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.