Panduan ini akan menggambarkan proses penggunaan memori entiti dalam LangChain.
Bagaimana untuk Menggunakan Memori Entiti dalam LangChain?
Entiti digunakan untuk menyimpan fakta utama yang disimpan dalam ingatan untuk diekstrak apabila ditanya oleh manusia menggunakan pertanyaan/gesaan. Untuk mengetahui proses penggunaan memori entiti dalam LangChain, hanya lawati panduan berikut:
Langkah 1: Pasang Modul
Mula-mula, pasang modul LangChain menggunakan arahan pip untuk mendapatkan kebergantungannya:
pip pasang langchain
Selepas itu, pasang modul OpenAI untuk mendapatkan perpustakaannya untuk membina LLM dan model sembang:
pip pasang openai
Sediakan persekitaran OpenAI menggunakan kunci API yang boleh diekstrak daripada akaun OpenAI:
import awak
import getpass
awak . lebih kurang [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'OpenAI API Key:' )
Langkah 2: Menggunakan Memori Entiti
Untuk menggunakan memori entiti, import perpustakaan yang diperlukan untuk membina LLM menggunakan kaedah OpenAI():
daripada langchain. llms import OpenAIdaripada langchain. ingatan import ConversationEntityMemory
llm = OpenAI ( suhu = 0 )
Selepas itu, tentukan ingatan pembolehubah menggunakan kaedah ConversationEntityMemory() untuk melatih model menggunakan pembolehubah input dan output:
ingatan = ConversationEntityMemory ( llm = llm )_input = { 'input' : 'Joe are Root telah membuat projek' }
ingatan. load_memory_variables ( _input )
ingatan. simpan_konteks (
_input ,
{ 'pengeluaran' : ' Hebat! Projek apakah itu?' }
)
Sekarang, uji memori menggunakan pertanyaan/prompt dalam input pembolehubah dengan memanggil kaedah load_memory_variables():
ingatan. load_memory_variables ( { 'input' : 'siapa Root' } )
Sekarang, berikan beberapa maklumat lagi supaya model boleh menambah beberapa lagi entiti dalam ingatan:
ingatan = ConversationEntityMemory ( llm = llm , pulangkan_mesej = betul )_input = { 'input' : 'Joe are Root telah membuat projek' }
ingatan. load_memory_variables ( _input )
ingatan. simpan_konteks (
_input ,
{ 'pengeluaran' : 'Hebat! Projek apa itu' }
)
Jalankan kod berikut untuk mendapatkan output menggunakan entiti yang disimpan dalam memori. Ia boleh dilakukan melalui input mengandungi gesaan:
ingatan. load_memory_variables ( { 'input' : 'siapa Joe' } )
Langkah 3: Menggunakan Memori Entiti dalam Rantaian
Untuk menggunakan memori entiti selepas membina rantai, hanya import perpustakaan yang diperlukan menggunakan blok kod berikut:
daripada langchain. rantai import Rantaian Perbualandaripada langchain. ingatan import ConversationEntityMemory
daripada langchain. ingatan . segera import ENTITY_MEMORY_CONVERSATION_TEMPLATE
daripada pydantic import BaseModel
daripada menaip import Senaraikan , Dict , mana-mana
Bina model perbualan menggunakan kaedah ConversationChain() menggunakan hujah seperti llm:
perbualan = Rantaian Perbualan (llm = llm ,
bertele-tele = betul ,
segera = ENTITY_MEMORY_CONVERSATION_TEMPLATE ,
ingatan = ConversationEntityMemory ( llm = llm )
)
Panggil kaedah conversation.predict() dengan input yang dimulakan dengan gesaan atau pertanyaan:
perbualan. menjangkakan ( input = 'Joe are Root telah membuat projek' )
Sekarang, dapatkan output berasingan untuk setiap entiti yang menerangkan maklumat mengenainya:
perbualan. ingatan . entity_store . kedai
Gunakan output daripada model untuk memberikan input supaya model boleh menyimpan lebih banyak maklumat tentang entiti ini:
perbualan. menjangkakan ( input = 'Mereka cuba menambah struktur ingatan yang lebih kompleks kepada Langchain' )
Selepas memberikan maklumat yang sedang disimpan dalam ingatan, cuma tanya soalan untuk mengekstrak maklumat khusus tentang entiti:
perbualan. menjangkakan ( input = 'Apa yang anda tahu tentang Joe dan Root' )
Langkah 4: Menguji Stor Memori
Pengguna boleh memeriksa stor memori secara langsung untuk mendapatkan maklumat yang disimpan di dalamnya menggunakan kod berikut:
daripada cetak import cetakcetak ( perbualan. ingatan . entity_store . kedai )
Sediakan lebih banyak maklumat untuk disimpan dalam ingatan kerana lebih banyak maklumat memberikan hasil yang lebih tepat:
perbualan. menjangkakan ( input = 'Root telah mengasaskan Perniagaan yang dipanggil HJRS' )
Ekstrak maklumat daripada stor memori selepas menambah lebih banyak maklumat tentang entiti:
daripada cetak import cetakcetak ( perbualan. ingatan . entity_store . kedai )
Memori mempunyai maklumat tentang pelbagai entiti seperti HJRS, Joe, LangChain dan Root:
Sekarang ekstrak maklumat tentang entiti tertentu menggunakan pertanyaan atau gesaan yang ditakrifkan dalam pembolehubah input:
perbualan. menjangkakan ( input = 'Apa yang anda tahu tentang Root' )
Itu semua tentang menggunakan memori entiti menggunakan rangka kerja LangChain.
Kesimpulan
Untuk menggunakan memori entiti dalam LangChain, cuma pasang modul yang diperlukan untuk mengimport perpustakaan yang diperlukan untuk membina model selepas menyediakan persekitaran OpenAI. Selepas itu, bina model LLM dan simpan entiti dalam ingatan dengan memberikan maklumat tentang entiti tersebut. Pengguna juga boleh mengekstrak maklumat menggunakan entiti ini dan membina kenangan ini dalam rantaian dengan maklumat yang dikacau tentang entiti. Catatan ini telah menghuraikan proses penggunaan memori entiti dalam LangChain.