Kako koristiti memoriju entiteta u LangChainu?

Kako Koristiti Memoriju Entiteta U Langchainu



LangChain je modul koji omogućuje izradu modela koji mogu obraditi prirodne jezike, a to su jezici koje ljudi koriste za komunikaciju. LangChain sadrži sve potrebne module i ovisnosti koji se mogu koristiti za izgradnju velikih jezičnih modela ili chatbota. Ove modele treba osposobiti za učenje prirodnog jezika za generiranje tekstova na temelju upita korisnika.

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 OpenAI

iz 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 razgovora

iz 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 ispisati

ispisati ( 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 ispisati

ispisati ( 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.