Š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ą:
iš langchain. llms importuoti OpenAIiš 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ą:
iš langchain. grandines importuoti Pokalbių grandinėiš langchain. atmintis importuoti ConversationEntityMemory
iš langchain. atmintis . paraginti importuoti ENTITY_MEMORY_CONVERSATION_TEMPLATE
iš pydantiškas importuoti Bazinis modelis
iš 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ą:
iš spausdinti importuoti spausdintispausdinti ( 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:
iš spausdinti importuoti spausdintispausdinti ( 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.