Paano Gumamit ng Conversation Buffer Window sa LangChain?

Paano Gumamit Ng Conversation Buffer Window Sa Langchain



Ang LangChain ay ang framework na magagamit sa Python notebook upang sanayin ang mga modelo ng wika o chatbots gamit ang mga modelo ng machine learning. Ang mga modelo ng wikang ito ay ginagamit upang makipag-usap sa mga tao sa kanilang likas na wika pagkatapos silang sanayin sa mga wikang tulad ng tao. Ipapakita ng post na ito ang proseso ng paggamit ng buffer window ng pag-uusap sa LangChain.

Paano Gumamit ng Conversation Buffer Window sa LangChain?

Ginagamit ang window ng buffer ng pag-uusap upang panatilihing nasa memorya ang pinakabagong mga mensahe ng pag-uusap upang makuha ang pinakabagong konteksto. Ginagamit nito ang halaga ng K para sa pag-iimbak ng mga mensahe o mga string sa memorya gamit ang LangChain framework.

Upang matutunan ang proseso ng paggamit ng window ng buffer ng pag-uusap sa LangChain, dumaan lang sa sumusunod na gabay:







Hakbang 1: I-install ang Mga Module

Simulan ang proseso ng paggamit ng window ng buffer ng pag-uusap sa pamamagitan ng pag-install ng module ng LangChain na may mga kinakailangang dependency para sa pagbuo ng mga modelo ng pag-uusap:



pip install langchain



Pagkatapos nito, i-install ang OpenAI module na maaaring magamit upang bumuo ng Large Language Models sa LangChain:





pip install openai

ngayon, i-set up ang kapaligiran ng OpenAI para bumuo ng mga LLM chain gamit ang API key mula sa OpenAI account:



angkat ikaw
angkat getpass

ikaw . humigit-kumulang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )

Hakbang 2: Paggamit ng Conversation Buffer Window Memory

Upang gamitin ang memorya ng buffer window ng pag-uusap sa LangChain, i-import ang ConversationBufferWindowMemory aklatan:

mula sa langchain. alaala angkat ConversationBufferWindowMemory

I-configure ang memorya gamit ang ConversationBufferWindowMemory () na pamamaraan na may halaga ng k bilang argumento nito. Ang halaga ng k ay gagamitin upang panatilihin ang mga pinakabagong mensahe mula sa pag-uusap at pagkatapos ay i-configure ang data ng pagsasanay gamit ang mga variable ng input at output:

alaala = ConversationBufferWindowMemory ( k = 1 )

alaala. save_context ( { 'input' : 'Kamusta' } , { 'output' : 'kamusta ka' } )

alaala. save_context ( { 'input' : 'Mabait ako ano sayo' } , { 'output' : 'hindi gaano' } )

Subukan ang memorya sa pamamagitan ng pagtawag sa load_memory_variables () paraan upang simulan ang pag-uusap:

alaala. load_memory_variables ( { } )

Upang makuha ang kasaysayan ng pag-uusap, i-configure ang function na ConversationBufferWindowMemory() gamit ang return_messages argumento:

alaala = ConversationBufferWindowMemory ( k = 1 , return_messages = totoo )

alaala. save_context ( { 'input' : 'hi' } , { 'output' : 'ano na' } )

alaala. save_context ( { 'input' : 'hindi masyado ikaw' } , { 'output' : 'hindi gaano' } )

Ngayon, tawagan ang memorya gamit ang load_memory_variables () paraan upang makuha ang tugon kasama ang kasaysayan ng pag-uusap:

alaala. load_memory_variables ( { } )

Hakbang 3: Paggamit ng Buffer Window sa isang Chain

Buuin ang kadena gamit ang OpenAI at ConversationChain mga aklatan at pagkatapos ay i-configure ang buffer memory upang mag-imbak ng mga pinakabagong mensahe sa pag-uusap:

mula sa langchain. mga tanikala angkat ConversationChain
mula sa langchain. llms angkat OpenAI
#building buod ng pag-uusap gamit ang maraming parameter
conversation_with_summary = ConversationChain (
llm = OpenAI ( temperatura = 0 ) ,
#building memory buffer gamit ang function nito na may halagang k upang mag-imbak ng mga kamakailang mensahe
alaala = ConversationBufferWindowMemory ( k = 2 ) ,
#configure verbose variable para makakuha ng mas nababasang output
verbose = totoo
)
conversation_with_summary. hulaan ( input = 'Kamusta ka' )

Ngayon ipagpatuloy ang pag-uusap sa pamamagitan ng pagtatanong ng tanong na may kaugnayan sa output na ibinigay ng modelo:

conversation_with_summary. hulaan ( input = 'Anong problema nila' )

Ang modelo ay na-configure upang mag-imbak lamang ng isang nakaraang mensahe na maaaring magamit bilang konteksto:

conversation_with_summary. hulaan ( input = 'Maganda ba ang takbo' )

Humingi ng solusyon sa mga problema at ang istraktura ng output ay patuloy na mag-slide sa buffer window sa pamamagitan ng pag-alis ng mga naunang mensahe:

conversation_with_summary. hulaan ( input = 'Ano ang solusyon' )

Iyon ay tungkol sa proseso ng paggamit ng LangChain buffer windows ng Pag-uusap.

Konklusyon

Upang magamit ang memorya ng window ng buffer ng pag-uusap sa LangChain, i-install lang ang mga module at i-set up ang kapaligiran gamit ang API key ng OpenAI. Pagkatapos nito, buuin ang buffer memory gamit ang halaga ng k upang mapanatili ang pinakabagong mga mensahe sa pag-uusap upang mapanatili ang konteksto. Ang memorya ng buffer ay maaari ding gamitin sa mga chain upang pukawin ang pag-uusap sa LLM o chain. Ang gabay na ito ay nagpapaliwanag sa proseso ng paggamit ng buffer window ng pag-uusap sa LangChain.