Kaip naudoti pokalbių buferio langą „LangChain“?
Pokalbių buferio langas naudojamas naujausiems pokalbio pranešimams išsaugoti atmintyje, kad būtų galima gauti naujausią kontekstą. Jis naudoja K reikšmę žinutėms ar eilutėms saugoti atmintyje naudojant „LangChain“ sistemą.
Norėdami sužinoti, kaip naudoti pokalbių buferio langą LangChain, tiesiog peržiūrėkite šį vadovą:
1 veiksmas: įdiekite modulius
Pradėkite pokalbių buferio lango naudojimo procesą įdiegę LangChain modulį su reikiamomis priklausomybėmis pokalbių modeliams kurti:
pip įdiegti langchain
Po to įdiekite OpenAI modulį, kurį galima naudoti kuriant didelių kalbų modelius „LangChain“:
pip install openai
Dabar nustatyti OpenAI aplinką Norėdami sukurti LLM grandines naudodami API raktą iš OpenAI paskyros:
importuoti tu
importuoti gauti pasą
tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( 'OpenAI API raktas:' )
2 veiksmas: pokalbių buferio lango atminties naudojimas
Norėdami naudoti pokalbių buferio lango atmintį „LangChain“, importuokite ConversationBufferWindowMemory biblioteka:
iš langchain. atmintis importuoti ConversationBufferWindowMemorySukonfigūruokite atmintį naudodami ConversationBufferWindowMemory () metodas, kurio argumentas yra k reikšmė. K reikšmė bus naudojama norint išsaugoti naujausius pokalbio pranešimus ir sukonfigūruoti mokymo duomenis naudojant įvesties ir išvesties kintamuosius:
atmintis = ConversationBufferWindowMemory ( k = 1 )atmintis. save_context ( { 'įvestis' : 'Sveiki' } , { 'išvestis' : 'Kaip tau sekasi' } )
atmintis. save_context ( { 'įvestis' : 'Aš esu geras, o tu' } , { 'išvestis' : 'nedaug' } )
Patikrinkite atmintį paskambinę apkrovos_atminties_kintamieji () būdas pradėti pokalbį:
atmintis. apkrovos_atminties_kintamieji ( { } )
Norėdami gauti pokalbio istoriją, sukonfigūruokite funkciją ConversationBufferWindowMemory() naudodami return_messages argumentas:
atmintis = ConversationBufferWindowMemory ( k = 1 , return_messages = Tiesa )atmintis. save_context ( { 'įvestis' : 'labas' } , { 'išvestis' : 'kas atsitiko' } )
atmintis. save_context ( { 'įvestis' : 'nedaug tu' } , { 'išvestis' : 'nedaug' } )
Dabar iškvieskite atmintį naudodami apkrovos_atminties_kintamieji () būdas gauti atsakymą su pokalbio istorija:
atmintis. apkrovos_atminties_kintamieji ( { } )
3 veiksmas: buferio lango naudojimas grandinėje
Sukurkite grandinę naudodami OpenAI ir Pokalbių grandinė bibliotekas ir sukonfigūruokite buferinę atmintį, kad būtų saugomi naujausi pokalbio pranešimai:
iš langchain. grandines importuoti Pokalbių grandinėiš langchain. llms importuoti OpenAI
#pokalbio santrauka naudojant kelis parametrus
pokalbis_su_santrauka = Pokalbių grandinė (
llm = OpenAI ( temperatūros = 0 ) ,
#building atminties buferis naudojant jo funkciją su k reikšme naujausiems pranešimams saugoti
atmintis = ConversationBufferWindowMemory ( k = 2 ) ,
#configure išsamų kintamąjį, kad išvestis būtų lengviau skaitoma
žodinis = Tiesa
)
pokalbis_su_santrauka. numatyti ( įvestis = 'Labas kas gero' )
Dabar tęskite pokalbį užduodami klausimą, susijusį su modelio pateikta produkcija:
pokalbis_su_santrauka. numatyti ( įvestis = 'Kokios jų problemos' )
Modelis sukonfigūruotas saugoti tik vieną ankstesnį pranešimą, kuris gali būti naudojamas kaip kontekstas:
pokalbis_su_santrauka. numatyti ( įvestis = 'Ar gerai sekasi' )
Paprašykite problemų sprendimo ir išvesties struktūra toliau slinks buferio langą pašalindama ankstesnius pranešimus:
pokalbis_su_santrauka. numatyti ( įvestis = 'Koks sprendimas' )
Tai viskas apie pokalbių buferio langų „LangChain“ naudojimo procesą.
Išvada
Norėdami naudoti pokalbių buferio lango atmintį LangChain, tiesiog įdiekite modulius ir nustatykite aplinką naudodami OpenAI API raktą. Po to sukurkite buferinę atmintį naudodami k reikšmę, kad pokalbyje būtų išsaugoti naujausi pranešimai, kad būtų išlaikytas kontekstas. Buferinė atmintis taip pat gali būti naudojama su grandinėmis, kad būtų užmegztas pokalbis su LLM arba grandine. Šiame vadove išsamiai aprašytas pokalbių buferio lango „LangChain“ naudojimo procesas.