Bagaimana untuk Menggunakan Penampan Ringkasan Perbualan dalam LangChain?

Bagaimana Untuk Menggunakan Penampan Ringkasan Perbualan Dalam Langchain



LangChain ialah rangka kerja dengan semua kebergantungan dan perpustakaan untuk membina model yang boleh memahami set data dalam bahasa semula jadi. Model ini juga boleh menjana teks dalam bahasa semula jadi atau mengekstrak data yang paling serupa berdasarkan input yang disediakan oleh pengguna. Chatbots atau LLM digunakan untuk membina perbualan dengan manusia dan mengekstrak ringkasan perbualan menggunakan semua mesej.

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 awak
import 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 ConversationSummaryBufferMemory

daripada 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 . mesej

rumusan_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 Perbualan

perbualan_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.