zeekay
|
d36da09318
|
feat(memory): Add multi-backend memory system with LanceDB, KuzuDB, and InfinityDB support
- Implemented pluggable backend architecture with BackendRegistry
- Added support for three database backends:
- LanceDB: Vector database with embeddings and SQL-like queries
- KuzuDB: Graph database for relationship-based memory storage
- InfinityDB: High-performance vector database
- Local files: Simple JSON storage (default)
- Created clean accessor syntax for backend selection:
- Dictionary syntax: memory['backend']
- Attribute syntax: memory.backend
- Context manager: async with memory.use('backend')
- Added backend-specific features:
- Vector similarity search (LanceDB, InfinityDB)
- Graph relationships and traversal (KuzuDB)
- Markdown import support across all backends
- Capability-based backend selection
- Fixed compatibility issues:
- Resolved async/sync method signatures
- Fixed DataFrame operations (pandas vs polars)
- Added proper JSON parsing for metadata fields
- Implemented missing base class methods
- Added comprehensive test coverage and examples
- Created unified memory interface in memory.py
- All tests passing for available backends
|
2025-09-26 14:19:43 -05:00 |
|