| """
|
| MnemoCore 60-Second "Wow" Demo
|
| Showcasing Persistent Cognitive Memory, Analogy Reasoning, and Decay.
|
| Run this directly: `python demo_wow.py`
|
| """
|
|
|
| import asyncio
|
| import tempfile
|
| import os
|
| from mnemocore.core.engine import HAIMEngine
|
|
|
| async def main():
|
| print("[1] Booting MnemoCore HAIM Engine...")
|
|
|
|
|
| temp_dir = tempfile.mkdtemp()
|
| demo_db_path = os.path.join(temp_dir, "demo_memory.jsonl")
|
|
|
| engine = HAIMEngine(persist_path=demo_db_path)
|
|
|
|
|
| from mnemocore.core.holographic import ConceptualMemory
|
| engine.soul = ConceptualMemory(dimension=engine.dimension, storage_dir=temp_dir)
|
|
|
| await engine.initialize()
|
|
|
| print("\n[2] Teaching the AI facts and procedures...")
|
| await engine.store("The company's main language is Python.", goal_id="onboarding")
|
| await engine.store("If the database locks, restart the Redis pod.", metadata={"type": "procedure"})
|
|
|
|
|
| print(" [Syncing memory tiers...]")
|
| await asyncio.sleep(0.5)
|
|
|
| print("\n[3] Retrieving context associatively...")
|
| results = await engine.query("If the database locks, what should I do?")
|
| print(f" [Debug: raw query results: {results}]")
|
| if results:
|
| mem = await engine.get_memory(results[0][0])
|
| print(f" -> Top memory retrieved: '{mem.content}' (Score: {results[0][1]:.2f})")
|
| else:
|
| print(" -> No memories found.")
|
|
|
| print("\n[4] VSA Analogical Reasoning (Math in 16k-dimensions)...")
|
| await engine.define_concept("CTO", {"role": "technical_leader", "gender": "neutral"})
|
| await engine.define_concept("CEO", {"role": "business_leader", "gender": "neutral"})
|
| await engine.define_concept("code", {"domain": "technical_leader"})
|
|
|
| print(" If CTO : code :: CEO : ?")
|
| analogy = await engine.reason_by_analogy(src="CTO", val="code", tgt="CEO")
|
| print(f" -> The engine deduced: {analogy[0][0]} (Confidence: {analogy[0][1]:.2f})")
|
|
|
| print("\n[Success] MnemoCore transforms data storage into cognitive reasoning. Try it in your agents today!")
|
| await engine.close()
|
|
|
|
|
| if os.path.exists(demo_db_path):
|
| os.remove(demo_db_path)
|
| if os.path.exists(os.path.join(temp_dir, "codebook.json")):
|
| os.remove(os.path.join(temp_dir, "codebook.json"))
|
| if os.path.exists(os.path.join(temp_dir, "concepts.json")):
|
| os.remove(os.path.join(temp_dir, "concepts.json"))
|
| os.rmdir(temp_dir)
|
|
|
| if __name__ == "__main__":
|
| asyncio.run(main())
|
|
|