Ātrā kontūra
Šī ziņa parādīs sekojošo:
Kā ieviest pašjautājumu, izmantojot meklēšanas ķēdi
- Ietvaru instalēšana
- Ēkas vide
- Bibliotēku importēšana
- Valodu modeļu veidošana
- Izmantojot LangChain izteiksmes valodu
- Aģenta izpildītāja konfigurēšana
- Aģenta vadīšana
- Izmantojot Self-Ask Agent
Kā ieviest pašjautājumu meklēšanas ķēdē?
Self-Ask ir process, lai uzlabotu ķēdes procesu, jo tas pilnībā izprot komandas. Ķēdes izprot jautājumu, no datu kopas iegūstot datus par visiem svarīgajiem terminiem. Kad modelis ir apmācīts un saprot vaicājumu, tas ģenerē atbildi uz lietotāja uzdoto vaicājumu.
Lai uzzinātu pašjautājuma ieviešanas procesu, izmantojot LangChain meklēšanas ķēdes, vienkārši izlasiet šo rokasgrāmatu:
1. darbība: ietvaru instalēšana
Vispirms sāciet procesu, instalējot LangChain procesu, izmantojot šādu kodu, un iegūstiet visas procesa atkarības:
pip instalēt langchain
Pēc LangChain instalēšanas instalējiet ' google-search-results ”, lai iegūtu meklēšanas rezultātus no Google, izmantojot OpenAI vidi:
pip instalēt openai google-search-results
2. darbība. Ēkas vide
Kad moduļi un ietvari ir instalēti, iestatiet vidi OpenAI un SerpAPi izmantojot savas API, izmantojot šādu kodu. Importējiet OS un getpass bibliotēkas, ko var izmantot, lai ievadītu API atslēgas no attiecīgajiem kontiem:
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:' )
3. darbība. Bibliotēku importēšana
Pēc vides iestatīšanas vienkārši importējiet vajadzīgās bibliotēkas no LangChain atkarībām, piemēram, utilītprogrammām, aģentiem, llm un citām:
no langchain. llms imports OpenAIno langchain. komunālie pakalpojumi imports SerpAPIWrapper
no langchain. aģenti . izvades_parsers imports SelfAskOutputParser
no langchain. aģenti . format_scratchpad imports format_log_to_str
no langchain imports centrs
no langchain. aģenti imports inicializēt_aģents , Rīks
no langchain. aģenti imports Aģenta veids
4. darbība. Valodu modeļu izveide
Iepriekš minēto bibliotēku iegūšana ir nepieciešama visā procesā, jo valodas modeļa konfigurēšanai tiek izmantots OpenAI(). Izmantojiet metodi SerpAPIWrapper(), lai konfigurētu meklēšanas mainīgo un iestatītu rīkus, kas nepieciešami aģentam visu uzdevumu veikšanai:
llm = OpenAI ( temperatūra = 0 )Meklēt = SerpAPIWrapper ( )
instrumenti = [
Rīks (
nosaukums = 'Starpposma atbilde' ,
func = Meklēt. palaist ,
apraksts = 'noder, ja jums ir jājautā ar meklēšanu' ,
)
]
5. darbība. LangChain izteiksmes valodas izmantošana
Darba sākšana ar aģenta konfigurēšanu, izmantojot LangChain izteiksmes valodu (LCEL), ielādējot modeli uzvednes mainīgajā:
pamudināt = centrs. velciet ( 'hwchase17/self-sk-ar-search' )Definējiet citu mainīgo, ko var izpildīt, lai apturētu teksta ģenerēšanu un kontrolētu atbilžu garumu:
llm_with_stop = llm. saistīt ( stop = [ ' \n Starpatbilde:' ] )Tagad konfigurējiet aģentus, izmantojot Lambda, kas ir uz notikumiem balstīta bezservera platforma, lai ģenerētu atbildes uz jautājumiem. Tāpat konfigurējiet darbības, kas nepieciešamas, lai apmācītu un pārbaudītu modeli, lai iegūtu optimizētus rezultātus, izmantojot iepriekš konfigurētos komponentus:
aģents = {'ievade' : lambda x: x [ 'ievade' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
x [ 'intermediate_steps' ] ,
novērošanas_prefikss = ' \n Starpatbilde: ' ,
llm_prefikss = '' ,
) ,
} | uzvedne | llm_ar_stop | SelfAskOutputParser ( )
6. darbība: Agent Executor konfigurēšana
Pirms metodes testēšanas vienkārši importējiet AgentExecutor bibliotēku no LangChain, lai aģents reaģētu:
no langchain. aģenti imports Aģents IzpildītājsDefinējiet mainīgo agent_executor, izsaucot metodi AgentExecutor() un kā argumentus izmantojot komponentus:
aģents_izpildītājs = Aģents Izpildītājs ( aģents = aģents , instrumenti = instrumenti , runīgs = Taisnība )7. darbība. Aģenta palaišana
Kad aģenta izpildītājs ir konfigurēts, vienkārši pārbaudiet to, ievades mainīgajā ievadot jautājumu/uzvedni:
aģents_izpildītājs. piesaukt ( { 'ievade' : 'Kas ir vīriešu US Open čempions' } )Iepriekš minētā koda izpilde ir atbildējusi ar US Open čempiona vārdu izvadā, t.i., Dominiks Tīms:
8. darbība. Pašjautājuma aģenta izmantošana
Kad esat saņēmis atbildi no aģenta, izmantojiet SELF_ASK_WITH_SEARCH aģents ar vaicājumu run() metodē:
self_sk_ar_search = inicializēt_aģents (instrumenti , llm , aģents = Aģenta veids. SELF_ASK_WITH_SEARCH , runīgs = Taisnība
)
self_sk_ar_search. palaist (
'Kāda ir ASV atklātā čempionāta pasaules čempiona Dominika Tiema dzimtā pilsēta'
)
Nākamajā ekrānuzņēmumā ir redzams, ka pašjautāšanas aģents no datu kopas iegūst informāciju par katru svarīgo terminu. Kad tas apkopo visu informāciju par vaicājumu un saprot jautājumus, tas vienkārši ģenerē atbildi. Aģenta paša uzdotie jautājumi ir:
- Kas ir Dominiks Tīms?
- Kura ir Dominika Tiema dzimtā pilsēta?
Pēc atbilžu saņemšanas uz šiem jautājumiem aģents ir ģenerējis atbildi uz sākotnējo jautājumu, kas ir ' Vīnerneištate, Austrija ”:
Tas viss attiecas uz pašjautājuma ieviešanas procesu, izmantojot meklēšanas ķēdi, izmantojot LangChain ietvaru.
Secinājums
Lai ieviestu pašjautājumu ar meklēšanu programmā LangChain, vienkārši instalējiet nepieciešamos moduļus, piemēram, google-search-results, lai iegūtu rezultātus no aģenta. Pēc tam iestatiet vidi, izmantojot API atslēgas no OpenAI un SerpAPi kontiem, lai sāktu procesu. Konfigurējiet aģentu un izveidojiet modeli ar pašjautājuma modeli, lai to pārbaudītu, izmantojot AgentExecutor() metodi.