Kā ieviest pašjautājumu meklēšanas ķēdē?

Ka Ieviest Pasjautajumu Meklesanas Kede



LangChain ir valodas modeļu un tērzēšanas robotu veidošanas modulis, kas var saprast un izvilkt tekstu dabiskā valodā. Dabiskās valodas cilvēkiem ir viegli saprotamas, taču mašīnām tās ir jāapgūst, atkārtoti izpētot datus. Datus/dokumentus dabiskajās valodās var izmantot, lai apmācītu modeli un pēc tam lūgt uzvednes no datiem, lai pārbaudītu modeļa veiktspēju.

Ātrā kontūra

Šī ziņa parādīs sekojošo:







Kā ieviest pašjautājumu, izmantojot meklēšanas ķēdi



Secinājums



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 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:' )

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 OpenAI

no 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ājs

Definē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.