Files
Effi/docs/memory-research.md
T
Folzo 0fad1d7249 docs: add comprehensive memory solutions research
- Research 8 different memory solutions (mem0, LangChain, LlamaIndex, etc.)
- Document 5 levels of AI memory
- Explain why mem0 was abandoned (5-10s latency)
- Current state: manual snippets via OpenWebUI
- Future technologies: MemGPT, memory-augmented LLMs, knowledge graphs
- Recommendations for Effi short/mid/long term
2026-04-08 21:57:23 +02:00

8.8 KiB

Recherche : Solutions de Mémoire pour IA Locale

Date: Avril 2026 Contexte: Projet Effi - Assistant IA Personnel Self-Hosted Historique: mem0 abandonné (trop lent), mémoire manuelle via snippets retenu


Table des Matières

  1. Contexte et Besoins
  2. Niveaux de Mémoire IA
  3. Solutions Actuelles
  4. Comparatif Détaillé
  5. Intégration OpenWebUI
  6. Innovations et Futur
  7. Recommandations pour Effi

Contexte et Besoins

Mémoire Actuelle Effi

  • Type: Mémoire manuelle via snippets OpenWebUI
  • Avantages: Rapide, prévisible, simple
  • Inconvénients: Nécessite intervention manuelle, pas automatique

Besoins Identifiés

  1. Mémoire court terme: Conversation actuelle (context window)
  2. Mémoire long terme: Informations persistantes entre sessions
  3. Mémoire sémantique: Recherche dans les documents
  4. Mémoire épisodique: Faits importants sur l'utilisateur

Niveaux de Mémoire IA

Niveau 1 : Context Window (Mémoire Court Terme)

  • Description: Fenêtre de contexte du modèle (32K pour qwen3.5)
  • Durée: Session actuelle uniquement
  • Technologie: Native au LLM

Niveau 2 : Mémoire de Travail (Working Memory)

  • Description: Informations actives pendant une conversation
  • Durée: Conversation en cours
  • Technologie: RAG, snippets contextuels

Niveau 3 : Mémoire Long Terme (Long Term Memory)

  • Description: Informations persistantes entre sessions
  • Durée: Jours, semaines, mois
  • Technologie: Vector DB, graphe de connaissances

Niveau 4 : Mémoire Épisodique

  • Description: Faits importants sur l'utilisateur
  • Durée: Permanente
  • Technologie: KG, mem0, personnal knowledge graphs

Niveau 5 : Mémoire Procédurale

  • Description: Comment faire les choses, préférences
  • Durée: Apprentissage continu
  • Technologie: LoRA, fine-tuning

Solutions Actuelles

1. OpenWebUI Memories (Natif) ⭐ ACTUEL

Description: Système de snippets intégré à OpenWebUI

Avantages:

  • ✅ Intégré nativement
  • ✅ Simple et rapide
  • ✅ Pas de latence supplémentaire
  • ✅ Fonctionne avec Ollama

Inconvénients:

  • ❌ Manuel (snippets à créer)
  • ❌ Pas de mémorisation automatique
  • ❌ Limité en capacité

Utilisation:

  • /memory - Ajouter des souvenirs
  • Snippets dans le contexte

2. Mem0 (Abandonné par Effi)

Description: Couche de mémoire gestion pour LLM, utilisant Qdrant

Statut: ❌ ABANDONNÉ

  • Latence 5-10s par requête
  • Complexité d'installation
  • Bugs de parsing avec Ollama

Architecture:

User Message → Mem0 → Qdrant → Contexte enrichi → LLM

3. LangChain Memory

Description: Framework Python avec plusieurs types de mémoire

Types de mémoire:

  • ConversationBufferMemory
  • ConversationSummaryMemory
  • VectorStoreRetrievedMemory
  • EntityMemory

Avantages:

  • ✅ Flexible
  • ✅ Multiple backends (Redis, PostgreSQL, etc.)
  • ✅ Bien documenté

Inconvénients:

  • ❌ Complexe
  • ❌ Nécessite hébergement supplémentaire
  • ❌ Latence variable

4. LlamaIndex Memory

Description: Framework RAG avec mémoire conversationnelle

Avantages:

  • ✅ Excellent pour RAG
  • ✅ Memory over RAG
  • ✅ Queries structurées

Inconvénients:

  • ❌ Python only
  • ❌ Complexe pour usage simple

5. Qdrant (RAG Sémantique) ⭐ UTILISÉ

Description: Vector database pour recherche sémantique

Utilisation actuelle Effi:

  • Stockage des documents
  • Recherche sémantique via bge-m3
  • RAG sur documents

Configuration:

