Kaip naudoti objekto atmintį „LangChain“?

Kaip Naudoti Objekto Atminti Langchain



„LangChain“ yra modulis, leidžiantis kurti modelius, galinčius apdoroti natūralias kalbas, kurios yra kalbos, kurias žmonės naudoja bendravimui. LangChain yra visi reikalingi moduliai ir priklausomybės, kuriuos galima naudoti kuriant didelius kalbos modelius arba pokalbių robotus. Šiuos modelius reikia išmokyti išmokti natūralios kalbos, kad būtų galima generuoti tekstus pagal vartotojo pateiktas užklausas.

Šis vadovas parodys objektų atminties naudojimo procesą „LangChain“.

Kaip naudoti objekto atmintį „LangChain“?

Objektas naudojamas atmintyje saugomiems pagrindiniams faktams išsaugoti, kad juos būtų galima išgauti, kai to paprašys žmogus, naudodamas užklausas / raginimus. Norėdami sužinoti objekto atminties naudojimo LangChain procesą, tiesiog apsilankykite šiame vadove:







1 veiksmas: įdiekite modulius

Pirmiausia įdiekite „LangChain“ modulį naudodami komandą pip, kad gautumėte jo priklausomybes:



pip įdiegti langchain



Po to įdiekite OpenAI modulį, kad gautumėte jo bibliotekas, skirtas kurti LLM ir pokalbių modelius:





pip install openai

Nustatykite OpenAI aplinką naudojant API raktą, kurį galima išgauti iš OpenAI paskyros:



importuoti tu

importuoti gauti pasą

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

2 veiksmas: objekto atminties naudojimas

Norėdami naudoti objekto atmintį, importuokite reikiamas bibliotekas, kad sukurtumėte LLM naudodami OpenAI() metodą:

langchain. llms importuoti OpenAI

langchain. atmintis importuoti ConversationEntityMemory

llm = OpenAI ( temperatūros = 0 )

Po to apibrėžkite atmintis kintamąjį naudodami ConversationEntityMemory() metodą, kad išmokytumėte modelį naudojant įvesties ir išvesties kintamuosius:

atmintis = ConversationEntityMemory ( llm = llm )

_įvestis = { 'įvestis' : „Joe are Root vykdė projektą“ }

atmintis. apkrovos_atminties_kintamieji ( _įvestis )

atmintis. save_context (

_įvestis ,

{ 'išvestis' : 'Puiku! Koks tai projektas?' }

)

Dabar patikrinkite atmintį naudodami užklausą / raginimą įvestis kintamasis, iškviesdamas load_memory_variables() metodą:

atmintis. apkrovos_atminties_kintamieji ( { 'įvestis' : 'kas yra šaknis' } )

Dabar pateikite daugiau informacijos, kad modelis galėtų į atmintį įtraukti dar keletą objektų:

atmintis = ConversationEntityMemory ( llm = llm , return_messages = Tiesa )

_įvestis = { 'įvestis' : „Joe are Root vykdė projektą“ }

atmintis. apkrovos_atminties_kintamieji ( _įvestis )

atmintis. save_context (

_įvestis ,

{ 'išvestis' : 'Puiku! Koks tai projektas' }

)

Vykdykite šį kodą, kad gautumėte išvestį naudodami atmintyje saugomus objektus. Tai įmanoma per įvestis kuriame yra raginimas:

atmintis. apkrovos_atminties_kintamieji ( { 'įvestis' : 'kas tas Džo' } )

3 veiksmas: objekto atminties naudojimas grandinėje

Norėdami naudoti objekto atmintį sukūrę grandinę, tiesiog importuokite reikiamas bibliotekas naudodami šį kodų bloką:

langchain. grandines importuoti Pokalbių grandinė

langchain. atmintis importuoti ConversationEntityMemory

langchain. atmintis . paraginti importuoti ENTITY_MEMORY_CONVERSATION_TEMPLATE

pydantiškas importuoti Bazinis modelis

spausdinant importuoti Sąrašas , Dikt , Bet koks

Sukurkite pokalbio modelį naudodami ConversationChain() metodą, naudodami tokius argumentus kaip llm:

pokalbį = Pokalbių grandinė (

llm = llm ,

žodinis = Tiesa ,

paraginti = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

atmintis = ConversationEntityMemory ( llm = llm )

)

Iškvieskite dialogo.predict() metodą, kai įvestis inicijuojama raginimu arba užklausa:

pokalbį. numatyti ( įvestis = „Joe are Root vykdė projektą“ )

Dabar gaukite atskirą kiekvieno objekto išvestį, aprašantį informaciją apie jį:

pokalbį. atmintis . entity_store . parduotuvė

Naudokite modelio išvestį, kad pateiktumėte įvestį, kad modelis galėtų saugoti daugiau informacijos apie šiuos objektus:

pokalbį. numatyti ( įvestis = 'Jie bando pridėti sudėtingesnių atminties struktūrų prie Langchain' )

Pateikę informaciją, kuri saugoma atmintyje, tiesiog užduokite klausimą, kad ištrauktumėte konkrečią informaciją apie objektus:

pokalbį. numatyti ( įvestis = „Ką tu žinai apie Džo ir šaknį? )

4 veiksmas: patikrinkite atminties saugyklą

Vartotojas gali tiesiogiai apžiūrėti atminties saugyklas, kad gautų jose saugomą informaciją, naudodamas šį kodą:

spausdinti importuoti spausdinti

spausdinti ( pokalbį. atmintis . entity_store . parduotuvė )

Pateikite daugiau informacijos, kuri bus saugoma atmintyje, nes daugiau informacijos suteikia tikslesnius rezultatus:

pokalbį. numatyti ( įvestis = „Root įkūrė verslą pavadinimu HJRS“ )

Pridėję daugiau informacijos apie objektus, ištraukite informaciją iš atminties saugyklos:

spausdinti importuoti spausdinti

spausdinti ( pokalbį. atmintis . entity_store . parduotuvė )

Atmintyje yra informacijos apie kelis objektus, tokius kaip HJRS, Joe, LangChain ir Root:

Dabar ištraukite informaciją apie konkretų objektą naudodami įvesties kintamajame apibrėžtą užklausą arba raginimą:

pokalbį. numatyti ( įvestis = 'Ką tu žinai apie Root' )

Tai viskas apie objekto atminties naudojimą naudojant „LangChain“ sistemą.

Išvada

Jei norite naudoti objekto atmintį „LangChain“, tiesiog įdiekite reikiamus modulius, kad importuotumėte bibliotekas, reikalingas modeliams kurti, nustačius OpenAI aplinką. Po to sukurkite LLM modelį ir išsaugokite objektus atmintyje, pateikdami informaciją apie objektus. Vartotojas taip pat gali išgauti informaciją naudodamas šiuos objektus ir kurti šias atmintis grandinėse su maišoma informacija apie objektus. Šiame įraše išsamiai aprašomas objekto atminties naudojimo „LangChain“ procesas.