feat(04-02): create semantic search with embedding-based retrieval

- Added sentence-transformers to requirements.txt for semantic embeddings
- Created src/memory/retrieval/ module with search capabilities
- Implemented SemanticSearch class with embedding generation and vector similarity
- Added SearchResult and SearchQuery dataclasses for structured search results
- Included hybrid search combining semantic and keyword matching
- Added conversation indexing for semantic search
- Followed lazy loading pattern for embedding model performance

Files created:
- src/memory/retrieval/__init__.py
- src/memory/retrieval/search_types.py
- src/memory/retrieval/semantic_search.py
- Updated src/memory/__init__.py with enhanced MemoryManager

Note: sentence-transformers installation requires proper venv setup in production
This commit is contained in:
Mai Development
2026-01-27 23:22:50 -05:00
parent bdba17773c
commit b9aba97086
7 changed files with 1569 additions and 20 deletions

View File

@@ -0,0 +1,12 @@
"""
Memory retrieval module for Mai conversation search.
This module provides various search strategies for retrieving conversations
including semantic search, context-aware search, and timeline-based filtering.
"""
from .semantic_search import SemanticSearch
from .context_aware import ContextAwareSearch
from .timeline_search import TimelineSearch
__all__ = ["SemanticSearch", "ContextAwareSearch", "TimelineSearch"]