Kuidas rakendada eneseküsimist otsinguahelaga?

Kuidas Rakendada Enesekusimist Otsinguahelaga



LangChain on moodul keelemudelite ja vestlusrobotite loomiseks, mis suudavad mõista ja eraldada teksti loomulikus keeles. Loomulikud keeled on inimestele kergesti arusaadavad, kuid masinad peavad neid andmeid korduvalt läbides õppima. Loomulikes keeltes olevaid andmeid/dokumente saab kasutada mudeli treenimiseks ja seejärel mudeli toimivuse kontrollimiseks andmetest viipasid küsida.

Kiire ülevaade

See postitus näitab järgmist:







Kuidas rakendada eneseküsimist otsinguahelaga



Järeldus



Kuidas rakendada eneseküsimist otsinguahelaga?

Self-Ask on protsess aheldamise protsessi täiustamiseks, kuna see mõistab käske põhjalikult. Ketid mõistavad küsimust, eraldades andmekogumist andmed kõigi oluliste terminite kohta. Kui mudel on koolitatud ja päringust aru saanud, genereerib see vastuse kasutaja küsitud päringule.





LangChaini otsingukettidega eneseküsimise juurutamise protsessi tundmaõppimiseks lugege lihtsalt läbi järgmine juhend:

1. samm: raamistike installimine

Kõigepealt käivitage protsess, installides LangChaini protsessi järgmise koodi abil ja hankige kõik protsessi sõltuvused:



pip install langchain

Pärast LangChaini installimist installige ' google-otsingu tulemused ', et saada OpenAI keskkonda kasutades Google'i otsingutulemusi:

pip install openai google-search-results

2. samm: ehituskeskkond

Kui moodulid ja raamistikud on installitud, seadistage keskkond OpenAI ja SerpAPi kasutades oma API-sid, kasutades järgmist koodi. Importige nende vastavatelt kontodelt OS-i ja getpassi teegid, mida saab kasutada API-võtmete sisestamiseks.

importida sina
importida saada pass

sina . umbes [ 'OPENAI_API_KEY' ] = saada pass . saada pass ( 'OpenAI API võti:' )
sina . umbes [ 'SERPAPI_API_KEY' ] = saada pass . saada pass ( 'Serpapi API võti:' )

3. samm: teekide importimine

Pärast keskkonna seadistamist importige lihtsalt vajalikud teegid LangChaini sõltuvustest, nagu utiliidid, agendid, llm ja muud:

alates langchain. llms importida OpenAI

alates langchain. kommunaalteenused importida SerpAPIWrapper

alates langchain. agendid . väljund_parserid importida SelfAskOutputParser

alates langchain. agendid . format_scratchpad importida format_log_to_str

alates langchain importida jaotur

alates langchain. agendid importida initsialiseeri_agent , Tööriist

alates langchain. agendid importida Agendi tüüp

4. samm: keelemudelite loomine

Ülaltoodud teekide hankimine on vajalik kogu protsessi vältel, kuna keelemudeli konfigureerimiseks kasutatakse OpenAI()-d. Kasutage meetodit SerpAPIWrapper(), et konfigureerida otsingumuutuja ja määrata agendile kõigi ülesannete täitmiseks vajalikud tööriistad.

llm = OpenAI ( temperatuuri = 0 )
otsing = SerpAPIWrapper ( )
tööriistad = [
Tööriist (
nimi = 'Vahepealne vastus' ,
func = otsing. jooksma ,
kirjeldus = 'kasulik, kui peate otsinguga küsima' ,
)
]

5. samm: LangChaini väljenduskeele kasutamine

Agendi konfigureerimise alustamiseks LangChain Expression Language (LCEL) abil, laadides mudeli viipamuutujas:

viip = jaotur. tõmba ( 'hwchase17/self-ask-with-Search' )

Määratlege veel üks muutuja, mida saab käivitada, et peatada teksti genereerimine ja kontrollida vastuste pikkust:

llm_with_stop = llm. siduda ( peatus = [ ' \n Vahevastus:' ] )

Nüüd konfigureerige agendid Lambda abil, mis on sündmustepõhine serverita platvorm, et luua küsimustele vastused. Samuti konfigureerige mudeli koolitamiseks ja testimiseks vajalikud sammud, et saada optimeeritud tulemused, kasutades varem konfigureeritud komponente.

agent = {
'sisend' : lambda x: x [ 'sisend' ] ,
'agent_scratchpad' : lambda x: formaat_logi_str (
x [ 'intermediate_steps' ] ,
vaatlus_eesliide = ' \n Vahevastus: ' ,
llm_prefiks = '' ,
) ,
} | viipa | llm_peatusega | SelfAskOutputParser ( )

6. samm: Agent Executori konfigureerimine

Enne meetodi testimist importige lihtsalt AgentExecutori teek LangChainist, et agent reageeriks:

alates langchain. agendid importida Agent Executor

Määratlege muutuja agent_executor, kutsudes välja meetodi AgentExecutor() ja kasutades selle argumentidena komponente:

agent_täitja = Agent Executor ( agent = agent , tööriistad = tööriistad , paljusõnaline = Tõsi )

7. samm: agendi käivitamine

Kui agenditäitja on konfigureeritud, testige seda lihtsalt, sisestades sisendmuutujas küsimuse/viipa:

agent_täitja. kutsuda ( { 'sisend' : 'Kes on meeste US Openi meister?' } )

Ülaltoodud koodi täitmine on vastanud väljundis US Open Championi nimega, st Dominic Thiem:

8. samm: eneseküsimise agendi kasutamine

Pärast agendilt vastuse saamist kasutage SELF_ASK_WITH_SEARCH agent päringuga meetodis run():

ise_küsi_otsinguga = initsialiseeri_agent (
tööriistad , llm , agent = Agendi tüüp. SELF_ASK_WITH_SEARCH , paljusõnaline = Tõsi
)
ise_küsi_otsinguga. jooksma (
'Mis on USA lahtiste maailmameistri Dominic Thiemi kodulinn'
)

Järgmisel ekraanipildil on näha, et eneseküsimise agent ekstraheerib andmestikust teabe iga olulise termini kohta. Kui see päringu kohta kogu teabe kogub ja küsimustest aru saab, genereerib see lihtsalt vastuse. Agendi enda esitatud küsimused on järgmised:

  • Kes on Dominic Thiem?
  • Mis on Dominic Thiemi kodulinn?

Pärast nendele küsimustele vastuste saamist on agent loonud vastuse algsele küsimusele, mis on ' Wiener Neustadt, Austria ”:

See kõik puudutab eneseküsimise juurutamist otsinguahelaga, kasutades LangChaini raamistikku.

Järeldus

Eneseküsimise rakendamiseks koos otsinguga LangChainis installige lihtsalt vajalikud moodulid (nt google-search-results), et saada agendilt tulemused. Pärast seda seadistage protsessiga alustamiseks keskkond OpenAI ja SerpAPi kontode API võtmete abil. Konfigureerige agent ja looge mudel iseküsimise mudeliga, et testida seda meetodi AgentExecutor() abil.