Skip to content

v0.2.0 — Tree Memory: O(log N) exact recall, 100% NIAH

Latest

Choose a tag to compare

@varshinicb1 varshinicb1 released this 22 Jun 02:32

What's New

Tree Memory Backend (O(log N))

  • HyperbolicMemoryTree with B-tree splitting and per-depth beam search
  • 100% recall on Needle-in-a-Haystack at all context lengths (60/60)
  • ~3.7ms recall at 500 turns, ~2.5ms average
  • Euclidean key storage for internal nodes (fixes hyperbolic averaging collapse)

Insert Speed Optimization

  • Batched log_map: 85% faster inserts at 1K facts
  • Lazy ancestor updates with dirty flags (_mark_dirty\ / _flush_updates)
  • Defaults tuned: branching_factor 4, max_depth 20

Integration

  • \IcmLlm\ supports both backends: --memory-backend flat\ (default) or \ ree\
  • SQLite persistence: memory_backend stored/restored in session metadata
  • CLI: \icm-chat --memory-backend tree, \icm-server --memory-backend tree\
  • Demo: \icm-demo --memory-backend tree\ with topic-anchored embeddings

Viral Launch

  • Colab notebook: \icm_demo.ipynb\ with flat + tree + NIAH demos
  • GitHub Actions CI + PyPI auto-publish
  • Social preview card, CITATION.cff, CONTRIBUTING.md
  • Share buttons: Tweet, HN, Reddit, Product Hunt

Fixes

  • Similarity direction: beam search/routing/splitting now sort ascending (closest first)
  • Double-padding in _best_child: removed duplicate [0]\ dim expansion
  • SQLite persist: memory_backend routed through metadata dict
  • icm-demo tree: topic-anchored embeddings for correct (non-random) recall

81 tests passing | 100% NIAH recall | Any HuggingFace model