feat(memory): implement memory indexing and retrieval engine (#94)

Add comprehensive indexing and retrieval system for memory search:
- VectorIndex for semantic similarity search using cosine similarity
- TemporalIndex for time-based queries with range and recency support
- EntityIndex for entity-based lookups with multi-entity intersection
- OutcomeIndex for success/failure filtering on episodes
- MemoryIndexer as unified interface for all index types
- RetrievalEngine with hybrid search combining all indices
- RelevanceScorer for multi-signal relevance scoring
- RetrievalCache for LRU caching of search results

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-05 02:50:13 +01:00
parent 48ecb40f18
commit 999b7ac03f
6 changed files with 2602 additions and 3 deletions

View File

@@ -1,7 +1,56 @@
# app/services/memory/indexing/__init__.py
"""
Memory Indexing
Memory Indexing & Retrieval.
Vector embeddings and retrieval engine for memory search.
Provides vector embeddings and multiple index types for efficient memory search:
- Vector index for semantic similarity
- Temporal index for time-based queries
- Entity index for entity lookups
- Outcome index for success/failure filtering
"""
# Will be populated in #94
from .index import (
EntityIndex,
EntityIndexEntry,
IndexEntry,
MemoryIndex,
MemoryIndexer,
OutcomeIndex,
OutcomeIndexEntry,
TemporalIndex,
TemporalIndexEntry,
VectorIndex,
VectorIndexEntry,
get_memory_indexer,
)
from .retrieval import (
CacheEntry,
RelevanceScorer,
RetrievalCache,
RetrievalEngine,
RetrievalQuery,
ScoredResult,
get_retrieval_engine,
)
__all__ = [
"CacheEntry",
"EntityIndex",
"EntityIndexEntry",
"IndexEntry",
"MemoryIndex",
"MemoryIndexer",
"OutcomeIndex",
"OutcomeIndexEntry",
"RelevanceScorer",
"RetrievalCache",
"RetrievalEngine",
"RetrievalQuery",
"ScoredResult",
"TemporalIndex",
"TemporalIndexEntry",
"VectorIndex",
"VectorIndexEntry",
"get_memory_indexer",
"get_retrieval_engine",
]