Quick Outline
Tämä viesti osoittaa seuraavaa:
Kuinka ottaa käyttöön Self Ask with Search Chain
- Kehysten asentaminen
- Rakennusympäristö
- Kirjastojen tuonti
- Kielimallien rakentaminen
- LangChain Expression Language -kielen käyttö
- Agent Executorin määrittäminen
- Agentin pyörittäminen
- Self-Ask Agentin käyttäminen
Kuinka toteuttaa Self Ask hakuketjussa?
Self-Ask on prosessi, jolla parannetaan ketjutusprosessia, koska se ymmärtää komennot perusteellisesti. Ketjut ymmärtävät kysymyksen poimimalla tietojoukosta tiedot kaikista tärkeistä termeistä. Kun malli on koulutettu ja ymmärtää kyselyn, se luo vastauksen käyttäjän kysymään kyselyyn.
Jos haluat oppia itsekyselyn käyttöönottoprosessin LangChainin hakuketjuissa, käy läpi seuraava opas:
Vaihe 1: Kehysten asentaminen
Ensinnäkin aloita prosessi asentamalla LangChain-prosessi seuraavalla koodilla ja hanki kaikki prosessin riippuvuudet:
pip asennus langchain
LangChainin asennuksen jälkeen asenna ' google-hakutulokset ' saadaksesi hakutulokset Googlelta OpenAI-ympäristön avulla:
pip install openai google-search-results
Vaihe 2: Rakennusympäristö
Kun moduulit ja puitteet on asennettu, määritä ympäristö OpenAI ja SerpAPi käyttämällä sovellusliittymiään seuraavan koodin avulla. Tuo käyttöjärjestelmä- ja getpass-kirjastot, joita voidaan käyttää API-avainten syöttämiseen vastaavilta tileiltä:
tuonti sinätuonti getpass
sinä . suunnilleen [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
sinä . suunnilleen [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Serpapi API Key:' )
Vaihe 3: Kirjastojen tuonti
Kun olet määrittänyt ympäristön, tuo tarvittavat kirjastot LangChain-riippuvuudesta, kuten apuohjelmat, agentit, llm ja muut:
alkaen langchain. llms tuonti OpenAIalkaen langchain. apuohjelmia tuonti SerpAPIWrapper
alkaen langchain. agentit . output_parsers tuonti SelfAskOutputParser
alkaen langchain. agentit . format_scratchpad tuonti format_log_to_str
alkaen langchain tuonti keskitin
alkaen langchain. agentit tuonti alustusagentti , Työkalu
alkaen langchain. agentit tuonti AgentType
Vaihe 4: Luo kielimalleja
Yllä olevien kirjastojen hankkiminen vaaditaan koko prosessin ajan, koska OpenAI():ta käytetään kielimallin määrittämiseen. Käytä SerpAPIWrapper()-menetelmää hakumuuttujan määrittämiseen ja työkalujen asettamiseen, joita agentti tarvitsee suorittamaan kaikki tehtävät:
llm = OpenAI ( lämpötila = 0 )Hae = SerpAPIWrapper ( )
työkaluja = [
Työkalu (
nimi = 'Välivastaus' ,
func = Hae. juosta ,
kuvaus = 'hyödyllinen, kun haluat kysyä haun yhteydessä' ,
)
]
Vaihe 5: LangChain Expression Language -kielen käyttäminen
Aloita agentin määrittäminen LangChain Expression Language (LCEL) -kielellä lataamalla malli kehotemuuttujaan:
kehote = keskitin. Vedä ( 'hwchase17/self-ask-ja-haku' )Määrittele toinen muuttuja, joka voidaan suorittaa lopettamaan tekstin tuottaminen ja hallitsemaan vastausten pituutta:
llm_with_stop = llm. sitoa ( lopettaa = [ ' \n Välivastaus:' ] )Määritä nyt agentit käyttämällä Lambdaa, joka on tapahtumaohjattu palvelimeton alusta luomaan vastaukset kysymyksiin. Määritä myös vaiheet, joita tarvitaan mallin kouluttamiseen ja testaamiseen, jotta saat optimoidut tulokset käyttämällä aiemmin määritettyjä komponentteja:
agentti = {'syöttö' : lambda x: x [ 'syöttö' ] ,
'agent_scratchpad' : lambda x: muoto_loki_jonoon (
x [ 'intermediate_steps' ] ,
havainto-etuliite = ' \n Välivastaus: ' ,
llm_etuliite = '' ,
) ,
} | kehota | llm_with_stop | SelfAskOutputParser ( )
Vaihe 6: Agent Executorin määrittäminen
Ennen kuin testaat menetelmää, tuo AgentExecutor-kirjasto LangChainista saadaksesi agentin reagoimaan:
alkaen langchain. agentit tuonti AgentExecutorMääritä agent_executor-muuttuja kutsumalla AgentExecutor()-metodia ja käyttämällä komponentteja sen argumentteina:
agentti_executor = AgentExecutor ( agentti = agentti , työkaluja = työkaluja , monisanainen = Totta )Vaihe 7: Suorita agentti
Kun agenttisuorittaja on määritetty, testaa sitä antamalla kysymys/kehote syöttömuuttujaan:
agentti_executor. vedota ( { 'syöttö' : 'Kuka on miesten US Openin mestari' } )Yllä olevan koodin suorittaminen on vastannut US Open Championin nimellä, eli Dominic Thiem:
Vaihe 8: Self-Ask Agentin käyttäminen
Kun olet saanut vastauksen edustajalta, käytä SELF_ASK_WITH_SEARCH agentti kyselyllä run()-menetelmässä:
itse_kysy_haun kanssa = alustusagentti (työkaluja , llm , agentti = AgentType. SELF_ASK_WITH_SEARCH , monisanainen = Totta
)
itse_kysy_haun kanssa. juosta (
'Mikä on US Openin maailmanmestarin Dominic Thiemin kotikaupunki'
)
Seuraavassa kuvakaappauksessa näkyy, että itse kysyvä agentti poimii tiedot jokaisesta tärkeästä termistä tietojoukosta. Kun se kerää kaikki tiedot kyselystä ja ymmärtää kysymykset, se yksinkertaisesti luo vastauksen. Agentin itse esittämät kysymykset ovat:
- Kuka on Dominic Thiem?
- Mikä on Dominic Thiemin kotikaupunki?
Saatuaan vastaukset näihin kysymyksiin agentti on luonut vastauksen alkuperäiseen kysymykseen, joka on ' Wiener Neustadt, Itävalta ”:
Siinä on kaikki kysymys itsekyselyn toteuttamisesta hakuketjussa LangChain-kehyksen avulla.
Johtopäätös
Jos haluat toteuttaa itsekyselyn haun kanssa LangChainissa, asenna tarvittavat moduulit, kuten google-search-results, saadaksesi tulokset agentilta. Tämän jälkeen aloita prosessi määrittämällä ympäristö käyttämällä OpenAI- ja SerpAPi-tilien API-avaimia. Määritä agentti ja rakenna malli itsekyselymallilla testataksesi sitä AgentExecutor()-menetelmällä.