Kuinka käyttää keskusteluyhteenvetopuskuria LangChainissa?

Kuinka Kayttaa Keskusteluyhteenvetopuskuria Langchainissa



LangChain on kehys, jossa on kaikki riippuvuudet ja kirjastot, joiden avulla voidaan rakentaa malleja, jotka voivat ymmärtää tietojoukkoja luonnollisilla kielillä. Nämä mallit voivat myös luoda tekstiä luonnollisilla kielillä tai poimia eniten samankaltaisia ​​tietoja käyttäjän syöttämien syötteiden perusteella. Chatbotteja tai LLM:itä käytetään keskustelujen luomiseen ihmisten kanssa ja keskustelun yhteenvedon poimimiseen kaikkien viestien avulla.

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

Kuinka käyttää keskusteluyhteenvetopuskuria LangChainissa?

Keskustelu voi sisältää useita viestejä, jotka ovat kuin ihmisen ja koneen välistä vuorovaikutusta, ja puskuri voi tallentaa uusimmat viestit. The ConversationSummaryBufferMemory kirjastoa käytetään yhdistämään molemmat käsitteet, kuten uusimpien viestien tallentaminen ja niiden yhteenvedon purkaminen.







Oppiaksesi keskusteluyhteenvetopuskurin käyttämisen LangChainissa, käy läpi seuraava opas:



Vaihe 1: Asenna moduulit

Asenna ensin LangChain-moduuli pip-komennolla saadaksesi tarvittavat kirjastot:



pip asennus langchain





Asenna tikttoken-tokenizer, jonka avulla voit jakaa tekstiasiakirjat pieniksi paloiksi:

pip asentaa tiktoken



Asenna sen jälkeen OpenAI-moduulit, joilla voidaan rakentaa kielimalleja, kuten LLM:itä ja ketjuja:

pip install openai

Nyt, perustaa ympäristöä hankkimalla API-avaimen OpenAI-tililtä ja käyttämällä sitä mallissa:

tuonti sinä
tuonti getpass

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

Vaihe 2: Keskustelun yhteenvetopuskurin käyttäminen

Aloita keskustelun yhteenvetopuskurin käyttö tuomalla kirjastot LLM:n rakentamiseksi OpenAI()-menetelmällä:

alkaen langchain. muisti tuonti ConversationSummaryBufferMemory

alkaen langchain. llms tuonti OpenAI

llm = OpenAI ( )

Rakenna muisti käyttämällä ConversationSummaryBufferMemory() -menetelmää ja tallenna keskustelu sitten muistiin:

muisti = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )

muisti. save_context ( { 'syöttö' : 'Hei' } , { 'lähtö' : 'Miten menee' } )

muisti. save_context ( { 'syöttö' : 'Minulle kuuluu hyvää Entä sinulle' } , { 'lähtö' : 'ei paljon' } )

Suorita nyt muisti soittamalla load_memory_variables () menetelmä viestien poimimiseksi muistista:

muisti. load_memory_variables ( { } )

Käytä nyt keskustelun puskurin yhteenvetoa puskurin määrittämiseen rajoittamalla puskuriin tallennettavien viestien määrää. Pura sen jälkeen yhteenveto näistä puskuriin tallennetuista viesteistä ja tallenna keskustelu sitten muistiin:

muisti = ConversationSummaryBufferMemory (

llm = llm , max_token_limit = 10 , return_messages = Totta

)

muisti. save_context ( { 'syöttö' : 'Hei' } , { 'lähtö' : 'Miten menee' } )

muisti. save_context ( { 'syöttö' : 'Minulle kuuluu hyvää Entä sinulle' } , { 'lähtö' : 'ei paljon' } )

Hanki yhteenveto aiemmista puskurimuistiin tallennetuista viesteistä käyttämällä seuraavaa koodia:

viestejä = muisti. chat_memory . viestejä

edellinen_yhteenveto = ''

muisti. ennustaa_uusi_yhteenveto ( viestejä , edellinen_yhteenveto )

Vaihe 3: Keskustelun yhteenvetopuskurin käyttäminen ketjussa

Rakenna ketjut käyttämällä Keskusteluketju() menetelmä, joka sisältää puskurimuistin arvon viestin tallentamiseksi siihen:

alkaen langchain. ketjut tuonti Keskusteluketju

keskustelu_yhteenvedon kanssa = Keskusteluketju (
llm = llm ,
muisti = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
monisanainen = Totta ,
)
keskustelu_yhteenvedon kanssa. ennustaa ( syöttö = 'Hei miten menee?' )

Anna syöttö tekstin muodossa käyttämällä ennustaa()-menetelmää saadaksesi yhteenvedon keskustelusta:

keskustelu_yhteenvedon kanssa. ennustaa ( syöttö = 'Työskentelen vain NLP-projektin parissa' )

Käytä mallin tulostetta ja lisää tietoja puskurimuistissa olevien sanomien avulla ja näytä sen yhteenveto:

keskustelu_yhteenvedon kanssa. ennustaa ( syöttö = 'Kyllä se on! Työskentelen LLM:ien suunnittelussa' )

Yhteenveto on, että tulos on helposti ymmärrettävä ja ihmisystävällisempi ja sopii paremmin chatboteille:

keskustelu_yhteenvedon kanssa. ennustaa (

syöttö = 'Haluan käyttää LangChainia! Oletko kuullut siitä'

)

Siinä on kyse keskusteluyhteenvetopuskurin käytöstä LangChainissa.

Johtopäätös

Jos haluat käyttää keskusteluyhteenvetopuskurimuistia LangChainissa, asenna moduulit tai puitteet tarvittavien kirjastojen saamiseksi. Kun kirjastot on tuotu, luo LLM:t tai chatbotit ConverstaionSummaryBufferMemory()-funktion avulla saadaksesi yhteenvedon keskustelusta. Puskurimuistia käytetään rajoittamaan yhteenvedon purkamiseen käytettävien muistiin tallennettujen viestien määrää. Tässä viestissä on käsitelty keskusteluyhteenvetopuskurimuistin käyttöä LangChainissa.