Bagaimana untuk Menggunakan Tetingkap Penampan Perbualan dalam LangChain?
Tetingkap penimbal perbualan digunakan untuk menyimpan mesej terbaharu perbualan dalam ingatan untuk mendapatkan konteks terkini. Ia menggunakan nilai K untuk menyimpan mesej atau rentetan dalam ingatan menggunakan rangka kerja LangChain.
Untuk mengetahui proses menggunakan tetingkap penimbal perbualan dalam LangChain, hanya melalui panduan berikut:
Langkah 1: Pasang Modul
Mulakan proses menggunakan tetingkap penimbal perbualan dengan memasang modul LangChain dengan kebergantungan yang diperlukan untuk membina model perbualan:
pip pasang langchain
Selepas itu, pasang modul OpenAI yang boleh digunakan untuk membina Model Bahasa Besar dalam LangChain:
pip pasang openai
sekarang, sediakan persekitaran OpenAI untuk membina rantaian LLM menggunakan kunci API daripada akaun OpenAI:
import awak
import getpass
awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
Langkah 2: Menggunakan Memori Tetingkap Penimbal Perbualan
Untuk menggunakan memori tetingkap penimbal perbualan dalam LangChain, import ConversationBufferWindowMemory perpustakaan:
daripada langchain. ingatan import ConversationBufferWindowMemoryKonfigurasikan memori menggunakan ConversationBufferWindowMemory () kaedah dengan nilai k sebagai hujahnya. Nilai k akan digunakan untuk menyimpan mesej terbaharu daripada perbualan dan kemudian mengkonfigurasi data latihan menggunakan pembolehubah input dan output:
ingatan = ConversationBufferWindowMemory ( k = 1 )ingatan. simpan_konteks ( { 'input' : 'hello' } , { 'pengeluaran' : 'apa khabar' } )
ingatan. simpan_konteks ( { 'input' : 'Saya Baik Bagaimana dengan awak' } , { 'pengeluaran' : 'tidak banyak' } )
Uji memori dengan memanggil load_memory_variables () kaedah untuk memulakan perbualan:
ingatan. load_memory_variables ( { } )
Untuk mendapatkan sejarah perbualan, konfigurasikan fungsi ConversationBufferWindowMemory() menggunakan pulangkan_mesej hujah:
ingatan = ConversationBufferWindowMemory ( k = 1 , pulangkan_mesej = betul )ingatan. simpan_konteks ( { 'input' : 'hai' } , { 'pengeluaran' : 'apa khabar' } )
ingatan. simpan_konteks ( { 'input' : 'tak banyak awak' } , { 'pengeluaran' : 'tidak banyak' } )
Sekarang, panggil memori menggunakan load_memory_variables () kaedah untuk mendapatkan respons dengan sejarah perbualan:
ingatan. load_memory_variables ( { } )
Langkah 3: Menggunakan Tingkap Penampan dalam Rantaian
Bina rantai menggunakan OpenAI dan Rantaian Perbualan perpustakaan dan kemudian konfigurasikan memori penimbal untuk menyimpan mesej terbaharu dalam perbualan:
daripada langchain. rantai import Rantaian Perbualandaripada langchain. llms import OpenAI
#building ringkasan perbualan menggunakan berbilang parameter
perbualan_dengan_ringkasan = Rantaian Perbualan (
llm = OpenAI ( suhu = 0 ) ,
#membina penimbal memori menggunakan fungsinya dengan nilai k untuk menyimpan mesej terbaharu
ingatan = ConversationBufferWindowMemory ( k = 2 ) ,
#configure verbose variable untuk mendapatkan lebih banyak output yang boleh dibaca
bertele-tele = betul
)
perbualan_dengan_ringkasan. menjangkakan ( input = 'Hi ada apa' )
Sekarang teruskan perbualan dengan bertanya soalan yang berkaitan dengan output yang disediakan oleh model:
perbualan_dengan_ringkasan. menjangkakan ( input = 'Apa masalah mereka' )
Model ini dikonfigurasikan untuk menyimpan hanya satu mesej sebelumnya yang boleh digunakan sebagai konteks:
perbualan_dengan_ringkasan. menjangkakan ( input = 'Adakah ia berjalan lancar' )
Minta penyelesaian kepada masalah dan struktur output akan terus menggelongsor tetingkap penimbal dengan mengalih keluar mesej terdahulu:
perbualan_dengan_ringkasan. menjangkakan ( input = 'Apakah penyelesaiannya' )
Itu semua tentang proses menggunakan tingkap penimbal Perbualan LangChain.
Kesimpulan
Untuk menggunakan memori tetingkap penimbal perbualan dalam LangChain, cuma pasang modul dan sediakan persekitaran menggunakan kunci API OpenAI. Selepas itu, bina memori penimbal menggunakan nilai k untuk menyimpan mesej terbaharu dalam perbualan untuk mengekalkan konteks. Memori penimbal juga boleh digunakan dengan rantai untuk mencetuskan perbualan dengan LLM atau rantai. Panduan ini telah menghuraikan proses penggunaan tetingkap penimbal perbualan dalam LangChain.