Šis vadovas parodys pokalbių santraukos naudojimo „LangChain“ procesą.
Kaip naudoti pokalbių santrauką „LangChain“?
„LangChain“ teikia bibliotekas, tokias kaip „ConversationSummaryMemory“, kurios gali išgauti visą pokalbio ar pokalbio santrauką. Jis gali būti naudojamas norint gauti pagrindinę pokalbio informaciją, neskaitant visų pokalbyje esančių pranešimų ir teksto.
Norėdami sužinoti, kaip naudoti pokalbių santrauką „LangChain“, tiesiog atlikite šiuos veiksmus:
1 veiksmas: įdiekite modulius
Pirmiausia įdiekite „LangChain“ sistemą, kad gautumėte jos priklausomybes arba bibliotekas naudodami šį kodą:
pip įdiegti langchain
Dabar įdiekite „OpenAI“ modulius įdiegę „LangChain“ naudodami komandą pip:
pip install openai
Įdiegę modulius, tiesiog sutvarkyti aplinką naudodami šį kodą gavus API raktą iš OpenAI paskyros:
importuoti tuimportuoti gauti pasą
tu . maždaug [ „OPENAI_API_KEY“ ] = gauti pasą . gauti pasą ( „OpenAI API raktas“: )
2 veiksmas: pokalbio santraukos naudojimas
Įsitraukite į pokalbio santraukos naudojimo procesą importuodami bibliotekas iš „LangChain“:
iš langchain. atmintis importuoti ConversationSummaryMemory , ChatMessageHistoryiš langchain. llms importuoti OpenAI
Sukonfigūruokite modelio atmintį naudodami ConversationSummaryMemory() ir OpenAI() metodus ir išsaugokite joje duomenis:
atmintis = ConversationSummaryMemory ( llm = OpenAI ( temperatūros = 0 ) )atmintis. save_context ( { 'įvestis' : 'Sveiki' } , { 'išvestis' : 'labas' } )
Paleiskite atmintį paskambinę load_memory_variables() būdas ištraukti duomenis iš atminties:
atmintis. apkrovos_atminties_kintamieji ( { } )
Vartotojas taip pat gali gauti duomenis pokalbio forma, kaip ir kiekvienas subjektas su atskiru pranešimu:
atmintis = ConversationSummaryMemory ( llm = OpenAI ( temperatūros = 0 ) , return_messages = Tiesa )atmintis. save_context ( { 'įvestis' : 'Sveiki' } , { 'išvestis' : 'Labas, kaip laikaisi' } )
Norėdami gauti AI ir žmonių pranešimą atskirai, paleiskite load_memory_variables() metodą:
atmintis. apkrovos_atminties_kintamieji ( { } )
Išsaugokite pokalbio santrauką atmintyje ir paleiskite atmintį, kad ekrane būtų rodoma pokalbio / pokalbio santrauka:
žinutes = atmintis. pokalbių_atmintis . žinutesankstesnė_santrauka = ''
atmintis. numatyti_naują_santrauką ( žinutes , ankstesnė_santrauka )
3 veiksmas: pokalbių suvestinės naudojimas su esamais pranešimais
Naudotojas taip pat gali gauti pokalbio, vykstančio už klasės ar pokalbio ribų, santrauką naudodamas ChatMessageHistory() pranešimą. Šiuos pranešimus galima įtraukti į atmintį, kad ji galėtų automatiškai sugeneruoti viso pokalbio santrauką:
istorija = ChatMessageHistory ( )istorija. add_user_message ( 'labas' )
istorija. add_ai_message ( 'Sveiki!' )
Sukurkite modelį, pvz., LLM, naudodami OpenAI() metodą, kad vykdytumėte esamus pranešimus pokalbių_atmintis kintamasis:
atmintis = ConversationSummaryMemory. from_messages (llm = OpenAI ( temperatūros = 0 ) ,
pokalbių_atmintis = istorija ,
return_messages = Tiesa
)
Vykdykite atmintį naudodami buferį, kad gautumėte esamų pranešimų santrauką:
atmintis. buferis
Vykdykite šį kodą, kad sukurtumėte LLM, sukonfigūruodami buferinę atmintį naudodami pokalbių pranešimus:
atmintis = ConversationSummaryMemory (llm = OpenAI ( temperatūros = 0 ) ,
buferis = '''Žmogus klausia mašinos apie save
Sistema atsako, kad dirbtinis intelektas sukurtas gerai, nes gali padėti žmonėms išnaudoti savo potencialą''' ,
pokalbių_atmintis = istorija ,
return_messages = Tiesa
)
4 veiksmas: pokalbio santraukos naudojimas grandinėje
Kitas veiksmas paaiškina pokalbio santraukos naudojimo grandinėje procesą naudojant LLM:
iš langchain. llms importuoti OpenAIiš langchain. grandines importuoti Pokalbių grandinė
llm = OpenAI ( temperatūros = 0 )
pokalbis_su_santrauka = Pokalbių grandinė (
llm = llm ,
atmintis = ConversationSummaryMemory ( llm = OpenAI ( ) ) ,
žodinis = Tiesa
)
pokalbis_su_santrauka. numatyti ( įvestis = 'Sveiki! Kaip sekasi' )
Čia mes pradėjome kurti grandines, pradėdami pokalbį nuo mandagios paklausimo:
Dabar įsitraukite į pokalbį paklausdami šiek tiek daugiau apie paskutinį išvestį, kad jį išplėstumėte:
pokalbis_su_santrauka. numatyti ( įvestis = — Papasakok daugiau apie tai! )Modelis paaiškino paskutinį pranešimą su išsamiu AI technologijos arba pokalbių roboto įvadu:
Ištraukite dominančią vietą iš ankstesnės išvesties, kad pokalbis būtų nukreiptas tam tikra kryptimi:
pokalbis_su_santrauka. numatyti ( įvestis = 'Nuostabu, koks geras šis projektas?' )Čia mes gauname išsamius atsakymus iš roboto, naudodami pokalbių suvestinės atminties biblioteką:
Tai viskas apie pokalbio santraukos naudojimą „LangChain“.
Išvada
Norėdami naudoti pokalbio suvestinės pranešimą LangChain, tiesiog įdiekite modulius ir sistemas, reikalingus aplinkai nustatyti. Kai aplinka bus nustatyta, importuokite ConversationSummaryMemory biblioteka, skirta kurti LLM naudojant OpenAI() metodą. Po to tiesiog naudokite pokalbio santrauką, kad iš modelių ištrauktumėte išsamią išvestį, kuri yra ankstesnio pokalbio santrauka. Šiame vadove išsamiai aprašytas pokalbių suvestinės atminties naudojimo naudojant LangChain modulį procesas.