Pamięć i kontekst rozmowy w LangChain
Dowiedz się, jak pamięć LangChain śledzi historię rozmowy, aby łańcuchy i chatboty mogły prowadzić spójne rozmowy wieloturowe.
Pamięć i kontekst rozmowy w LangChain to bezpłatna lekcja LangChain / RAG / Vector DBs na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej LangChain / RAG / Vector DBs, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs LangChain / RAG / Vector DBs zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
LLMs Are Stateless
A language model has no memory between calls. Each request is independent — it only knows what you put in the current prompt. To build a chatbot that remembers, you must feed prior turns back in yourself.
What LangChain Memory Does
LangChain memory automates this: it stores the conversation and injects relevant history into the prompt on each new turn. Your chain stays simple while the model appears to remember.
Conversation Buffer Memory
The simplest memory keeps the full transcript and prepends it to every prompt. Great for short chats, but it grows with every turn.
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()
memory.save_context({'input': 'Hi, I am Sam'}, {'output': 'Hello Sam!'})
print(memory.load_memory_variables({}))The Context Window Limit
Every model has a finite context window (a token budget). A growing buffer eventually overflows it, causing errors or truncation. Managing history size is the central challenge of memory.
turns = 50
tokens_per_turn = 200
total = turns * tokens_per_turn
print('history tokens:', total)Window Memory
ConversationBufferWindowMemory keeps only the last k turns. It bounds token usage at the cost of forgetting older context — a simple, effective trade-off for many chatbots.
from langchain.memory import ConversationBufferWindowMemory
memory = ConversationBufferWindowMemory(k=3)
# only the most recent 3 exchanges are keptSummary Memory
ConversationSummaryMemory uses the LLM to compress old turns into a running summary. You keep the gist of a long conversation in far fewer tokens, sacrificing exact wording for breadth.
Summary Buffer: Best of Both
ConversationSummaryBufferMemory keeps recent turns verbatim and summarizes everything older. Recent context stays precise while distant context is condensed — a popular default for production chatbots.
Wiring Memory into a Chain
You attach memory to a conversational chain. On each call, the chain loads history, builds the prompt, calls the model, and saves the new turn back to memory automatically.
from langchain.chains import ConversationChain
chain = ConversationChain(llm=llm, memory=memory)
chain.predict(input='What is my name?')Memory Variables and Prompts
Memory exposes its content as a variable (often history or chat_history) that your prompt template references. The placeholder is where the stored conversation gets injected.
template = 'Conversation so far:\n{history}\nHuman: {input}\nAI:'Persisting Memory
In-process memory vanishes when the app restarts. For real users, back memory with a store — Redis, a database, or a chat-message-history backend keyed by session id — so conversations survive across requests and servers.
Choosing a Memory Type
Match memory to need: buffer for short chats, window when you only care about recent turns, summary for long sessions on a budget, and summary-buffer for the common case. Always persist memory for multi-user apps.
Quick Check
Test your understanding of LangChain memory.
Recap
You learned how LangChain gives chatbots memory:
- LLMs are stateless; memory re-injects history each turn
- Buffer, window, summary, and summary-buffer trade detail against tokens
- Memory exposes a history variable that the prompt template uses
- Persist memory per session for multi-user, multi-server apps
Często zadawane pytania
Czy lekcja „Pamięć i kontekst rozmowy w LangChain” jest bezpłatna?
Tak — pełny tekst „Pamięć i kontekst rozmowy w LangChain” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu LangChain / RAG / Vector DBs, przejdź na CoddyKit PRO. Kurs LangChain / RAG / Vector DBs zawiera 4 lekcji w sumie.
Co nauczysz się w „Pamięć i kontekst rozmowy w LangChain”?
Dowiedz się, jak pamięć LangChain śledzi historię rozmowy, aby łańcuchy i chatboty mogły prowadzić spójne rozmowy wieloturowe. Ćwiczysz LangChain / RAG / Vector DBs z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć LangChain / RAG / Vector DBs?
Nie wymagamy żadnego doświadczenia. LangChain / RAG / Vector DBs w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Pamięć i kontekst rozmowy w LangChain”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji LangChain / RAG / Vector DBs?
Tak. Każda lekcja LangChain / RAG / Vector DBs zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konfigurowanie środowiska LangChain
- Prompty, LLM i podstawowe łańcuchy
- Parsery wyników i callbacki
- Pamięć i kontekst rozmowy w LangChain