Construire un RAG Conversationnel avec Mémoire Long-Terme
Guide complet pour implémenter un système de mémoire persistante permettant des conversations contextuelles sur plusieurs sessions.
RAG Conversationnel avec Mémoire Long-Terme
Introduction
Un système RAG classique traite chaque requête indépendamment. Mais les utilisateurs s'attendent à des conversations continues, où l'assistant se souvient des échanges précédents. Ce guide explique comment implémenter une mémoire persistante.
Types de Mémoire
1. Mémoire de Session (Court-Terme)
- Durée : Une conversation
- Contenu : Historique des messages
- Usage : Maintenir le contexte immédiat
- Stockage : Redis
2. Mémoire Utilisateur (Long-Terme)
- Durée : Permanente
- Contenu : Préférences, informations apprises
- Usage : Personnalisation
- Stockage : PostgreSQL
3. Mémoire Épisodique
- Durée : Permanente
- Contenu : Conversations passées marquantes
- Usage : Référencer des échanges antérieurs
- Stockage : Qdrant (vectoriel)
Architecture
Le flux comprend : User Message > Memory Retrieval Layer (Session Memory Redis + User Profile Postgres + Episodic Memory Qdrant) > Context Builder > RAG Pipeline > Memory Update Layer.
Implémentation
1. Gestion de la Mémoire de Session
Utiliser Redis avec TTL de 24h, garder les N derniers messages pour éviter l'explosion.
DEVELOPERpythonclass SessionMemory: def __init__(self, redis_client, session_id, max_messages=20): self.redis = redis_client self.session_id = session_id self.max_messages = max_messages self.ttl = 86400 # 24h
2. Extraction de Faits Utilisateur
Extraire les faits durables : profession, niveau d'expertise, technologies utilisées, préférences.
3. Mémoire Épisodique Vectorielle
Créer des résumés mémorables des sessions, calculer l'importance, stocker dans Qdrant.
4. Construction du Contexte
Combiner profil utilisateur + souvenirs pertinents + historique de session.
Bonnes Pratiques
1. Gestion de la Vie Privée
Implémenter un mécanisme forget_user pour RGPD : supprimer profil, mémoire épisodique, et sessions.
2. Limitations de Taille
- MAX_FACTS = 20
- MAX_EPISODIC_MEMORIES = 100
- MAX_SESSION_MESSAGES = 50
Nettoyer régulièrement les vieux souvenirs en gardant les plus importants/récents.
Conclusion
La mémoire long-terme transforme un chatbot en véritable assistant personnel. Les utilisateurs apprécient de ne pas avoir à se répéter, et la personnalisation améliore significativement la qualité des réponses.
Points clés :
- Séparer les types de mémoire selon leur durée et usage
- Extraction intelligente des faits persistants
- Recherche sémantique pour les souvenirs épisodiques
- Respect de la vie privée avec mécanismes d'oubli
Tags
Articles connexes
RAG Conversationnel : Memoire et contexte multi-sessions
Implementez un RAG avec memoire conversationnelle : gestion du contexte, historique multi-sessions et personnalisation des reponses.
RAG E-commerce Avancé : Au-delà du Support Client
Stratégies avancées de RAG pour l'e-commerce : recommandations personnalisées, personal shopper IA, recherche conversationnelle, et optimisation du parcours d'achat.
Query Routing : Orienter les requêtes vers la bonne source
Implémentez le query routing pour diriger chaque requête vers la source de données optimale. Classification, routage LLM et stratégies avancées.