Kuinka toteuttaa Self Ask hakuketjussa?

Kuinka Toteuttaa Self Ask Hakuketjussa



LangChain on moduuli kielimallien ja chatbottien rakentamiseen, jotka ymmärtävät ja poimivat tekstiä luonnollisella kielellä. Luonnolliset kielet ovat ihmisten helposti ymmärrettäviä, mutta koneiden on opittava ne käymällä dataa toistuvasti läpi. Luonnollisilla kielillä olevia tietoja/asiakirjoja voidaan käyttää mallin kouluttamiseen ja sitten pyytää tiedoista saatuja kehotteita mallin suorituskyvyn tarkistamiseksi.

Quick Outline

Tämä viesti osoittaa seuraavaa:







Kuinka ottaa käyttöön Self Ask with Search Chain



Johtopäätös



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 OpenAI

alkaen 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 AgentExecutor

Mää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ä.