Kaip įdiegti savęs paklausimą naudojant paieškos grandinę?

Kaip Idiegti Saves Paklausima Naudojant Paieskos Grandine



„LangChain“ yra kalbos modelių ir pokalbių robotų, kurie gali suprasti ir išgauti tekstą natūralia kalba, kūrimo modulis. Natūralios kalbos yra lengvai suprantamos žmonėms, tačiau mašinos turi išmokti jas pakartotinai peržiūrėdamos duomenis. Duomenys / dokumentai natūraliomis kalbomis gali būti naudojami modeliui mokyti ir tada paprašyti duomenų raginimų patikrinti modelio veikimą.

Greitas kontūras

Šis įrašas parodys šiuos dalykus:







Kaip įdiegti savarankišką paklausimą naudojant paieškos grandinę



Išvada



Kaip įdiegti savęs paklausimą naudojant paieškos grandinę?

„Self-Ask“ yra procesas, skirtas pagerinti grandinės procesą, nes jis puikiai supranta komandas. Grandinės supranta klausimą iš duomenų rinkinio ištraukdamos duomenis apie visus svarbius terminus. Kai modelis yra išmokytas ir supranta užklausą, jis generuoja atsakymą į vartotojo užklausą.





Norėdami sužinoti savęs klausimo su LangChain paieškos grandinėmis diegimo procesą, tiesiog peržiūrėkite šį vadovą:

1 veiksmas: „Frameworks“ diegimas

Pirmiausia pradėkite procesą įdiegdami „LangChain“ procesą naudodami šį kodą ir gaukite visas proceso priklausomybes:



pip įdiegti langchain

Įdiegę „LangChain“, įdiekite „ google-paieškos rezultatai “ norėdami gauti paieškos rezultatus iš „Google“ naudodami OpenAI aplinką:

pip įdiegti openai google-search-results

2 veiksmas: pastato aplinka

Įdiegę modulius ir sistemas, nustatykite aplinką OpenAI ir SerpAPi naudodami savo API naudodami šį kodą. Importuokite OS ir getpass bibliotekas, kurias galima naudoti API raktams įvesti iš atitinkamų paskyrų:

importuoti tu
importuoti gauti pasą

tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( 'OpenAI API raktas:' )
tu . maždaug [ 'SERPAPI_API_KEY' ] = gauti pasą . gauti pasą ( 'Serpapi API raktas:' )

3 veiksmas: bibliotekų importavimas

Nustatę aplinką, tiesiog importuokite reikiamas bibliotekas iš LangChain priklausomybių, pvz., paslaugų, agentų, llm ir kitų:

langchain. llms importuoti OpenAI

langchain. Komunalinės paslaugos importuoti SerpAPIWrapper

langchain. agentai . išvesties_analizatoriai importuoti SelfAskOutputParser

langchain. agentai . format_scratchpad importuoti format_log_to_str

langchain importuoti centras

langchain. agentai importuoti inicijuoti_agentą , Įrankis

langchain. agentai importuoti Agento tipas

4 veiksmas: kalbų modelių kūrimas

Aukščiau nurodytas bibliotekas reikia gauti viso proceso metu, nes kalbos modeliui konfigūruoti naudojamas OpenAI(). Naudokite SerpAPIWrapper() metodą, kad sukonfigūruotumėte paieškos kintamąjį ir nustatytumėte įrankius, reikalingus agentui atlikti visas užduotis:

llm = OpenAI ( temperatūros = 0 )
Paieška = SerpAPIWrapper ( )
įrankiai = [
Įrankis (
vardas = „Tarpinis atsakymas“ ,
func = Paieška. paleisti ,
apibūdinimas = 'naudinga, kai reikia paklausti ieškant' ,
)
]

5 veiksmas: „LangChain“ išraiškos kalbos naudojimas

Agento konfigūravimo pradžia naudojant „LangChain Expression Language“ (LCEL) įkeliant modelį į raginimo kintamąjį:

