Acest ghid va ilustra procesul de utilizare a unui buffer de rezumat al conversației în LangChain.
Cum să utilizați un buffer pentru rezumatul conversației în LangChain?
Conversația poate cuprinde mai multe mesaje care sunt ca o interacțiune între om și mașină, iar tamponul poate stoca cele mai recente mesaje. The ConversationSummaryBufferMemory biblioteca este folosită pentru a combina ambele concepte, cum ar fi stocarea celor mai recente mesaje și extragerea rezumatului acestora.
Pentru a afla procesul de utilizare a bufferului de rezumat al conversației în LangChain, parcurgeți următorul ghid:
Pasul 1: Instalați module
Mai întâi, instalați modulul LangChain folosind comanda pip pentru a obține bibliotecile necesare:
pip install langchain
Instalați tokenizerul tiktoken care poate fi folosit pentru a împărți documentele text în bucăți mici:
pip install tiktoken
După aceea, instalați modulele OpenAI care pot fi folosite pentru a construi modele de limbaj precum LLM-uri și lanțuri:
pip install openai
Acum, configura mediul prin obținerea cheii API din contul OpenAI și folosind-o în model:
import tuimport getpass
tu . aproximativ [ „OPENAI_API_KEY” ] = getpass . getpass ( „Cheie API OpenAI:” )
Pasul 2: Utilizarea bufferului pentru rezumatul conversației
Începeți procesul de utilizare a memoriei tampon pentru rezumatul conversației importând bibliotecile pentru a construi LLM folosind metoda OpenAI():
din langchain. memorie import ConversationSummaryBufferMemorydin langchain. llms import OpenAI
llm = OpenAI ( )
Construiți memoria folosind metoda ConversationSummaryBufferMemory() și apoi stocați conversația în memorie:
memorie = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )memorie. salvare_context ( { 'intrare' : 'Buna ziua' } , { 'ieșire' : 'Ce mai faci' } )
memorie. salvare_context ( { 'intrare' : 'Sunt bun, ce zici de tine' } , { 'ieșire' : 'nu prea mult' } )
Acum, executați memoria apelând la load_memory_variables () metoda de extragere a mesajelor din memorie:
memorie. load_memory_variables ( { } )
Acum, utilizați rezumatul buffer-ului conversației pentru a configura tamponul limitând numărul de mesaje care vor fi stocate în buffer. După aceea, extrageți rezumatul acestor mesaje stocate în buffer și apoi stocați conversația în memorie:
memorie = ConversationSummaryBufferMemory (llm = llm , max_token_limit = 10 , return_messages = Adevărat
)
memorie. salvare_context ( { 'intrare' : 'Buna ziua' } , { 'ieșire' : 'Ce mai faci' } )
memorie. salvare_context ( { 'intrare' : 'Sunt bun, ce zici de tine' } , { 'ieșire' : 'nu prea mult' } )
Obțineți rezumatul mesajelor anterioare stocate în memoria tampon folosind următorul cod:
mesaje = memorie. chat_memory . mesajerezumat_anterior = ''
memorie. predict_new_summary ( mesaje , rezumat_anterior )
Pasul 3: Utilizarea bufferului pentru rezumatul conversației într-un lanț
Construiți lanțurile folosind ConversationChain() metodă care conține valoarea pentru memoria tampon pentru a stoca mesajul în ea:
din langchain. lanţuri import ConversationChainconversație_cu_rezumat = ConversationChain (
llm = llm ,
memorie = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
verboroasă = Adevărat ,
)
conversație_cu_rezumat. prezice ( intrare = 'Bună! Ce faci?' )
Furnizați intrarea sub formă de text folosind metoda predict() pentru a obține rezumatul conversației:
conversație_cu_rezumat. prezice ( intrare = „Lucrez doar la proiectul NLP” )
Utilizați rezultatul din model și adăugați mai multe date folosind mesajele din memoria tampon și afișați rezumatul acestuia:
conversație_cu_rezumat. prezice ( intrare = 'Da, este! Lucrez la proiectarea LLM-urilor' )
Rezumatul este că rezultatul va fi ușor de înțeles și mai prietenos cu oamenii și este mai potrivit pentru chatbot:
conversație_cu_rezumat. prezice (intrare = „Vreau să folosesc LangChain! Ați auzit de el”
)
Este vorba despre utilizarea bufferului de rezumat al conversației în LangChain.
Concluzie
Pentru a utiliza memoria tampon pentru rezumatul conversației în LangChain, instalați pur și simplu modulele sau cadrele pentru a obține bibliotecile necesare. Odată ce bibliotecile sunt importate, construiți LLM-uri sau chatbot-uri pentru a utiliza funcția ConverstaionSummaryBufferMemory() pentru a obține rezumatul conversației. Memoria tampon este folosită pentru a limita numărul de mesaje stocate în memorie pentru a le utiliza pentru extragerea rezumatului. Această postare a elaborat procesul de utilizare a memoriei tampon pentru rezumatul conversației în LangChain.