Mnemonic est un moteur de mémoire vectorielle local et autonome, conçu pour stocker et retrouver des souvenirs riches de sens : prompts, réponses, réflexions, faits. Il s’intègre facilement à tout agent (comme Nexus) et fournit une continuité contextuelle à vos systèmes.
- Ajout de souvenirs : texte, tags, timestamp, source, métadonnées
- Recherche vectorielle : par similarité sémantique (cosine ou FAISS)
- Filtrage avancé : par tags, date (avant/après)
- Persistance locale : en
.jsonl(léger) ou viaFAISS(scalable) - Interface unifiée :
MnemonicMemorychoisit automatiquement le backend - Fonctionne entièrement hors ligne
Mnemonic/
├── mnemonic/ # Code source principal
│ ├── __init__.py # Expose MnemonicMemory
│ ├── memory_interface.py # Interface abstraite
│ ├── memory_store.py # Backend JSONL
│ ├── faiss_memory_store.py # Backend FAISS
│ ├── embedding_model.py # Modèle de vectorisation
│ ├── mnemonic_memory.py # Classe centrale unifiée
│ └── utils.py # Filtres (tags, dates)
│
├── data/ # Fichiers persistants
│ ├── memory.jsonl # Souvenirs
│ └── index.faiss # Index vectoriel
│
├── examples/ # Démonstrations et API
│ ├── demo.py
│ ├── api.py
│ └── client.py
│
├── tests/ # Tests unitaires
│ └── test_memory.py
│
├── README.md
├── requirements.txt
from mnemonic import MnemonicMemory
memory = MnemonicMemory(backend="auto")
memory.add(
input="Pourquoi le ciel est bleu ?",
output="À cause de la diffusion de Rayleigh.",
tags=["physique"],
source="wiki"
)
résultats = memory.search(
query="Pourquoi voit-on du bleu dans le ciel ?",
tags=["physique"],
after="2025-01-01"
)
for r in résultats:
print(f"{r['timestamp']} → {r['output']}")2025-05-15T19:11:54.635058 → À cause de la diffusion de Rayleigh.
Mnemonic peut être lancé en tant qu’API HTTP locale avec FastAPI.
uvicorn examples.api:app --reload
Le serveur est disponible sur http://localhost:8000
-
POST /memory/add
Ajouter un souvenir (input/output/tags/source) -
GET /memory/search
Rechercher un souvenir via une requête vectorielle
Exemple :/memory/search?query=le+ciel+est+bleu&tags=physique&after=2025-01-01 -
GET /memory/all
Voir tous les souvenirs, avec filtres (tags/date) -
DELETE /memory/delete?id=...
Supprimer un souvenir via son identifiant
Un script de test est disponible dans examples/client.py :
python examples/client.py
- Agent conversationnel : garde mémoire des échanges
- Recherche augmentée locale : stocke des extraits/documentations vectorisés
- Mémoire d’auteur : enregistre idées, réflexions, brouillons
- IA réflexive : trace de raisonnement, analyse cognitive
git clone https://github.com/Ybucaille/Mnemonic.git
cd Mnemonic
pip install -r requirements.txt
Requiert Python 3.9+, sentence-transformers, faiss-cpu.
| Version | Fonctionnalité | Statut |
|---|---|---|
| v1.0 | Mémoire vectorielle locale (JSON/FAISS) | Stable |
| v1.1 | Interface REST | Stable |
| v2.0 | Multi-couches (STM,MTM,LTM,épisodique) | En Developpement |
MIT — libre à utiliser, modifier, intégrer.