Conversation Buffer Memory
Implementeer basaal conversationeel geheugen om eerdere interacties binnen de context van een agent op te slaan en op te halen
Conversation Buffer Memory is een gratis AI-agents met LangChain en autonome werkstromen-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agents met LangChain en autonome werkstromen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agents met LangChain en autonome werkstromen bevat in totaal 4 lessen.
Waarom agents geheugen nodig hebben
Stel je een gesprek voor waarin je onmiddellijk alles vergeet wat er zojuist is gezegd. Dat gebeurt er met een AI-agent zonder geheugen!
Agents moeten zich vaak eerdere interacties kunnen herinneren om de context te behouden. Zonder geheugen begint elke beurt opnieuw, wat leidt tot repetitieve of onzinnige gesprekken.
Wat is buffergeheugen?
ConversationBufferMemory is het eenvoudigste geheugentype van LangChain. Het slaat de onbewerkte, niet-samengevatte gespreksgeschiedenis rechtstreeks op.
Je kunt het zien als een volledig transcript van alles wat er is gezegd, in precies de volgorde waarin het is gezegd. Het is eenvoudig en gemakkelijk te gebruiken voor basaal terughalen van gespreksinformatie.
Buffergeheugen initialiseren
Om ConversationBufferMemory te gebruiken, importeer je het en maak je een instantie. Het wordt vaak geïntegreerd in een Chain, maar we kunnen het eerst zelfstandig bekijken.
Laten we een geheugenobject initialiseren en de oorspronkelijke (lege) toestand bekijken:
from langchain.memory import ConversationBufferMemory
# Initialize the memory
memory = ConversationBufferMemory()
print("Memory initialized!")
# You can see its content (it will be empty at first)
print(memory.load_memory_variables({}))Context van een gesprek opslaan
Met de save_context-methode voeg je nieuwe invoer van de gebruiker en uitvoer van de AI toe aan het geheugen. De methode neemt twee woordenboeken aan: één voor invoer en één voor uitvoer.
Deze methode is essentieel, omdat het geheugen hiermee leert van het lopende gesprek en de geschiedenis ervan opbouwt.
Cod demonstratie: context opslaan
Laten we een eenvoudige interactie toevoegen aan ons geheugenobject en bekijken hoe de gespreksbeurt wordt opgeslagen.
Let erop hoe de 'invoer' en 'uitvoer' worden gekoppeld en opgeslagen als berichten van 'Human' en 'AI'.
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()
# Simulate a user input and an AI response
memory.save_context(
{"input": "Hi there!"},
{"output": "Hello! How can I help you?"}
)
print("Memory after one turn:")
print(memory.load_memory_variables({}))Opgeslagen geschiedenis ophalen
Om de opgeslagen gespreksgeschiedenis te openen, gebruik je de load_memory_variables-methode. Deze retourneert een woordenboek met de inhoud van het geheugen.
Standaard wordt de gespreksgeschiedenis opgeslagen onder de sleutel 'history'. Deze sleutel geef je doorgaans door aan de promptsjabloon van je LLM.
De geheugensleutel aanpassen
Standaard slaat ConversationBufferMemory de geschiedenis op onder de sleutel 'history'. Je promptsjabloon kan echter een andere variabelenaam verwachten, zoals 'chat_history'.
Je kunt dit wijzigen met de parameter memory_key tijdens het initialiseren:
from langchain.memory import ConversationBufferMemory
# Initialize with a custom memory_key
memory = ConversationBufferMemory(memory_key="my_chat_history")
memory.save_context(
{"input": "What's up?"},
{"output": "Not much, just coding!"}
)
print("Memory with custom key:")
print(memory.load_memory_variables({}))Integreren met een LLM Chain
Zo integreer je ConversationBufferMemory in een LLMChain. De memory_key in ConversationBufferMemory moet overeenkomen met de variabelenaam in je PromptTemplate (bijvoorbeeld chat_history).
Vervang 'YOUR_API_KEY' door je echte OpenAI-sleutel als je dit voorbeeld volledig wilt uitvoeren.
from langchain.memory import ConversationBufferMemory
from langchain.chains import LLMChain
from langchain_openai import OpenAI
from langchain.prompts import PromptTemplate
import os
# Set your OpenAI API key (replace with your actual key or env var)
# os.environ["OPENAI_API_KEY"] = "YOUR_API_KEY"
# Initialize LLM (using a dummy if API key not set)
llm = OpenAI(temperature=0) # You might need to set openai_api_key=os.environ.get("OPENAI_API_KEY")
# Initialize memory with a key matching the prompt template
memory = ConversationBufferMemory(memory_key="chat_history")
# Define a prompt template that expects 'chat_history'
template = """You are a friendly chatbot.
{chat_history}
Human: {human_input}
AI:"""
prompt = PromptTemplate(
input_variables=["chat_history", "human_input"],
template=template
)
# Create an LLMChain with the memory
conversation = LLMChain(
llm=llm,
prompt=prompt,
verbose=False,
memory=memory
)
# First turn
print("Human: What is your capital?")
response1 = conversation.predict(human_input="What is your capital?")
print(f"AI: {response1}")
# Second turn - the AI should remember the context
print("\nHuman: And what about its population?")
response2 = conversation.predict(human_input="And what about its population?")
print(f"AI: {response2}")Wanneer gebruik je buffergeheugen?
ConversationBufferMemory is uitstekend geschikt voor korte, directe gesprekken waarin je de recente beurten exact moet kunnen terughalen.
- Voordelen: eenvoudig te implementeren en slaat volledige, onbewerkte gespreksdetails op.
- Nadelen: kan bij langere gesprekken snel het contextvenster van de LLM overschrijden. Er is geen samenvatting of filtering, waardoor het tokengebruik en de kosten toenemen.
Korte controle
Laten we testen of je ConversationBufferMemory begrijpt.
Samenvatting van buffergeheugen
We hebben ConversationBufferMemory succesvol verkend, de eenvoudigste manier van LangChain om agents een basisvorm van geheugen te geven:
- Het slaat de onbewerkte gespreksgeschiedenis op.
- Je gebruikt
save_contextom beurten toe te voegen enload_memory_variablesom ze op te halen. - Het is ideaal voor korte, directe gesprekken, maar kan bij langere gesprekken snel tegen de contextlimieten van een LLM aanlopen.
- Vergeet niet
memory_keyin te stellen als je prompt een andere variabelenaam voor de geschiedenis verwacht.
Vervolgens gaan we dieper in op geavanceerdere geheugenoplossingen die langere gesprekken beter kunnen verwerken!
Leer AI-agents met LangChain en autonome werkstromen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 50
Veelgestelde vragen
Is de les “Conversation Buffer Memory” gratis?
Ja — de volledige tekst van “Conversation Buffer Memory” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agents met LangChain en autonome werkstromen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agents met LangChain en autonome werkstromen bevat in totaal 4 lessen.
Wat leer ik in “Conversation Buffer Memory”?
Implementeer basaal conversationeel geheugen om eerdere interacties binnen de context van een agent op te slaan en op te halen Je oefent met AI-agents met LangChain en autonome werkstromen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met AI-agents met LangChain en autonome werkstromen te beginnen?
Ervaring vooraf is niet nodig. AI-agents met LangChain en autonome werkstromen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Conversation Buffer Memory”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over AI-agents met LangChain en autonome werkstromen?
Ja. Elke les over AI-agents met LangChain en autonome werkstromen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Concepten van agentgeheugen
- Conversation Buffer Memory
- Geavanceerde geheugenoplossingen
- Strategieën voor entity- en summarygeheugen