Greitas kontūras
Šis įrašas parodys šiuos dalykus:
Kaip įdiegti savarankišką paklausimą naudojant paieškos grandinę
- Frameworkų diegimas
- Pastato aplinka
- Bibliotekų importavimas
- Kalbos modelių kūrimas
- LangChain išraiškos kalbos naudojimas
- Agento vykdytojo konfigūravimas
- Agento vykdymas
- „Self-Ask Agent“ naudojimas
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 tuimportuoti 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ų:
iš langchain. llms importuoti OpenAIiš langchain. Komunalinės paslaugos importuoti SerpAPIWrapper
iš langchain. agentai . išvesties_analizatoriai importuoti SelfAskOutputParser
iš langchain. agentai . format_scratchpad importuoti format_log_to_str
iš langchain importuoti centras
iš langchain. agentai importuoti inicijuoti_agentą , Įrankis
iš 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ų:
iš langchain. agentai importuoti Agentas VykdytojasApibrėž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().