Panduan ini akan mengilustrasikan proses penggunaan memori entitas di LangChain.
Bagaimana Cara Menggunakan Memori Entitas di LangChain?
Entitas ini digunakan untuk menyimpan fakta-fakta kunci yang disimpan dalam memori untuk diekstraksi ketika ditanya oleh manusia menggunakan kueri/perintah. Untuk mempelajari proses penggunaan memori entitas di LangChain, cukup kunjungi panduan berikut:
Langkah 1: Instal Modul
Pertama, instal modul LangChain menggunakan perintah pip untuk mendapatkan dependensinya:
pip instal langchain
Setelah itu, instal modul OpenAI untuk mendapatkan perpustakaannya guna membangun LLM dan model obrolan:
pip instal openai
Siapkan lingkungan OpenAI menggunakan kunci API yang dapat diekstraksi dari akun OpenAI:
impor Anda
impor dapatkan pass
Anda . sekitar [ 'OPENAI_API_KEY' ] = dapatkan pass . dapatkan pass ( 'Kunci API OpenAI:' )
Langkah 2: Menggunakan Memori Entitas
Untuk menggunakan memori entitas, impor pustaka yang diperlukan untuk membangun LLM menggunakan metode OpenAI():
dari rantailang. llms impor OpenAIdari rantailang. Penyimpanan impor PercakapanEntityMemory
llm = OpenAI ( suhu = 0 )
Setelah itu, tentukan Penyimpanan variabel menggunakan metode ConversationEntityMemory() untuk melatih model menggunakan variabel input dan output:
Penyimpanan = PercakapanEntityMemory ( llm = llm )_memasukkan = { 'memasukkan' : 'Joe adalah Root sedang mengerjakan sebuah proyek' }
Penyimpanan. memuat_memori_variabel ( _memasukkan )
Penyimpanan. simpan_konteks (
_memasukkan ,
{ 'keluaran' : 'Hebat! Proyek macam apa itu?' }
)
Sekarang, uji memori menggunakan query/prompt di memasukkan variabel dengan memanggil metode load_memory_variables():
Penyimpanan. memuat_memori_variabel ( { 'memasukkan' : 'siapa Akar' } )
Sekarang, berikan lebih banyak informasi sehingga model dapat menambahkan beberapa entitas lagi ke dalam memori:
Penyimpanan = PercakapanEntityMemory ( llm = llm , pesan_kembali = BENAR )_memasukkan = { 'memasukkan' : 'Joe adalah Root sedang mengerjakan sebuah proyek' }
Penyimpanan. memuat_memori_variabel ( _memasukkan )
Penyimpanan. simpan_konteks (
_memasukkan ,
{ 'keluaran' : 'Hebat! Proyek macam apa itu' }
)
Jalankan kode berikut untuk mendapatkan output menggunakan entitas yang disimpan dalam memori. Hal ini dimungkinkan melalui memasukkan berisi perintah:
Penyimpanan. memuat_memori_variabel ( { 'memasukkan' : 'siapa Joe' } )
Langkah 3: Menggunakan Memori Entitas dalam Rantai
Untuk menggunakan memori entitas setelah membuat rantai, cukup impor pustaka yang diperlukan menggunakan blok kode berikut:
dari rantailang. rantai impor Rantai Percakapandari rantailang. Penyimpanan impor PercakapanEntityMemory
dari rantailang. Penyimpanan . mengingatkan impor ENTITY_MEMORY_CONVERSATION_TEMPLATE
dari gila-gilaan impor Model Dasar
dari mengetik impor Daftar , Dikte , Setiap
Bangun model percakapan menggunakan metode ConversationChain() menggunakan argumen seperti llm:
percakapan = Rantai Percakapan (llm = llm ,
bertele-tele = BENAR ,
mengingatkan = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
Penyimpanan = PercakapanEntityMemory ( llm = llm )
)
Panggil metode percakapan.predict() dengan input yang diinisialisasi dengan prompt atau kueri:
percakapan. meramalkan ( memasukkan = 'Joe adalah Root sedang mengerjakan sebuah proyek' )
Sekarang, dapatkan keluaran terpisah untuk setiap entitas yang menjelaskan informasi tentangnya:
percakapan. Penyimpanan . entitas_toko . toko
Gunakan keluaran dari model untuk memberikan masukan sehingga model dapat menyimpan lebih banyak informasi tentang entitas berikut:
percakapan. meramalkan ( memasukkan = 'Mereka mencoba menambahkan struktur memori yang lebih kompleks ke Langchain' )
Setelah memberikan informasi yang disimpan dalam memori, ajukan pertanyaan untuk mengekstrak informasi spesifik tentang entitas:
percakapan. meramalkan ( memasukkan = 'Apa yang kamu ketahui tentang Joe dan Root' )
Langkah 4: Menguji Penyimpanan Memori
Pengguna dapat memeriksa penyimpanan memori secara langsung untuk mendapatkan informasi yang tersimpan di dalamnya menggunakan kode berikut:
dari mencetak impor mencetakmencetak ( percakapan. Penyimpanan . entitas_toko . toko )
Memberikan lebih banyak informasi untuk disimpan dalam memori karena lebih banyak informasi memberikan hasil yang lebih akurat:
percakapan. meramalkan ( memasukkan = 'Root telah mendirikan Bisnis bernama HJRS' )
Ekstrak informasi dari penyimpanan memori setelah menambahkan lebih banyak informasi tentang entitas:
dari mencetak impor mencetakmencetak ( percakapan. Penyimpanan . entitas_toko . toko )
Memori memiliki informasi tentang beberapa entitas seperti HJRS, Joe, LangChain, dan Root:
Sekarang ekstrak informasi tentang entitas tertentu menggunakan kueri atau perintah yang ditentukan dalam variabel input:
percakapan. meramalkan ( memasukkan = 'Apa yang kamu ketahui tentang Root' )
Itu semua tentang penggunaan memori entitas menggunakan kerangka LangChain.
Kesimpulan
Untuk menggunakan memori entitas di LangChain, cukup instal modul yang diperlukan untuk mengimpor perpustakaan yang diperlukan untuk membangun model setelah menyiapkan lingkungan OpenAI. Setelah itu, bangun model LLM dan simpan entitas di memori dengan memberikan informasi tentang entitas tersebut. Pengguna juga dapat mengekstrak informasi menggunakan entitas ini dan membangun ingatan ini dalam rantai dengan informasi yang diaduk tentang entitas. Posting ini telah menguraikan proses penggunaan memori entitas di LangChain.