Denne veiledningen vil illustrere prosessen med å bruke en samtaleoppsummeringsbuffer i LangChain.
Hvordan bruke en samtalesammendragsbuffer i LangChain?
Samtale kan omfatte flere meldinger som er som en interaksjon mellom menneske og maskin, og bufferen kan lagre de siste meldingene. De SamtaleSummary BufferMemory bibliotek brukes til å kombinere begge konseptene som å lagre de siste meldingene og trekke ut sammendraget deres.
For å lære prosessen med å bruke samtaleoppsummeringsbufferen i LangChain, gå ganske enkelt gjennom følgende veiledning:
Trinn 1: Installer moduler
Installer først LangChain-modulen ved å bruke pip-kommandoen for å få de nødvendige bibliotekene:
pip installer langkjede
Installer tiktoken tokenizer som kan brukes til å dele tekstdokumentene i små biter:
pip installer tiktoken
Etter det, installer OpenAI-modulene som kan brukes til å bygge språkmodeller som LLM-er og kjeder:
pip installer openai
Nå, sette opp miljøet ved å hente API-nøkkelen fra OpenAI-kontoen og bruke den i modellen:
import duimport få pass
du . omtrent [ 'OPENAI_API_KEY' ] = få pass . få pass ( 'OpenAI API Key:' )
Trinn 2: Bruke samtalesammendragsbuffer
Start prosessen med å bruke samtaleoppsummeringsbufferen ved å importere bibliotekene for å bygge LLM ved å bruke OpenAI()-metoden:
fra langkjede. hukommelse import SamtaleSummary BufferMemoryfra langkjede. llms import OpenAI
llm = OpenAI ( )
Bygg minnet ved å bruke ConversationSummaryBufferMemory()-metoden og lagre deretter samtalen i minnet:
hukommelse = SamtaleSummary BufferMemory ( llm = llm , max_token_limit = 10 )hukommelse. lagre_kontekst ( { 'inngang' : 'Hallo' } , { 'produksjon' : 'Hvordan går det' } )
hukommelse. lagre_kontekst ( { 'inngang' : 'Jeg er god hva med deg' } , { 'produksjon' : 'ikke mye' } )
Kjør nå minnet ved å ringe load_memory_variables () metode for å trekke ut meldinger fra minnet:
hukommelse. load_memory_variables ( { } )
Bruk nå buffersammendraget av samtalen til å konfigurere bufferen ved å begrense antall meldinger som skal lagres i bufferen. Trekk deretter ut sammendraget av disse meldingene som er lagret i bufferen, og lagre deretter samtalen i minnet:
hukommelse = SamtaleSummary BufferMemory (llm = llm , max_token_limit = 10 , return_messages = ekte
)
hukommelse. lagre_kontekst ( { 'inngang' : 'Hallo' } , { 'produksjon' : 'Hvordan går det' } )
hukommelse. lagre_kontekst ( { 'inngang' : 'Jeg er god hva med deg' } , { 'produksjon' : 'ikke mye' } )
Få sammendraget av de tidligere meldingene lagret i bufferminnet ved å bruke følgende kode:
meldinger = hukommelse. chat_memory . meldingerforrige_sammendrag = ''
hukommelse. forutsi_ny_sammendrag ( meldinger , forrige_sammendrag )
Trinn 3: Bruk av samtalesammendragsbuffer i en kjede
Bygg kjedene ved å bruke ConversationChain() metode som inneholder verdien for bufferminnet for å lagre meldingen i den:
fra langkjede. kjeder import Samtalekjedesamtale_med_sammendrag = Samtalekjede (
llm = llm ,
hukommelse = SamtaleSummary BufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
ordrik = ekte ,
)
samtale_med_sammendrag. forutsi ( input = 'Hei, hva skjer?' )
Gi innspill i form av teksten ved å bruke predict()-metoden for å få sammendraget av samtalen:
samtale_med_sammendrag. forutsi ( input = 'Bare jobber med NLP-prosjektet' )
Bruk utdata fra modellen og legg til flere data ved å bruke meldingene i bufferminnet og vis sammendraget:
samtale_med_sammendrag. forutsi ( input = 'ja det er det! Jeg jobber med å designe LLM-er' )
Sammendraget er at utgangen vil være lett forståelig og mer menneskevennlig og er mer egnet for chatbots:
samtale_med_sammendrag. forutsi (input = 'Jeg vil bruke LangChain! Har du hørt om det'
)
Det handler om å bruke samtaleoppsummeringsbufferen i LangChain.
Konklusjon
For å bruke bufferminnet for samtalesammendrag i LangChain, installer ganske enkelt modulene eller rammeverkene for å få de nødvendige bibliotekene. Når bibliotekene er importert, bygg LLM-ene eller chatbotene for å bruke ConverstaionSummaryBufferMemory()-funksjonen for å få sammendraget av samtalen. Bufferminnet brukes til å begrense antall meldinger som er lagret i minnet som skal brukes til å trekke ut sammendraget. Dette innlegget har utdypet prosessen med å bruke bufferminnet for samtalesammendrag i LangChain.