Kiire ülevaade
See postitus näitab järgmist:
Kuidas rakendada eneseküsimist otsinguahelaga
- Raamistiku installimine
- Ehituskeskkond
- Teekide importimine
- Keelemudelite loomine
- LangChaini väljenduskeele kasutamine
- Agent Executori konfigureerimine
- Agendi juhtimine
- Self-Ask Agenti kasutamine
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 sinaimportida 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 OpenAIalates 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 ExecutorMää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.