Bagaimana untuk Menggunakan Memori Entiti dalam LangChain?

Bagaimana Untuk Menggunakan Memori Entiti Dalam Langchain



LangChain ialah modul yang membolehkan penciptaan model yang boleh memproses bahasa semula jadi, iaitu bahasa yang digunakan manusia untuk komunikasi. LangChain mengandungi semua modul dan kebergantungan yang diperlukan yang boleh digunakan untuk membina Model Bahasa atau chatbot yang besar. Model ini perlu dilatih untuk mempelajari bahasa semula jadi untuk menjana teks berdasarkan pertanyaan yang diberikan oleh pengguna.

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 OpenAI

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

daripada 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 cetak

cetak ( 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 cetak

cetak ( 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.