Tato příručka bude ilustrovat proces používání vyrovnávací paměti souhrnu konverzace v LangChain.
Jak používat vyrovnávací paměť souhrnu konverzace v LangChain?
Konverzace může obsahovat více zpráv, které jsou jako interakce mezi člověkem a strojem a vyrovnávací paměť může ukládat nejnovější zprávy. The ConversationSummaryBufferMemory Knihovna se používá ke kombinaci obou konceptů, jako je ukládání nejnovějších zpráv a extrahování jejich shrnutí.
Chcete-li se naučit proces používání vyrovnávací paměti souhrnu konverzace v LangChain, jednoduše si projděte následující průvodce:
Krok 1: Nainstalujte moduly
Nejprve nainstalujte modul LangChain pomocí příkazu pip, abyste získali požadované knihovny:
pip install langchain
Nainstalujte tiktoken tokenizer, který lze použít k rozdělení textových dokumentů na malé kousky:
pip nainstalovat tiktoken
Poté nainstalujte moduly OpenAI, které lze použít k vytvoření jazykových modelů, jako jsou LLM a řetězce:
pip install openai
Nyní, nastavit prostředí získáním klíče API z účtu OpenAI a jeho použitím v modelu:
import vyimport getpass
vy . přibližně [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Klíč OpenAI API:' )
Krok 2: Použití vyrovnávací paměti souhrnu konverzace
Začněte proces používání vyrovnávací paměti souhrnu konverzace importem knihoven pro sestavení LLM pomocí metody OpenAI():
z langchain. Paměť import ConversationSummaryBufferMemoryz langchain. llms import OpenAI
llm = OpenAI ( )
Sestavte paměť pomocí metody ConversationSummaryBufferMemory() a poté konverzaci uložte do paměti:
Paměť = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )Paměť. uložit_kontext ( { 'vstup' : 'Ahoj' } , { 'výstup' : 'Jak se máš' } )
Paměť. uložit_kontext ( { 'vstup' : 'Mám se dobře a co ty' } , { 'výstup' : 'ne moc' } )
Nyní spusťte paměť voláním load_memory_variables () metoda extrahování zpráv z paměti:
Paměť. load_memory_variables ( { } )
Nyní použijte shrnutí vyrovnávací paměti konverzace ke konfiguraci vyrovnávací paměti omezením počtu zpráv, které se mají uložit do vyrovnávací paměti. Poté extrahujte souhrn těchto zpráv uložených ve vyrovnávací paměti a poté uložte konverzaci do paměti:
Paměť = ConversationSummaryBufferMemory (llm = llm , max_token_limit = 10 , návratové_zprávy = Skutečný
)
Paměť. uložit_kontext ( { 'vstup' : 'Ahoj' } , { 'výstup' : 'Jak se máš' } )
Paměť. uložit_kontext ( { 'vstup' : 'Mám se dobře a co ty' } , { 'výstup' : 'ne moc' } )
Získejte souhrn předchozích zpráv uložených ve vyrovnávací paměti pomocí následujícího kódu:
zprávy = Paměť. chat_memory . zprávypředchozí_shrnutí = ''
Paměť. předpovídat_nové_shrnutí ( zprávy , předchozí_shrnutí )
Krok 3: Použití vyrovnávací paměti souhrnu konverzace v řetězci
Sestavte řetězy pomocí ConversationChain() metoda obsahující hodnotu pro vyrovnávací paměť pro uložení zprávy do ní:
z langchain. řetězy import ConversationChainkonverzace_se_souhrnem = ConversationChain (
llm = llm ,
Paměť = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
podrobný = Skutečný ,
)
konverzace_se_souhrnem. předpovědět ( vstup = 'Ahoj jak se máš?' )
Zadejte vstup ve formě textu pomocí metody forecast(), abyste získali shrnutí konverzace:
konverzace_se_souhrnem. předpovědět ( vstup = „Právě pracujeme na projektu NLP“ )
Použijte výstup z modelu a přidejte další data pomocí zpráv ve vyrovnávací paměti a zobrazte jeho shrnutí:
konverzace_se_souhrnem. předpovědět ( vstup = 'ano je! Pracuji na navrhování LLM' )
Shrnutí je, že výstup bude snadno srozumitelný a lidsky přívětivější a je vhodnější pro chatboty:
konverzace_se_souhrnem. předpovědět (vstup = 'Chci používat LangChain! Slyšeli jste o tom?'
)
To je vše o použití vyrovnávací paměti shrnutí konverzace v LangChain.
Závěr
Chcete-li použít vyrovnávací paměť pro shrnutí konverzace v LangChain, jednoduše nainstalujte moduly nebo rámce, abyste získali požadované knihovny. Jakmile jsou knihovny importovány, sestavte LLM nebo chatboty, aby pomocí funkce ConverstaionSummaryBufferMemory() získali shrnutí konverzace. Vyrovnávací paměť se používá k omezení počtu zpráv uložených v paměti pro extrahování souhrnu. Tento příspěvek rozvedl proces používání vyrovnávací paměti souhrnu konverzace v LangChain.