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 OpenAIalkaen 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 Keskusteluketjualkaen 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 TulostaTulosta ( 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 TulostaTulosta ( 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.