Ta vodnik bo prikazal postopek uporabe medpomnilnika povzetka pogovorov v LangChain.
Kako uporabljati medpomnilnik povzetka pogovorov v LangChainu?
Pogovor lahko obsega več sporočil, ki so kot interakcija med človekom in strojem, medpomnilnik pa lahko shrani najnovejša sporočila. The ConversationSummaryBufferMemory knjižnica se uporablja za združevanje obeh konceptov, kot sta shranjevanje najnovejših sporočil in ekstrahiranje njihovega povzetka.
Če želite izvedeti postopek uporabe vmesnega pomnilnika povzetka pogovorov v LangChainu, preprosto preglejte ta vodnik:
1. korak: Namestite module
Najprej namestite modul LangChain z ukazom pip, da dobite zahtevane knjižnice:
pip namestite langchain
Namestite tiktoken tokenizer, ki ga lahko uporabite za razdelitev besedilnih dokumentov na majhne dele:
pip namestite tiktoken
Po tem namestite module OpenAI, ki jih je mogoče uporabiti za izdelavo jezikovnih modelov, kot so LLM in verige:
pip namestite openai
zdaj, nastavite okolje tako da pridobite ključ API iz računa OpenAI in ga uporabite v modelu:
uvoz tiuvoz getpass
ti . približno [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Ključ API OpenAI:' )
2. korak: Uporaba medpomnilnika povzetka pogovorov
Začnite postopek uporabe vmesnega pomnilnika povzetka pogovorov z uvozom knjižnic za izdelavo LLM z uporabo metode OpenAI():
od Langchain. spomin uvoz ConversationSummaryBufferMemoryod Langchain. llms uvoz OpenAI
llm = OpenAI ( )
Zgradite pomnilnik z metodo ConversationSummaryBufferMemory() in nato shranite pogovor v pomnilnik:
spomin = ConversationSummaryBufferMemory ( llm = llm , max_token_limit = 10 )spomin. shrani_kontekst ( { 'vnos' : 'zdravo' } , { 'izhod' : 'Kako si' } )
spomin. shrani_kontekst ( { 'vnos' : 'Dober sem, kaj pa ti' } , { 'izhod' : 'ne veliko' } )
Zdaj pa izvedite pomnilnik tako, da pokličete load_memory_variables () metoda za ekstrahiranje sporočil iz pomnilnika:
spomin. load_memory_variables ( { } )
Zdaj uporabite povzetek medpomnilnika pogovora, da konfigurirate medpomnilnik tako, da omejite število sporočil, ki bodo shranjena v medpomnilniku. Nato ekstrahirajte povzetek teh sporočil, shranjenih v medpomnilniku, in nato shranite pogovor v pomnilnik:
spomin = ConversationSummaryBufferMemory (llm = llm , max_token_limit = 10 , povratna_sporočila = Prav
)
spomin. shrani_kontekst ( { 'vnos' : 'zdravo' } , { 'izhod' : 'Kako si' } )
spomin. shrani_kontekst ( { 'vnos' : 'Dober sem, kaj pa ti' } , { 'izhod' : 'ne veliko' } )
Z naslednjo kodo pridobite povzetek prejšnjih sporočil, shranjenih v medpomnilniku:
sporočila = spomin. chat_memory . sporočilaprejšnji_povzetek = ''
spomin. napoved_nov_povzetek ( sporočila , prejšnji_povzetek )
3. korak: Uporaba medpomnilnika povzetka pogovorov v verigi
Zgradite verige z uporabo ConversationChain() metoda, ki vsebuje vrednost za vmesni pomnilnik za shranjevanje sporočila vanj:
od Langchain. verige uvoz ConversationChainpogovor_s_povzetkom = ConversationChain (
llm = llm ,
spomin = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , max_token_limit = 40 ) ,
verbose = Prav ,
)
pogovor_s_povzetkom. napovedati ( vnos = 'Živjo, kaj dogaja?' )
Podajte vnos v obliki besedila z uporabo metode predict(), da dobite povzetek pogovora:
pogovor_s_povzetkom. napovedati ( vnos = 'Samo delam na NLP projektu' )
Uporabite izhod iz modela in dodajte več podatkov z uporabo sporočil v medpomnilniku in prikažite njegov povzetek:
pogovor_s_povzetkom. napovedati ( vnos = 'da je! Delam na oblikovanju LLM' )
Povzetek je, da bo rezultat lahko razumljiv in ljudem bolj prijazen ter je bolj primeren za chatbote:
pogovor_s_povzetkom. napovedati (vnos = 'Želim uporabljati LangChain! Ste že slišali zanj'
)
To je vse o uporabi medpomnilnika povzetka pogovorov v LangChainu.
Zaključek
Če želite uporabiti vmesni pomnilnik povzetka pogovorov v LangChain, preprosto namestite module ali ogrodja, da dobite zahtevane knjižnice. Ko so knjižnice uvožene, zgradite LLM-je ali chatbote za uporabo funkcije ConverstaionSummaryBufferMemory() za pridobitev povzetka pogovora. Vmesni pomnilnik se uporablja za omejevanje števila sporočil, shranjenih v pomnilniku, ki se uporabljajo za ekstrahiranje povzetka. Ta objava je podrobneje opisala postopek uporabe vmesnega pomnilnika povzetka pogovorov v LangChainu.