Ovaj će vodič ilustrirati postupak korištenja međuspremnika sažetka razgovora u LangChainu.
Kako koristiti međuspremnik sažetka razgovora u LangChainu?
Razgovor može sadržavati više poruka koje su poput interakcije između čovjeka i stroja, a međuspremnik može pohraniti najnovije poruke. The ConversationSummaryBufferMemory biblioteka se koristi za kombiniranje oba koncepta kao što je pohranjivanje najnovijih poruka i izdvajanje njihovog sažetka.
Kako biste naučili postupak korištenja međuspremnika sažetka razgovora u LangChainu, jednostavno prođite kroz sljedeći vodič:
Korak 1: Instalirajte module
Prvo instalirajte modul LangChain pomoću naredbe pip da biste dobili potrebne biblioteke:
pip instalirati langchain
Instalirajte tiktoken tokenizer koji se može koristiti za dijeljenje tekstualnih dokumenata u male dijelove:
pip instaliraj tiktoken
Nakon toga instalirajte OpenAI module koji se mogu koristiti za izgradnju jezičnih modela kao što su LLM i lanci:
pip instaliraj openai
Sada, postaviti okruženje dobivanjem API ključa s OpenAI računa i njegovim korištenjem u modelu:
uvoz vasuvoz getpass
vas . približno [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API ključ:' )
Korak 2: Korištenje međuspremnika sažetka razgovora
Pokrenite postupak korištenja međuspremnika sažetka razgovora uvozom biblioteka za izgradnju LLM-a pomoću metode OpenAI():
iz langchain. memorija uvoz ConversationSummaryBufferMemoryiz langchain. llms uvoz OpenAI
llm = OpenAI ( )
Izgradite memoriju pomoću metode ConversationSummaryBufferMemory() i zatim pohranite razgovor u memoriju:
memorija = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )memorija. spremi_kontekst ( { 'ulazni' : 'zdravo' } , { 'izlaz' : 'Kako si' } )
memorija. spremi_kontekst ( { 'ulazni' : 'Ja sam dobar, a ti' } , { 'izlaz' : 'ne mnogo' } )
Sada izvršite memoriju pozivom load_memory_variables () metoda za izdvajanje poruka iz memorije:
memorija. load_memory_variables ( { } )
Sada upotrijebite sažetak međuspremnika razgovora za konfiguraciju međuspremnika ograničavanjem broja poruka koje će se pohraniti u međuspremnik. Nakon toga izdvojite sažetak ovih poruka pohranjenih u međuspremniku i zatim pohranite razgovor u memoriju:
memorija = ConversationSummaryBufferMemory (llm = llm , max_token_limit = 10 , povratne_poruke = Pravi
)
memorija. spremi_kontekst ( { 'ulazni' : 'zdravo' } , { 'izlaz' : 'Kako si' } )
memorija. spremi_kontekst ( { 'ulazni' : 'Ja sam dobar, a ti' } , { 'izlaz' : 'ne mnogo' } )
Dobijte sažetak prethodnih poruka pohranjenih u međuspremniku pomoću sljedećeg koda:
poruke = memorija. chat_memory . porukeprethodni_sažetak = ''
memorija. predvidjeti_novi_sažetak ( poruke , prethodni_sažetak )
Korak 3: Korištenje međuspremnika sažetka razgovora u lancu
Izgradite lance pomoću Lanac razgovora() metoda koja sadrži vrijednost međuspremnika za pohranu poruke u nju:
iz langchain. lanci uvoz Lanac razgovorarazgovor_sa_sažetkom = Lanac razgovora (
llm = llm ,
memorija = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
opširno = Pravi ,
)
razgovor_sa_sažetkom. predvidjeti ( ulazni = 'Hej što ima?' )
Unesite unos u obliku teksta pomoću metode predict() da biste dobili sažetak razgovora:
razgovor_sa_sažetkom. predvidjeti ( ulazni = 'Samo radim na NLP projektu' )
Upotrijebite izlaz iz modela i dodajte više podataka pomoću poruka u međuspremniku i prikažite njegov sažetak:
razgovor_sa_sažetkom. predvidjeti ( ulazni = 'da, radim na dizajniranju LLM-a' )
Sažetak je da će rezultat biti lako razumljiv i prilagođeniji ljudima te je prikladniji za chatbotove:
razgovor_sa_sažetkom. predvidjeti (ulazni = 'Želim koristiti LangChain! Jeste li čuli za njega'
)
To je sve o korištenju međuspremnika sažetka razgovora u LangChainu.
Zaključak
Za korištenje memorije međuspremnika sažetka razgovora u LangChainu, jednostavno instalirajte module ili okvire da biste dobili potrebne biblioteke. Nakon što se biblioteke uvezu, izgradite LLM-ove ili chatbotove za korištenje funkcije ConverstaionSummaryBufferMemory() za dobivanje sažetka razgovora. Međuspremnik se koristi za ograničavanje broja poruka pohranjenih u memoriji za korištenje za izdvajanje sažetka. Ovaj post razradio je postupak korištenja memorije međuspremnika sažetka razgovora u LangChainu.