Sedang mengikuti modul ini?0 daripada 17 selesai
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.

8.1

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

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

Jenis Memory dalam LangChain

Jenis MemoryPeneranganKes Penggunaan
ConversationBufferMemoryMenyimpan keseluruhan sejarah perbualan dalam memory.Aplikasi sembang mudah.
ConversationBufferWindowMemoryMenyimpan k mesej terakhir.Menghadkan saiz memory.
ConversationSummaryMemoryMeringkaskan mesej lama.Perbualan panjang.
EntityMemoryMengingati entiti penting (cth. nama, fakta).Pembantu peribadi.
VectorStoreRetrieverMemoryMenyimpan sejarah perbualan dalam vector store.Memory jangka panjang dengan retrieval.
8.4

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)
8.5

Cara ConversationBufferMemory Berfungsi

Input PenggunaMesej baharu
Muat Mesej TerdahuluDari memory
Hantar Keseluruhan PerbualanSebagai konteks kepada LLM
Dapatkan Respons
Simpan Mesej SemasaKe memory
8.6

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
8.7

ConversationSummaryMemory

python
from langchain.memory import ConversationSummaryMemory
memory = ConversationSummaryMemory(llm=llm)

conversation = ConversationChain(
    llm=llm,
    memory=memory,
    verbose=True
)
8.8

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.