Paano Gamitin ang Buffer ng Buod ng Pag-uusap sa LangChain?

Paano Gamitin Ang Buffer Ng Buod Ng Pag Uusap Sa Langchain



Ang LangChain ay ang balangkas na may lahat ng mga dependency at mga aklatan upang bumuo ng mga modelong makakaunawa ng mga dataset sa mga natural na wika. Ang mga modelong ito ay maaari ding bumuo ng text sa mga natural na wika o kunin ang pinakakatulad na data batay sa mga input na ibinigay ng user. Ginagamit ang mga Chatbot o LLM upang bumuo ng mga pag-uusap sa mga tao at kumuha ng buod ng pag-uusap gamit ang lahat ng mensahe.

Ipapakita ng gabay na ito ang proseso ng paggamit ng buffer ng buod ng pag-uusap sa LangChain.

Paano Gumamit ng Buffer ng Buod ng Pag-uusap sa LangChain?

Ang pag-uusap ay maaaring maglaman ng maraming mensahe na parang pakikipag-ugnayan sa pagitan ng tao at makina at ang buffer ay maaaring mag-imbak ng mga pinakabagong mensahe. Ang ConversationSummaryBufferMemory Ang library ay ginagamit upang pagsamahin ang parehong mga konsepto tulad ng pag-iimbak ng mga pinakabagong mensahe at pagkuha ng kanilang buod.







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



Hakbang 1: I-install ang Mga Module

Una, i-install ang LangChain module gamit ang pip command para makuha ang mga kinakailangang library:



pip install langchain





I-install ang tiktoken tokenizer na maaaring gamitin upang hatiin ang mga dokumento ng teksto sa maliliit na piraso:

pip install tiktoken



Pagkatapos nito, i-install ang mga OpenAI module na maaaring magamit upang bumuo ng mga modelo ng wika tulad ng mga LLM at chain:

pip install openai

ngayon, itakda ang kapaligiran sa pamamagitan ng pagkuha ng API key mula sa OpenAI account at paggamit nito sa modelo:

angkat ikaw
angkat getpass

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

Hakbang 2: Paggamit ng Buffer ng Buod ng Pag-uusap

Simulan ang proseso ng paggamit ng buffer ng buod ng pag-uusap sa pamamagitan ng pag-import ng mga aklatan para buuin ang LLM gamit ang OpenAI() na paraan:

mula sa langchain. alaala angkat ConversationSummaryBufferMemory

mula sa langchain. llms angkat OpenAI

llm = OpenAI ( )

Buuin ang memorya gamit ang paraan ng ConversationSummaryBufferMemory() at pagkatapos ay iimbak ang pag-uusap sa memorya:

alaala = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )

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

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

Ngayon, isagawa ang memorya sa pamamagitan ng pagtawag sa load_memory_variables () paraan upang kunin ang mga mensahe mula sa memorya:

alaala. load_memory_variables ( { } )

Ngayon, gamitin ang buffer na buod ng pag-uusap upang i-configure ang buffer sa pamamagitan ng paglilimita sa bilang ng mga mensaheng itatabi sa buffer. Pagkatapos nito, i-extract ang buod ng mga mensaheng ito na nakaimbak sa buffer at pagkatapos ay iimbak ang pag-uusap sa memorya:

alaala = ConversationSummaryBufferMemory (

llm = llm , max_token_limit = 10 , return_messages = totoo

)

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

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

Kunin ang buod ng mga nakaraang mensahe na nakaimbak sa buffer memory gamit ang sumusunod na code:

mga mensahe = alaala. chat_memory . mga mensahe

nakaraang_buod = ''

alaala. predict_new_summary ( mga mensahe , nakaraang_buod )

Hakbang 3: Paggamit ng Buffer ng Buod ng Pag-uusap sa isang Chain

Buuin ang mga kadena gamit ang ConversationChain() paraan na naglalaman ng halaga para sa buffer memory upang maiimbak ang mensahe dito:

mula sa langchain. mga tanikala angkat ConversationChain

conversation_with_summary = ConversationChain (
llm = llm ,
alaala = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
verbose = totoo ,
)
conversation_with_summary. hulaan ( input = 'Kamusta ka?' )

Ibigay ang input sa anyo ng text gamit ang predict() method para makuha ang buod ng pag-uusap:

conversation_with_summary. hulaan ( input = 'Nagtatrabaho lang sa proyekto ng NLP' )

Gamitin ang output mula sa modelo at magdagdag ng higit pang data gamit ang mga mensahe sa buffer memory at ipakita ang buod nito:

conversation_with_summary. hulaan ( input = 'oo nga! Nagsusumikap ako sa pagdidisenyo ng mga LLM' )

Ang buod ay ang output ay madaling mauunawaan at mas magiliw sa tao at mas angkop para sa mga chatbot:

conversation_with_summary. hulaan (

input = 'Gusto kong gamitin ang LangChain! Narinig mo na ba ito'

)

Iyon ay tungkol sa paggamit ng buffer ng buod ng pag-uusap sa LangChain.

Konklusyon

Para magamit ang buffer memory ng buffer ng pag-uusap sa LangChain, i-install lang ang mga module o frameworks para makuha ang mga kinakailangang library. Kapag na-import na ang mga aklatan, buuin ang mga LLM o chatbot upang magamit ang function na ConverstaionSummaryBufferMemory() upang makuha ang buod ng pag-uusap. Ang buffer memory ay ginagamit upang limitahan ang bilang ng mga mensaheng nakaimbak sa memorya na gagamitin para sa pagkuha ng buod. Ang post na ito ay nagpapaliwanag sa proseso ng paggamit ng buffer memory ng buffer ng pag-uusap sa LangChain.