paraginti = centras. traukti ( 'hwchase17/self-ask-su-search' )

Apibrėžkite kitą kintamąjį, kurį galima vykdyti norint sustabdyti teksto generavimą ir valdyti atsakymų ilgį:

llm_with_stop = llm. įpareigoti ( sustabdyti = [ \n Tarpinis atsakymas:' ] )

Dabar sukonfigūruokite agentus naudodami Lambda, kuri yra įvykiais pagrįsta be serverio platforma, kad sugeneruotumėte atsakymus į klausimus. Be to, sukonfigūruokite veiksmus, reikalingus modeliui išmokyti ir išbandyti, kad gautumėte optimizuotus rezultatus naudodami anksčiau sukonfigūruotus komponentus:

agentas = {
'įvestis' : lambda x: x [ 'įvestis' ] ,
„agent_scratchpad“ : lambda x: format_log_to_str (
x [ „tarpiniai_žingsniai“ ] ,
stebėjimo_priešdėlis = \n Tarpinis atsakymas: ' ,
llm_prefix = '' ,
) ,
} | paraginti | llm_with_stop | SelfAskOutputParser ( )

6 veiksmas: Agent Executor konfigūravimas

Prieš išbandydami metodą, tiesiog importuokite AgentExecutor biblioteką iš LangChain, kad agentas reaguotų:

langchain. agentai importuoti Agentas Vykdytojas

Apibrėžkite agent_executor kintamąjį iškviesdami metodą AgentExecutor() ir naudodami komponentus kaip jo argumentus:

agentas_vykdytojas = Agentas Vykdytojas ( agentas = agentas , įrankiai = įrankiai , žodinis = Tiesa )

7 veiksmas: paleiskite agentą

Kai agento vykdytojas yra sukonfigūruotas, tiesiog išbandykite jį įvesties kintamajame pateikdami klausimą / raginimą:

agentas_vykdytojas. prisišaukti ( { 'įvestis' : „Kas yra „US Open“ vyrų čempionas? } )

Vykdant aukščiau pateiktą kodą, išvestyje buvo nurodytas US Open čempiono vardas, ty Dominicas Thiemas:

8 veiksmas: „Self-Ask Agent“ naudojimas

Gavę atsakymą iš agento, naudokite SELF_ASK_WITH_SEARCH agentas su užklausa run() metodu:

savęs_paklausti_su_paieška = inicijuoti_agentą (
įrankiai , llm , agentas = Agento tipas. SELF_ASK_WITH_SEARCH , žodinis = Tiesa
)
savęs_paklausti_su_paieška. paleisti (
„Kas yra Dominic Thiem, US Open pasaulio čempiono, gimtasis miestas?
)

Toliau pateiktoje ekrano kopijoje rodoma, kad savęs klausimo agentas iš duomenų rinkinio ištraukia informaciją apie kiekvieną svarbų terminą. Surinkusi visą informaciją apie užklausą ir supratusi klausimus, ji tiesiog sugeneruoja atsakymą. Agento sau užduodami klausimai yra šie:

  • Kas yra Dominicas Thiemas?
  • Koks yra Dominiko Thiemo gimtasis miestas?

Gavęs atsakymus į šiuos klausimus, agentas sugeneravo atsakymą į pradinį klausimą, kuris yra „ Wiener Neustadt, Austrija “:

Tai viskas apie savęs klausimo su paieškos grandine, naudojant „LangChain“ sistemą, diegimo procesą.

Išvada

Norėdami įdiegti savarankišką užklausą su paieška „LangChain“, tiesiog įdiekite reikiamus modulius, pvz., „google-search-results“, kad gautumėte rezultatus iš agento. Po to nustatykite aplinką naudodami API raktus iš OpenAI ir SerpAPi paskyrų, kad pradėtumėte procesą. Sukonfigūruokite agentą ir sukurkite modelį naudodami savęs klausimo modelį, kad išbandytumėte jį naudodami metodą AgentExecutor().