0Pricing
AI Agents with LangChain & Autonomous Workflows · Leçon

Mémoire tampon des conversations

Mettez en œuvre une mémoire conversationnelle de base pour stocker et récupérer les interactions passées dans le contexte d’un agent.

Mémoire tampon des conversations est une leçon AI Agents with LangChain & Autonomous Workflows gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents with LangChain & Autonomous Workflows, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents with LangChain & Autonomous Workflows comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Why Agents Need Memory

Imagine having a conversation where you instantly forget everything said just a moment ago. That's what happens to an AI agent without memory!

Agents often need to recall past interactions to maintain context. Without memory, each turn is a fresh start, leading to repetitive or nonsensical conversations.

What is Buffer Memory?

ConversationBufferMemory is LangChain's simplest memory type. It stores the raw, unsummarized conversation history directly.

Think of it like keeping a full transcript of everything said, in the exact order it was said. It's straightforward and easy to use for basic conversational recall.

Initializing Buffer Memory

To use ConversationBufferMemory, you simply import it and create an instance. It's often integrated into a Chain, but we can explore it standalone first.

Let's initialize a memory object and peek at its initial (empty) state:

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({}))

Saving Conversation Context

The save_context method is how you add new user inputs and AI outputs to the memory. It takes two dictionaries: one for inputs and one for outputs.

This method is crucial because it's how the memory 'learns' from the ongoing conversation and builds its history.

Code Demo: Saving Context

Let's add a simple interaction to our memory object and see how it stores the conversation turn.

Notice how the 'input' and 'output' are paired and stored as 'Human' and 'AI' messages.

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({}))

Retrieving Stored History

To access the stored conversation history, you use the load_memory_variables method. It returns a dictionary containing the memory content.

By default, the conversation history is stored under the key 'history'. This key is what you'll typically pass into your LLM's prompt template.

Customizing the Memory Key

By default, ConversationBufferMemory stores history under the key 'history'. However, your prompt template might expect a different variable name, like 'chat_history'.

You can change this using the memory_key parameter during initialization:

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({}))

Integrating with an LLM Chain

Here's how you integrate ConversationBufferMemory into an LLMChain. The memory_key in the ConversationBufferMemory must match the variable name in your PromptTemplate (e.g., chat_history).

Remember to replace 'YOUR_API_KEY' with your actual OpenAI key if you want to run this example fully.

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}")

When to Use Buffer Memory

ConversationBufferMemory is excellent for short, direct conversations where you need exact recall of recent turns.

  • Pros: Simple to implement, stores full, unedited conversation details.
  • Cons: Can quickly exceed the LLM's context window for longer chats, no summarization or filtering, leading to higher token usage and costs.

Quick Check

Let's test your understanding of ConversationBufferMemory.

Buffer Memory Summary

We've successfully explored ConversationBufferMemory, LangChain's simplest way to give agents a basic form of memory:

  • It stores raw conversation history.
  • You use save_context to add turns and load_memory_variables to retrieve them.
  • It's ideal for short, direct conversations but can quickly hit LLM context limits with longer chats.
  • Remember to set memory_key if your prompt expects a different variable name for history.

Next, we'll dive into more advanced memory solutions that handle longer conversations better!

Questions Fréquemment Posées

La leçon « Mémoire tampon des conversations » est-elle gratuite ?

Oui — le texte complet de « Mémoire tampon des conversations » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents with LangChain & Autonomous Workflows, passe à CoddyKit PRO. Le cours AI Agents with LangChain & Autonomous Workflows comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mémoire tampon des conversations » ?

Mettez en œuvre une mémoire conversationnelle de base pour stocker et récupérer les interactions passées dans le contexte d’un agent. Tu pratiques AI Agents with LangChain & Autonomous Workflows avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Agents with LangChain & Autonomous Workflows ?

Aucune expérience préalable n'est requise. AI Agents with LangChain & Autonomous Workflows sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Mémoire tampon des conversations » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Agents with LangChain & Autonomous Workflows ?

Oui. Chaque leçon AI Agents with LangChain & Autonomous Workflows inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Concepts liés à la mémoire des agents
  2. Mémoire tampon des conversations
  3. Solutions avancées de mémoire
  4. Stratégies de mémoire des entités et des résumés
← Retour à AI Agents with LangChain & Autonomous Workflows