Hvordan bruke samtalesammendragsbuffer i LangChain?

Hvordan Bruke Samtalesammendragsbuffer I Langchain



LangChain er rammeverket med alle avhengigheter og biblioteker for å bygge modeller som kan forstå datasett på naturlige språk. Disse modellene kan også generere tekst på naturlige språk eller trekke ut de mest lignende dataene basert på input fra brukeren. Chatbots eller LLM-er brukes til å bygge samtaler med mennesker og trekke ut et sammendrag av samtalen ved å bruke alle meldingene.

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 du
import 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 BufferMemory

fra 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 . meldinger

forrige_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 Samtalekjede

samtale_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.