Hur man använder Conversation Summary Buffer i LangChain?

Hur Man Anvander Conversation Summary Buffer I Langchain



LangChain är ramverket med alla beroenden och bibliotek för att bygga modeller som kan förstå dataset på naturliga språk. Dessa modeller kan också generera text på naturliga språk eller extrahera de mest liknande data baserat på indata från användaren. Chatbots eller LLMs används för att skapa konversationer med människor och extrahera en sammanfattning av konversationen med alla meddelanden.

Den här guiden kommer att illustrera processen att använda en konversationssammanfattningsbuffert i LangChain.

Hur man använder en konversationssammanfattningsbuffert i LangChain?

Konversation kan omfatta flera meddelanden som är som en interaktion mellan människa och maskin och bufferten kan lagra de senaste meddelandena. De ConversationSummaryBufferMemory bibliotek används för att kombinera båda koncepten som att lagra de senaste meddelandena och extrahera deras sammanfattning.







För att lära dig processen att använda konversationssammanfattningsbufferten i LangChain, gå helt enkelt igenom följande guide:



Steg 1: Installera moduler

Installera först LangChain-modulen med pip-kommandot för att få de nödvändiga biblioteken:



pip installera langkedja





Installera tiktoken tokenizer som kan användas för att dela upp textdokumenten i små bitar:

pip installera tiktoken



Därefter installerar du OpenAI-modulerna som kan användas för att bygga språkmodeller som LLM:er och kedjor:

pip installera openai

Nu, sätta upp miljön genom att hämta API-nyckeln från OpenAI-kontot och använda den i modellen:

importera du
importera getpass

du . ungefär [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Steg 2: Använda konversationssammanfattningsbufferten

Starta processen med att använda konversationssammanfattningsbufferten genom att importera biblioteken för att bygga LLM med OpenAI()-metoden:

från långkedja. minne importera ConversationSummaryBufferMemory

från långkedja. llms importera OpenAI

llm = OpenAI ( )

Bygg minnet med metoden ConversationSummaryBufferMemory() och lagra sedan konversationen i minnet:

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

minne. save_context ( { 'inmatning' : 'Hallå' } , { 'produktion' : 'Hur mår du' } )

minne. save_context ( { 'inmatning' : 'Jag mår bra, du då' } , { 'produktion' : 'inte mycket' } )

Kör nu minnet genom att anropa load_memory_variables () metod för att extrahera meddelanden från minnet:

minne. load_memory_variables ( { } )

Använd nu buffertsammanfattningen av konversationen för att konfigurera bufferten genom att begränsa antalet meddelanden som ska lagras i bufferten. Efter det, extrahera sammanfattningen av dessa meddelanden lagrade i bufferten och lagra sedan konversationen i minnet:

minne = ConversationSummaryBufferMemory (

llm = llm , max_token_limit = 10 , return_messages = Sann

)

minne. save_context ( { 'inmatning' : 'Hallå' } , { 'produktion' : 'Hur mår du' } )

minne. save_context ( { 'inmatning' : 'Jag mår bra, du då' } , { 'produktion' : 'inte mycket' } )

Få sammanfattningen av de tidigare meddelandena lagrade i buffertminnet med hjälp av följande kod:

meddelanden = minne. chat_memory . meddelanden

föregående_sammanfattning = ''

minne. predict_new_summary ( meddelanden , föregående_sammanfattning )

Steg 3: Använda konversationssammanfattningsbufferten i en kedja

Bygg kedjorna med hjälp av ConversationChain() metod som innehåller värdet för buffertminnet för att lagra meddelandet i det:

från långkedja. kedjor importera ConversationChain

konversation_med_sammanfattning = ConversationChain (
llm = llm ,
minne = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
mångordig = Sann ,
)
konversation_med_sammanfattning. förutse ( inmatning = 'Hej läget?' )

Ange input i form av texten med metoden predict() för att få sammanfattningen av konversationen:

konversation_med_sammanfattning. förutse ( inmatning = 'Arbetar bara på NLP-projektet' )

Använd utdata från modellen och lägg till mer data med hjälp av meddelandena i buffertminnet och visa dess sammanfattning:

konversation_med_sammanfattning. förutse ( inmatning = 'ja det är det! Jag jobbar på att designa LLMs' )

Sammanfattningen är att resultatet blir lätt att förstå och mer mänskligt och är mer lämpligt för chatbots:

konversation_med_sammanfattning. förutse (

inmatning = 'Jag vill använda LangChain! Har du hört talas om det'

)

Det handlar om att använda konversationssammanfattningsbufferten i LangChain.

Slutsats

För att använda konversationssammanfattningsbuffertminnet i LangChain, installera helt enkelt modulerna eller ramverken för att få de nödvändiga biblioteken. När biblioteken har importerats, bygg LLM:erna eller chatbotarna för att använda ConverstaionSummaryBufferMemory()-funktionen för att få sammanfattningen av konversationen. Buffertminnet används för att begränsa antalet meddelanden som är lagrade i minnet att använda för att extrahera sammanfattningen. Det här inlägget har utvecklat processen för att använda buffertminnet för konversationssammanfattningen i LangChain.