Digital Spirit
Module 04Agents IABloc 1LLM APIs & Fondations

Heure 05 / 20 · Heures 1–5

Mémoire : Types et implémentation

Objectif — Donner de la mémoire à un agent pour qu'il apprenne du contexte.

Théorie
15 min
Pratique
45 min

Objectif : Donner de la mémoire à un agent pour qu'il apprenne du contexte.

Théorie (15 min) :

  • Types de mémoire (de la plus simple à la plus puissante) :
    • Buffer Memory : Stocker les N derniers messages (session seulement)
    • Summary Memory : Résumer les anciennes conversations (économise les tokens)
    • Vector Store Memory : Stocker les faits importants dans une DB vectorielle (persistant)
    • Entity Memory : Mémoriser les entités mentionnées (noms, entreprises, etc.)

Pratique (45 min) :

from langchain.memory import ConversationBufferWindowMemory
from langchain.chains import ConversationChain

# Buffer Memory (session)
memory = ConversationBufferWindowMemory(k=5)  # Retient les 5 derniers échanges
chain = ConversationChain(llm=llm, memory=memory)

# Test de mémoire
chain.predict(input="Mon prénom est Ismaïl.")
chain.predict(input="Je travaille dans la fintech.")
response = chain.predict(input="Résume ce que tu sais sur moi.")
print(response)  # Doit mentionner Ismaïl et la fintech
  • Implémenter Buffer Memory : Tester que l'agent se souvient des 5 derniers échanges
  • Implémenter Summary Memory : Observer comment les vieux messages sont résumés
  • Introduire ChromaDB (vector store local) pour la mémoire persistante
  • Stocker 10 faits sur un "client fictif" → Redemander 3 jours après (mémoire persistante)

Checkpoint : Ton agent se souvient entre les sessions.