Ako používať vyrovnávaciu pamäť súhrnu konverzácie v LangChain?

Ako Pouzivat Vyrovnavaciu Pamat Suhrnu Konverzacie V Langchain



LangChain je rámec so všetkými závislosťami a knižnicami na vytváranie modelov, ktoré dokážu porozumieť množinám údajov v prirodzených jazykoch. Tieto modely môžu tiež generovať text v prirodzených jazykoch alebo extrahovať najpodobnejšie údaje na základe vstupov poskytnutých používateľom. Chatboti alebo LLM sa používajú na vytváranie konverzácií s ľuďmi a extrahovanie súhrnu konverzácie pomocou všetkých správ.

Táto príručka bude ilustrovať proces používania vyrovnávacej pamäte súhrnu konverzácie v LangChain.

Ako používať vyrovnávaciu pamäť súhrnu konverzácie v LangChain?

Konverzácia môže obsahovať viacero správ, ktoré sú ako interakcia medzi človekom a strojom a vyrovnávacia pamäť môže uchovávať najnovšie správy. The ConversationSummaryBufferMemory knižnica sa používa na kombináciu oboch konceptov, ako je ukladanie najnovších správ a extrahovanie ich súhrnu.







Ak sa chcete dozvedieť o procese používania vyrovnávacej pamäte súhrnu konverzácie v LangChain, jednoducho si prejdite nasledujúcu príručku:



Krok 1: Nainštalujte moduly

Najprv nainštalujte modul LangChain pomocou príkazu pip, aby ste získali požadované knižnice:



pip install langchain





Nainštalujte si tokenizér tiktoken, ktorý možno použiť na rozdelenie textových dokumentov na malé časti:

pip nainštalovať tiktoken



Potom nainštalujte moduly OpenAI, ktoré možno použiť na zostavenie jazykových modelov, ako sú LLM a reťazce:

pip install openai

teraz nastaviť prostredie získaním kľúča API z účtu OpenAI a jeho použitím v modeli:

importovať vy
importovať getpass

vy . približne [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Krok 2: Použitie vyrovnávacej pamäte súhrnu konverzácie

Začnite proces používania súhrnnej vyrovnávacej pamäte konverzácie importovaním knižníc na vytvorenie LLM pomocou metódy OpenAI():

od langchain. Pamäť importovať ConversationSummaryBufferMemory

od langchain. llms importovať OpenAI

llm = OpenAI ( )

Zostavte pamäť pomocou metódy ConversationSummaryBufferMemory() a potom uložte konverzáciu do pamäte:

Pamäť = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )

Pamäť. save_context ( { 'vstup' : 'Ahoj' } , { 'výkon' : 'Ako sa máš' } )

Pamäť. save_context ( { 'vstup' : 'Som dobrý a čo ty' } , { 'výkon' : 'nie veľa' } )

Teraz spustite pamäť volaním load_memory_variables () metóda na extrahovanie správ z pamäte:

Pamäť. load_memory_variables ( { } )

Teraz pomocou súhrnu medzipamäte konverzácie nakonfigurujte vyrovnávaciu pamäť obmedzením počtu správ, ktoré sa majú uložiť do vyrovnávacej pamäte. Potom extrahujte súhrn týchto správ uložených vo vyrovnávacej pamäti a potom uložte konverzáciu do pamäte:

Pamäť = ConversationSummaryBufferMemory (

llm = llm , max_token_limit = 10 , návratové_správy = Pravda

)

Pamäť. save_context ( { 'vstup' : 'Ahoj' } , { 'výkon' : 'Ako sa máš' } )

Pamäť. save_context ( { 'vstup' : 'Som dobrý a čo ty' } , { 'výkon' : 'nie veľa' } )

Získajte súhrn predchádzajúcich správ uložených vo vyrovnávacej pamäti pomocou nasledujúceho kódu:

správy = Pamäť. chat_memory . správy

predchádzajúci_zhrnutie = ''

Pamäť. predpovedať_nový_summary ( správy , predchádzajúci_zhrnutie )

Krok 3: Použitie vyrovnávacej pamäte súhrnu konverzácie v reťazci

Zostavte reťaze pomocou ConversationChain() metóda obsahujúca hodnotu pre vyrovnávaciu pamäť na uloženie správy do nej:

od langchain. reťaze importovať ConversationChain

rozhovor_so_zhrnutím = ConversationChain (
llm = llm ,
Pamäť = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
podrobný = Pravda ,
)
rozhovor_so_zhrnutím. predpovedať ( vstup = 'Ahoj, ako?' )

Ak chcete získať zhrnutie konverzácie, poskytnite vstup vo forme textu pomocou metódy forecast():

rozhovor_so_zhrnutím. predpovedať ( vstup = 'Práve pracujeme na projekte NLP' )

Použite výstup z modelu a pridajte ďalšie údaje pomocou správ vo vyrovnávacej pamäti a zobrazte ich súhrn:

rozhovor_so_zhrnutím. predpovedať ( vstup = 'áno je! Pracujem na navrhovaní LLM' )

Zhrnutie je, že výstup bude ľahko zrozumiteľný a priateľskejší pre ľudí a je vhodnejší pre chatbotov:

rozhovor_so_zhrnutím. predpovedať (

vstup = 'Chcem použiť LangChain! Počuli ste o tom?'

)

To je všetko o používaní vyrovnávacej pamäte súhrnu konverzácie v LangChain.

Záver

Ak chcete použiť vyrovnávaciu pamäť súhrnu konverzácií v LangChain, jednoducho nainštalujte moduly alebo rámce, aby ste získali požadované knižnice. Po importovaní knižníc vytvorte LLM alebo chatboty na použitie funkcie ConverstaionSummaryBufferMemory() na získanie súhrnu konverzácie. Vyrovnávacia pamäť sa používa na obmedzenie počtu správ uložených v pamäti, ktoré sa majú použiť na extrahovanie súhrnu. Tento príspevok rozpracoval proces používania vyrovnávacej pamäte súhrnu konverzácie v LangChain.