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ť vyimportovať 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ť ConversationSummaryBufferMemoryod 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ávypredchá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ť ConversationChainrozhovor_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.