Ovaj će vodič ilustrirati proces korištenja memorije entiteta u LangChainu.
Kako koristiti memoriju entiteta u LangChainu?
Entitet se koristi za čuvanje ključnih činjenica pohranjenih u memoriji za izdvajanje kada ih čovjek zatraži pomoću upita/uputa. Kako biste naučili postupak korištenja memorije entiteta u LangChainu, jednostavno posjetite sljedeći vodič:
Korak 1: Instalirajte module
Prvo instalirajte LangChain modul pomoću naredbe pip da biste dobili njegove ovisnosti:
pip instalirati langchain
Nakon toga instalirajte OpenAI modul kako biste dobili njegove biblioteke za izgradnju LLM-ova i modela chata:
pip instaliraj openai
Postavite OpenAI okruženje pomoću API ključa koji se može izdvojiti iz OpenAI računa:
uvoz vas
uvoz getpass
vas . približno [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API ključ:' )
Korak 2: Korištenje memorije entiteta
Da biste koristili memoriju entiteta, uvezite potrebne biblioteke za izgradnju LLM-a pomoću metode OpenAI():
iz langchain. llms uvoz OpenAIiz langchain. memorija uvoz ConversationEntityMemory
llm = OpenAI ( temperatura = 0 )
Nakon toga definirajte memorija varijablu pomoću metode ConversationEntityMemory() za obuku modela pomoću ulaznih i izlaznih varijabli:
memorija = ConversationEntityMemory ( llm = llm )_ulazni = { 'ulazni' : 'Joe su Root radili su na projektu' }
memorija. load_memory_variables ( _ulazni )
memorija. spremi_kontekst (
_ulazni ,
{ 'izlaz' : 'Super! Kakav je to projekt?' }
)
Sada testirajte memoriju koristeći upit/prompt u ulazni varijable pozivanjem metode load_memory_variables():
memorija. load_memory_variables ( { 'ulazni' : 'tko je Root' } )
Sada dajte još neke informacije kako bi model mogao dodati još nekoliko entiteta u memoriju:
memorija = ConversationEntityMemory ( llm = llm , povratne_poruke = Pravi )_ulazni = { 'ulazni' : 'Joe su Root radili su na projektu' }
memorija. load_memory_variables ( _ulazni )
memorija. spremi_kontekst (
_ulazni ,
{ 'izlaz' : 'Super! Kakav je to projekt' }
)
Izvršite sljedeći kod da biste dobili izlaz pomoću entiteta koji su pohranjeni u memoriji. Moguće je kroz ulazni koji sadrži upit:
memorija. load_memory_variables ( { 'ulazni' : 'tko je Joe' } )
Korak 3: Korištenje memorije entiteta u lancu
Da biste koristili memoriju entiteta nakon izgradnje lanca, jednostavno uvezite potrebne biblioteke koristeći sljedeći blok koda:
iz langchain. lanci uvoz Lanac razgovoraiz langchain. memorija uvoz ConversationEntityMemory
iz langchain. memorija . potaknuti uvoz ENTITY_MEMORY_CONVERSATION_TEMPLATE
iz pidantičan uvoz Osnovni model
iz tipkanje uvoz Popis , Dict , Bilo koje
Izgradite model razgovora korištenjem metode ConversationChain() koristeći argumente poput llm:
razgovor = Lanac razgovora (llm = llm ,
opširno = Pravi ,
potaknuti = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
memorija = ConversationEntityMemory ( llm = llm )
)
Pozovite razgovor.predict() metodu s inputom inicijaliziranim promptom ili upitom:
razgovor. predvidjeti ( ulazni = 'Joe su Root radili su na projektu' )
Sada dohvatite zasebni izlaz za svaki entitet koji opisuje informacije o njemu:
razgovor. memorija . trgovina_entiteta . trgovina
Upotrijebite izlaz iz modela da date ulaz kako bi model mogao pohraniti više informacija o ovim entitetima:
razgovor. predvidjeti ( ulazni = 'Pokušavaju Langchainu dodati složenije memorijske strukture' )
Nakon davanja informacija koje su pohranjene u memoriji, jednostavno postavite pitanje kako biste izdvojili specifične informacije o entitetima:
razgovor. predvidjeti ( ulazni = 'Što znaš o Joeu i Rootu' )
Korak 4: Testiranje memorije
Korisnik može izravno pregledati pohranu memorije kako bi dobio podatke pohranjene u njima pomoću sljedećeg koda:
iz ispisati uvoz ispisatiispisati ( razgovor. memorija . trgovina_entiteta . trgovina )
Navedite više informacija koje će se pohraniti u memoriju jer više informacija daje točnije rezultate:
razgovor. predvidjeti ( ulazni = 'Root je osnovao tvrtku pod nazivom HJRS' )
Ekstrahirajte informacije iz memorije nakon dodavanja više informacija o entitetima:
iz ispisati uvoz ispisatiispisati ( razgovor. memorija . trgovina_entiteta . trgovina )
Memorija ima informacije o više entiteta kao što su HJRS, Joe, LangChain i Root:
Sada izvucite informacije o određenom entitetu koristeći upit ili upit definiran u ulaznoj varijabli:
razgovor. predvidjeti ( ulazni = 'Što znaš o Rootu' )
To je sve o korištenju memorije entiteta pomoću okvira LangChain.
Zaključak
Da biste koristili memoriju entiteta u LangChainu, jednostavno instalirajte potrebne module za uvoz biblioteka potrebnih za izradu modela nakon postavljanja okruženja OpenAI. Nakon toga izgradite LLM model i pohranite entitete u memoriju pružajući informacije o entitetima. Korisnik također može izvući informacije pomoću ovih entiteta i izgraditi ta sjećanja u lancima s promiješanim informacijama o entitetima. Ovaj post razradio je proces korištenja memorije entiteta u LangChainu.