Panduan ini akan menggambarkan proses menggunakan penimbal ringkasan perbualan dalam LangChain.
Bagaimana untuk Menggunakan Penampan Ringkasan Perbualan dalam LangChain?
Perbualan boleh terdiri daripada berbilang mesej yang seperti interaksi antara manusia dan mesin dan penimbal boleh menyimpan mesej terbaharu. The ConversationSummaryBufferMemory perpustakaan digunakan untuk menggabungkan kedua-dua konsep seperti menyimpan mesej terkini dan mengekstrak ringkasannya.
Untuk mengetahui proses menggunakan penimbal ringkasan perbualan dalam LangChain, hanya melalui panduan berikut:
Langkah 1: Pasang Modul
Mula-mula, pasang modul LangChain menggunakan arahan pip untuk mendapatkan perpustakaan yang diperlukan:
pip pasang langchain
Pasang tokenizer tiktoken yang boleh digunakan untuk membahagikan dokumen teks kepada bahagian kecil:
pip pasang tiktoken
Selepas itu, pasang modul OpenAI yang boleh digunakan untuk membina model bahasa seperti LLM dan rantai:
pip pasang openai
sekarang, menetapkan persekitaran dengan mendapatkan kunci API daripada akaun OpenAI dan menggunakannya dalam model:
import awakimport getpass
awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
Langkah 2: Menggunakan Penampan Ringkasan Perbualan
Mulakan proses menggunakan penimbal ringkasan perbualan dengan mengimport perpustakaan untuk membina LLM menggunakan kaedah OpenAI():
daripada langchain. ingatan import ConversationSummaryBufferMemorydaripada langchain. llms import OpenAI
llm = OpenAI ( )
Bina memori menggunakan kaedah ConversationSummaryBufferMemory() dan kemudian simpan perbualan dalam memori:
ingatan = ConversationSummaryBufferMemory ( llm = llm , had_token maks = 10 )ingatan. simpan_konteks ( { 'input' : 'hello' } , { 'pengeluaran' : 'apa khabar' } )
ingatan. simpan_konteks ( { 'input' : 'Saya Baik Bagaimana dengan awak' } , { 'pengeluaran' : 'tidak banyak' } )
Sekarang, laksanakan memori dengan memanggil load_memory_variables () kaedah untuk mengekstrak mesej daripada ingatan:
ingatan. load_memory_variables ( { } )
Sekarang, gunakan ringkasan penimbal perbualan untuk mengkonfigurasi penimbal dengan mengehadkan bilangan mesej untuk disimpan dalam penimbal. Selepas itu, ekstrak ringkasan mesej ini yang disimpan dalam penimbal dan kemudian simpan perbualan dalam ingatan:
ingatan = ConversationSummaryBufferMemory (llm = llm , had_token maks = 10 , pulangkan_mesej = betul
)
ingatan. simpan_konteks ( { 'input' : 'hello' } , { 'pengeluaran' : 'apa khabar' } )
ingatan. simpan_konteks ( { 'input' : 'Saya Baik Bagaimana dengan awak' } , { 'pengeluaran' : 'tidak banyak' } )
Dapatkan ringkasan mesej sebelumnya yang disimpan dalam memori penimbal menggunakan kod berikut:
mesej = ingatan. chat_memory . mesejrumusan_sebelumnya = ''
ingatan. predict_new_summary ( mesej , rumusan_sebelumnya )
Langkah 3: Menggunakan Penampan Ringkasan Perbualan dalam Rantaian
Bina rantai menggunakan ConversationChain() kaedah yang mengandungi nilai untuk memori penimbal untuk menyimpan mesej di dalamnya:
daripada langchain. rantai import Rantaian Perbualanperbualan_dengan_ringkasan = Rantaian Perbualan (
llm = llm ,
ingatan = ConversationSummaryBufferMemory ( llm = OpenAI ( ) , had_token maks = 40 ) ,
bertele-tele = betul ,
)
perbualan_dengan_ringkasan. menjangkakan ( input = 'Hi ada apa?' )
Sediakan input dalam bentuk teks menggunakan kaedah predict() untuk mendapatkan ringkasan perbualan:
perbualan_dengan_ringkasan. menjangkakan ( input = 'Hanya mengusahakan projek NLP' )
Gunakan output daripada model dan tambah lebih banyak data menggunakan mesej dalam memori penimbal dan paparkan ringkasannya:
perbualan_dengan_ringkasan. menjangkakan ( input = 'ya! Saya sedang berusaha untuk mereka bentuk LLM' )
Ringkasannya ialah output akan mudah difahami dan lebih mesra manusia dan lebih sesuai untuk chatbots:
perbualan_dengan_ringkasan. menjangkakan (input = 'Saya mahu menggunakan LangChain! Pernahkah anda mendengarnya'
)
Itu semua tentang menggunakan penimbal ringkasan perbualan dalam LangChain.
Kesimpulan
Untuk menggunakan memori penimbal ringkasan perbualan dalam LangChain, cuma pasang modul atau rangka kerja untuk mendapatkan perpustakaan yang diperlukan. Setelah perpustakaan diimport, bina LLM atau chatbots untuk menggunakan fungsi ConverstaionSummaryBufferMemory() untuk mendapatkan ringkasan perbualan. Memori penimbal digunakan untuk mengehadkan bilangan mesej yang disimpan dalam memori untuk digunakan untuk mengekstrak ringkasan. Siaran ini telah menghuraikan proses penggunaan memori penimbal ringkasan perbualan dalam LangChain.