Kako uvesti samospraševanje z iskalno verigo?

Kako Uvesti Samosprasevanje Z Iskalno Verigo



LangChain je modul za gradnjo jezikovnih modelov in klepetalnih robotov, ki lahko razumejo in ekstrahirajo besedilo v naravnem jeziku. Naravni jeziki so ljudem zlahka razumljivi, vendar se jih morajo stroji naučiti z večkratnim pregledovanjem podatkov. Podatke/dokumente v naravnih jezikih je mogoče uporabiti za usposabljanje modela in nato zahtevati pozive iz podatkov za preverjanje delovanja modela.

Hitri oris

Ta objava bo pokazala naslednje:







Kako uvesti samospraševanje z iskalno verigo



Zaključek



Kako uvesti samospraševanje z iskalno verigo?

Self-Ask je postopek za izboljšanje procesa veriženja, saj natančno razume ukaze. Verige razumejo vprašanje tako, da iz nabora podatkov izvlečejo podatke o vseh pomembnih izrazih. Ko je model izurjen in razume poizvedbo, ustvari odgovor na poizvedbo, ki jo postavi uporabnik.





Če se želite naučiti postopka izvajanja samospraševanja z iskalnimi verigami v LangChainu, preprosto preglejte ta vodnik:

1. korak: Namestitev ogrodij

Najprej začnite postopek z namestitvijo procesa LangChain z naslednjo kodo in pridobite vse odvisnosti za postopek:



pip namestite langchain

Po namestitvi LangChaina namestite » google-rezultati iskanja ”, da dobite rezultate iskanja od Googla z uporabo okolja OpenAI:

pip namestite openai google-search-results

2. korak: Gradnja okolja

Ko so moduli in ogrodja nameščeni, nastavite okolje za OpenAI in SerpAPi z uporabo njihovih API-jev z naslednjo kodo. Uvozite knjižnici os in getpass, ki ju je mogoče uporabiti za vnos ključev API iz ustreznih računov:

uvoz ti
uvoz getpass

ti . približno [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Ključ API OpenAI:' )
ti . približno [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Ključ API Serpapi:' )

3. korak: Uvoz knjižnic

Ko nastavite okolje, preprosto uvozite zahtevane knjižnice iz odvisnosti LangChain, kot so pripomočki, agenti, llm in druge:

od Langchain. llms uvoz OpenAI

od Langchain. pripomočki uvoz SerpAPIWrapper

od Langchain. zastopniki . izhodni_razčlenjevalniki uvoz SelfAskOutputParser

od Langchain. zastopniki . format_scratchpad uvoz format_log_to_str

od Langchain uvoz vozlišče

od Langchain. zastopniki uvoz inicializiraj_agent , Orodje

od Langchain. zastopniki uvoz AgentType

4. korak: Gradnja jezikovnih modelov

Pridobivanje zgornjih knjižnic je potrebno v celotnem procesu, saj se OpenAI() uporablja za konfiguracijo jezikovnega modela. Uporabite metodo SerpAPIWrapper(), da konfigurirate iskalno spremenljivko in nastavite orodja, ki jih agent potrebuje za izvajanje vseh nalog:

llm = OpenAI ( temperaturo = 0 )
Iskanje = SerpAPIWrapper ( )
orodja = [
Orodje (
ime = 'Vmesni odgovor' ,
funk = Iskanje. teči ,
opis = 'uporabno, ko morate vprašati z iskanjem' ,
)
]

5. korak: Uporaba izraznega jezika LangChain

Začetek konfiguracije agenta z uporabo jezika LangChain Expression Language (LCEL) z nalaganjem modela v spremenljivko poziva:

poziv = vozlišče. potegni ( 'hwchase17/self-ask-with-search' )

Definirajte drugo spremenljivko, ki jo je mogoče izvesti, da ustavite generiranje besedila in nadzorujete dolžino odgovorov:

llm_with_stop = llm. vezati ( stop = [ ' \n Vmesni odgovor:' ] )

Zdaj konfigurirajte agente z uporabo Lambda, ki je brezstrežniška platforma, ki temelji na dogodkih, za ustvarjanje odgovorov na vprašanja. Prav tako konfigurirajte korake, potrebne za usposabljanje in testiranje modela, da dobite optimizirane rezultate z uporabo komponent, konfiguriranih prej:

agent = {
'vnos' : lambda x: x [ 'vnos' ] ,
'agent_scratchpad' : lambda x: format_log_to_str (
x [ 'vmesni_koraki' ] ,
predpona_opazovanja = ' \n Vmesni odgovor: ' ,
llm_predpona = '' ,
) ,
} | hitro | llm_z_ustavitvijo | SelfAskOutputParser ( )

6. korak: Konfiguracija Agent Executor

Preden preskusite metodo, preprosto uvozite knjižnico AgentExecutor iz LangChaina, da bo agent odziven:

od Langchain. zastopniki uvoz AgentExecutor

Definirajte spremenljivko agent_executor tako, da pokličete metodo AgentExecutor() in uporabite komponente kot njene argumente:

agent_izvršitelj = AgentExecutor ( agent = agent , orodja = orodja , verbose = Prav )

7. korak: Zagon agenta

Ko je izvajalec agenta konfiguriran, ga preprosto preizkusite tako, da vnesete vprašanje/poziv v vhodni spremenljivki:

agent_izvršitelj. priklicati ( { 'vnos' : 'Kdo je prvak OP ZDA za moške' } )

Izvajanje zgornje kode se je odzvalo z imenom prvaka US Open v izhodu, tj. Dominic Thiem:

8. korak: Uporaba agenta Self-Ask

Ko dobite odgovor od agenta, uporabite SELF_ASK_WITH_SEARCH agent s poizvedbo v metodi run():

self_ask_with_search = inicializiraj_agent (
orodja , llm , agent = AgentType. SELF_ASK_WITH_SEARCH , verbose = Prav
)
self_ask_with_search. teči (
'Katero je domače mesto Dominica Thiema, svetovnega prvaka US Open'
)

Naslednji posnetek zaslona prikazuje, da agent za samospraševanje iz nabora podatkov izvleče informacije o vsakem pomembnem izrazu. Ko zbere vse informacije o poizvedbi in razume vprašanja, preprosto ustvari odgovor. Vprašanja, ki si jih zastavlja agent, so:

  • Kdo je Dominic Thiem?
  • Katero je rojstno mesto Dominica Thiema?

Po prejemu odgovorov na ta vprašanja je agent ustvaril odgovor na prvotno vprašanje, ki je ' Wiener Neustadt, Avstrija ”:

To je vse o procesu izvajanja samospraševanja z iskalno verigo z uporabo ogrodja LangChain.

Zaključek

Če želite implementirati samospraševanje z iskanjem v LangChain, preprosto namestite zahtevane module, kot je google-search-results, da dobite rezultate od posrednika. Nato nastavite okolje s ključi API iz računov OpenAI in SerpAPi, da začnete s postopkom. Konfigurirajte agenta in zgradite model z modelom samospraševanja, da ga preizkusite z metodo AgentExecutor().