- 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
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
- Contexte et Besoins
- Niveaux de Mémoire IA
- Solutions Actuelles
- Comparatif Détaillé
- Intégration OpenWebUI
- Innovations et Futur
- 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
- Mémoire court terme: Conversation actuelle (context window)
- Mémoire long terme: Informations persistantes entre sessions
- Mémoire sémantique: Recherche dans les documents
- 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:
- Mem: https://mem.ai (cloud)
- Nexus: https://nexus.minddrop.net (fermé)
- Corallium: Alternative open-source
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)
- Garder mémoire manuelle via snippets
- Optimiser RAG avec Qdrant existant
- Structurer les prompts pour meilleure rétention
Moyen Terme (3-6 mois)
- Tester LlamaIndex pour mémoire conversationnelle
- Expérimenter avec knowledge graphs (Obsidian + plugins)
- Automatiser l'indexation des documents
Long Terme (6-12 mois)
- Surveiller Mem0 (peut s'améliorer)
- Explorer MemGPT pour extensions de contexte
- 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
- Memory-Augmented Language Models (Stanford)
- MemGPT: Towards LLMs as Operating Systems
- RAG vs Fine-tuning vs Memories
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