Kuinka käyttää entiteettimuistia LangChainissa?

Kuinka Kayttaa Entiteettimuistia Langchainissa



LangChain on moduuli, jonka avulla voidaan luoda malleja, jotka pystyvät prosessoimaan luonnollisia kieliä, joita ihmiset käyttävät viestintään. LangChain sisältää kaikki tarvittavat moduulit ja riippuvuudet, joita voidaan käyttää suurten kielimallien tai chatbottien rakentamiseen. Nämä mallit on koulutettava oppimaan luonnollinen kieli luodakseen tekstejä käyttäjän antamien kyselyiden perusteella.

Tämä opas havainnollistaa entiteettimuistin käyttöä LangChainissa.

Kuinka käyttää entiteettimuistia LangChainissa?

Entiteettiä käytetään säilyttämään muistiin tallennetut avaintiedot, jotka voidaan poimia, kun ihminen kysyy niitä kyselyjen/kehotteiden avulla. Oppiaksesi entiteettimuistin käyttöprosessin LangChainissa, käy seuraavassa oppaassa:







Vaihe 1: Asenna moduulit

Asenna ensin LangChain-moduuli pip-komennolla saadaksesi sen riippuvuudet:



pip asennus langchain



Asenna sen jälkeen OpenAI-moduuli saadaksesi sen kirjastot LLM:ien ja chat-mallien rakentamiseen:





pip install openai

Asenna OpenAI-ympäristö käyttämällä API-avainta, joka voidaan purkaa OpenAI-tililtä:



tuonti sinä

tuonti getpass

sinä . suunnilleen [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Vaihe 2: Entiteettimuistin käyttäminen

Käyttääksesi entiteettimuistia, tuo tarvittavat kirjastot LLM:n rakentamiseksi OpenAI()-menetelmällä:

alkaen langchain. llms tuonti OpenAI

alkaen langchain. muisti tuonti ConversationEntityMemory

llm = OpenAI ( lämpötila = 0 )

Määritä sen jälkeen muisti muuttuja käyttämällä ConversationEntityMemory()-menetelmää mallin kouluttamiseen tulo- ja lähtömuuttujien avulla:

muisti = ConversationEntityMemory ( llm = llm )

_input = { 'syöttö' : 'Joe are Root ovat tehneet projektia' }

muisti. load_memory_variables ( _input )

muisti. save_context (

_input ,

{ 'lähtö' : 'Hienoa! Millainen projekti se on?' }

)

Testaa nyt muisti käyttämällä kyselyä/kehotetta syöttö muuttuja kutsumalla load_memory_variables()-metodia:

muisti. load_memory_variables ( { 'syöttö' : 'kuka on Root' } )

Anna nyt lisätietoja, jotta malli voi lisätä muutaman entiteetin muistiin:

muisti = ConversationEntityMemory ( llm = llm , return_messages = Totta )

_input = { 'syöttö' : 'Joe are Root ovat tehneet projektia' }

muisti. load_memory_variables ( _input )

muisti. save_context (

_input ,

{ 'lähtö' : 'Hienoa! Millainen projekti se on' }

)

Suorita seuraava koodi saadaksesi tulos käyttämällä muistiin tallennettuja entiteettejä. Se on mahdollista kautta syöttö sisältää kehotteen:

muisti. load_memory_variables ( { 'syöttö' : 'kuka on Joe' } )

Vaihe 3: Entiteettimuistin käyttäminen ketjussa

Jos haluat käyttää entiteettimuistia ketjun rakentamisen jälkeen, tuo tarvittavat kirjastot käyttämällä seuraavaa koodilohkoa:

alkaen langchain. ketjut tuonti Keskusteluketju

alkaen langchain. muisti tuonti ConversationEntityMemory

alkaen langchain. muisti . kehote tuonti ENTITY_MEMORY_CONVERSATION_TEMPLATE

alkaen pydantinen tuonti Perusmalli

alkaen kirjoittamalla tuonti Lista , Dict , Minkä tahansa

Rakenna keskustelumalli ConversationChain()-menetelmällä käyttämällä argumentteja, kuten llm:

keskustelu = Keskusteluketju (

llm = llm ,

monisanainen = Totta ,

kehote = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,

muisti = ConversationEntityMemory ( llm = llm )

)

Kutsu keskustelu.predict()-metodi, jonka syöte on alustettu kehotteella tai kyselyllä:

keskustelu. ennustaa ( syöttö = 'Joe are Root ovat tehneet projektia' )

Hanki nyt erillinen tulos jokaiselle entiteetille, joka kuvaa sitä koskevat tiedot:

keskustelu. muisti . entity_store . tallentaa

Käytä mallin tulostetta syötteen antamiseen, jotta malli voi tallentaa lisätietoja näistä entiteeteista:

keskustelu. ennustaa ( syöttö = 'He yrittävät lisätä monimutkaisempia muistirakenteita Langchainiin' )

Kun olet antanut muistiin tallennettavat tiedot, esitä kysymys, niin saat tarkkoja tietoja kokonaisuuksista:

keskustelu. ennustaa ( syöttö = 'Mitä tiedät Joesta ja Rootista' )

Vaihe 4: Muistisäilön testaus

Käyttäjä voi tarkastaa muistivarastot suoraan saadakseen niihin tallennetut tiedot seuraavan koodin avulla:

alkaen Tulosta tuonti Tulosta

Tulosta ( keskustelu. muisti . entity_store . tallentaa )

Anna enemmän tietoa tallennettavaksi muistiin, koska enemmän tietoa antaa tarkempia tuloksia:

keskustelu. ennustaa ( syöttö = 'Root on perustanut yrityksen nimeltä HJRS' )

Pura tiedot muistisäilöstä, kun olet lisännyt tietoja entiteeteista:

alkaen Tulosta tuonti Tulosta

Tulosta ( keskustelu. muisti . entity_store . tallentaa )

Muistissa on tietoa useista entiteetistä, kuten HJRS, Joe, LangChain ja Root:

Poimi nyt tiedot tietystä entiteetistä käyttämällä syöttömuuttujassa määritettyä kyselyä tai kehotetta:

keskustelu. ennustaa ( syöttö = 'Mitä sinä tiedät Rootista' )

Siinä on kyse entiteettimuistin käyttämisestä LangChain-kehyksen avulla.

Johtopäätös

Käyttääksesi entiteettimuistia LangChainissa, asenna tarvittavat moduulit mallien rakentamiseen tarvittavien kirjastojen tuomiseksi OpenAI-ympäristön asennuksen jälkeen. Tämän jälkeen rakenna LLM-malli ja tallenna entiteetit muistiin antamalla niistä tietoa. Käyttäjä voi myös poimia tietoa näiden entiteettien avulla ja rakentaa nämä muistot ketjuihin, joissa on sekoitettua tietoa kokonaisuuksista. Tässä viestissä on käsitelty entiteettimuistin käyttöprosessia LangChainissa.