simulatecraft.memory.retrieval¶
simulatecraft.memory.retrieval
¶
Retrieval: recency + importance + embedding-similarity scoring over a MemoryStream.
EmbeddingBackend
¶
Swappable embedding backend. Implement embed(list[str]) -> (n, dim) float32.
HashingEmbedding
¶
Bases: EmbeddingBackend
Dependency-free deterministic embeddings via character n-gram hashing.
Quality is far below a real model but it keeps tests and offline demos working with zero downloads. Swap in SentenceTransformerBackend for real use.
Source code in src/simulatecraft/memory/retrieval.py
SentenceTransformerEmbedding
¶
Bases: EmbeddingBackend
Local sentence-transformers model (downloaded on first use).
Source code in src/simulatecraft/memory/retrieval.py
Retriever
¶
Retriever(stream: MemoryStream, embedding_backend: EmbeddingBackend | None = None, *, w_relevance: float = 1.0, w_recency: float = 1.0, w_importance: float = 1.0, recency_decay: float = 0.995)
Weighted relevance+recency+importance retrieval (Generative Agents style).
Source code in src/simulatecraft/memory/retrieval.py
default_backend
¶
default_backend(prefer_transformer: bool = False) -> EmbeddingBackend
Use hashing embeddings by default (zero downloads).
Pass prefer_transformer=True or set SIMULATECRAFT_EMBEDDINGS=transformer
to load sentence-transformers (requires the optional embeddings extra).