Sedang mengikuti modul ini?
Modul 08 · Halaman 9 daripada 20 · 8 bahagian
Memory dalam LangChain
Mengapa memory penting, jenis memory dan kegunaannya, cara ConversationBufferMemory berfungsi serta contoh buffer, window dan summary memory.
Apa itu Memory?
- Memory membolehkan LLM mengingati interaksi terdahulu.
- Ia membantu mengekalkan konteks perbualan merentasi beberapa giliran.
- Tanpa memory, setiap permintaan dilayan secara berasingan dan model melupakan mesej terdahulu.
- LangChain menyediakan pelbagai jenis memory mengikut kes penggunaan.
Mengapa Menggunakan Memory?
- Mengekalkan sejarah perbualan.
- Memberi respons yang kontekstual.
- Berguna untuk chatbot, pembantu maya dan agent.
- Menambah baik pengalaman pengguna.
- Menyokong memory jangka pendek dan jangka panjang.
- Membantu membina perbualan yang lebih seperti manusia.
Jenis Memory dalam LangChain
| Jenis Memory | Penerangan | Kes Penggunaan |
|---|---|---|
| ConversationBufferMemory | Menyimpan keseluruhan sejarah perbualan dalam memory. | Aplikasi sembang mudah. |
| ConversationBufferWindowMemory | Menyimpan k mesej terakhir. | Menghadkan saiz memory. |
| ConversationSummaryMemory | Meringkaskan mesej lama. | Perbualan panjang. |
| EntityMemory | Mengingati entiti penting (cth. nama, fakta). | Pembantu peribadi. |
| VectorStoreRetrieverMemory | Menyimpan sejarah perbualan dalam vector store. | Memory jangka panjang dengan retrieval. |
ConversationBufferMemory
python
from langchain_openai import ChatOpenAI from langchain.memory import ConversationBufferMemory from langchain.chains import ConversationChain llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7) memory = ConversationBufferMemory() conversation = ConversationChain( llm=llm, memory=memory, verbose=True ) # First message response1 = conversation.predict(input="Hi, my name is Rahul.") print(response1) # Second message (model remembers previous message) response2 = conversation.predict(input="What is my name?") print(response2)
Cara ConversationBufferMemory Berfungsi
Input PenggunaMesej baharu
Muat Mesej TerdahuluDari memory
Hantar Keseluruhan PerbualanSebagai konteks kepada LLM
Dapatkan Respons
Simpan Mesej SemasaKe memory
ConversationBufferWindowMemory
python
from langchain.memory import ConversationBufferWindowMemory from langchain.chains import ConversationChain memory = ConversationBufferWindowMemory(k=3) conversation = ConversationChain( llm=llm, memory=memory, verbose=True ) # This will keep only last 3 messages in memory
ConversationSummaryMemory
python
from langchain.memory import ConversationSummaryMemory memory = ConversationSummaryMemory(llm=llm) conversation = ConversationChain( llm=llm, memory=memory, verbose=True )
Pengajaran Utama
- Memory membantu mengekalkan konteks dalam perbualan.
- Pilih jenis memory yang sesuai mengikut kes penggunaan anda.
- Gunakan summary memory untuk perbualan panjang.
- Vector store memory berguna untuk storan jangka panjang.
- Memory juga boleh digunakan dengan agent dan chain.