VECTOR_DB: qdrant
QDRANT_URI: http://192.168.1.27:6333

6. Personal Knowledge Graphs (PKG)

Description: Graphe de connaissances personnel

Outils:

Avantages:

  • ✅ Mémoire automatique
  • ✅ Connections sémantiques
  • ✅ Apprentissage continu

Inconvénients:

  • ❌多为 cloud
  • ❌ Pas de solution self-hosted mature

7. OpenWebUI Pipelines + Custom Memory

Description: Framework de plugins pour OpenWebUI

Possibilités:

  • Custom memory pipeline
  • Intégration avec Qdrant
  • Personnalisation complète

Statut: ❌ SUPPRIMÉ (trop complexe)


8. Beeegf (Mémoire Distribuée)

Description: Système de mémoire distribué pour agents

Avantages:

  • ✅ Pour agents multiples
  • ✅ Mémoire partagée
  • ✅ Open-source

Inconvénients:

  • ❌ Expérimental
  • ❌ Documentation limitée

Comparatif Détaillé

Solution Type Latence Complexité Self-Hosted État
OpenWebUI Snippets Manuel ~0ms Très basse ✅ ⭐ Actuel
Mem0 Auto 5-10s Haute ✅ ❌ Abandonné
LangChain Memory Hybrid Variable Haute ✅ ⚠️ Complexe
LlamaIndex RAG <1s Moyenne ✅ ⚠️ Python
Qdrant (RAG) Semantic <1s Basse ✅ ⭐ Actif
Knowledge Graph Auto <2s Moyenne ⚠️ 🔬 Émergent
Ollama Context Court 0ms Aucune ✅ ⭐ Actif

Intégration OpenWebUI

Configuration Actuelle

# OpenWebUI Settings
ENABLE_MEMORIES: true

# Mémoire = Snippets manuels
# RAG = Qdrant (documents)

Options d'Amélioration

Option A : Améliorer Mémoire Manuelle

  • Snippets plus structurés
  • Prompts enrichis
  • Routines de consolidation

Option B : RAG Amélioré

  • Indexation automatique des documents
  • Métadonnées enrichies
  • Retrieval optimisé

Option C : Graph Memory (Future)

  • Intégration knowledge graph
  • Mémoire épisodique
  • Apprentissage passif

Innovations et Futur

1. Memory-Augmented LLMs

Technologies émergentes:

  • Memento: Mémoire externalisée pour LLM
  • Atlas: Mémoire neurale sur NCEN
  • MemGPT: Extensions de contexte pour LLMs

Principe:

LLM ←→ Memory Controller ←→ External Memory

2. Continual Learning

Défi: Apprendre sans oublier

Approches:

  • LoRA adaptatif
  • Elastic Weight Consolidation
  • Progressive Neural Networks

3. Retrieval-Augmented Generation (RAG) 2.0

Innovations:

  • RAG sur mémoire conversationnelle
  • Self-RAG (auto-évaluation)
  • Corrective RAG

4. Knowledge Graphs 2.0

Évolutions:

  • Graphe de mémoire personnel
  • Extraction automatique de faits
  • Reasoning sur le graphe

5. Agents avec Mémoire

Architectures:

  • Multi-agents avec mémoire partagée
  • Hive mind pour tâches complexes
  • Mémoire épisodique pour agents

Recommandations pour Effi

Court Terme (Maintenant)

  1. Garder mémoire manuelle via snippets
  2. Optimiser RAG avec Qdrant existant
  3. Structurer les prompts pour meilleure rétention

Moyen Terme (3-6 mois)

  1. Tester LlamaIndex pour mémoire conversationnelle
  2. Expérimenter avec knowledge graphs (Obsidian + plugins)
  3. Automatiser l'indexation des documents

Long Terme (6-12 mois)

  1. Surveiller Mem0 (peut s'améliorer)
  2. Explorer MemGPT pour extensions de contexte
  3. Intégrer knowledge graph personnel

Non Recommandé

  • ❌ Retour à mem0 (trop de problèmes)
  • ❌ LangChain (complexité inutile)
  • ❌ Solutions cloud (vie privée)

Sources et Références

Documentation

Articles

Projets


Conclusion

La mémoire pour IA locale est un problème non résolu de manière satisfaisante. Les solutions automatiques comme mem0 ajoutent trop de latence. La solution manuelle via snippets reste le sweet spot entre fonctionnalité et performance.

Pour Effi: Garder l'approche actuelle et améliorer progressivement le RAG et les prompts plutôt que d'ajouter une couche de mémoire complexe.


Document créé: Avril 2026 Dernière mise à jour: Avril 2026