memory_baidu_embedding_db
Semantic memory system using Baidu Embedding-V1 for secure, local vector storage and retrieval in Clawdbot with SQLite persistence.
Description
Memory Baidu Embedding DB - Semantic Memory for Clawdbot
Vector-Based Memory Storage and Retrieval Using Baidu Embedding Technology
A semantic memory system for Clawdbot that uses Baidu's Embedding-V1 model to store and retrieve memories based on meaning rather than keywords. Designed as a secure, locally-stored replacement for traditional vector databases like LanceDB.
🚀 Features
- Semantic Memory Search - Find memories based on meaning, not just keywords
- Baidu Embedding Integration - Uses Baidu's powerful Embedding-V1 model
- SQLite Persistence - Local, secure storage without external dependencies
- Zero Data Leakage - All processing happens locally with your API credentials
- Flexible Tagging System - Organize memories with custom tags and metadata
- High Performance - Optimized vector similarity calculations
- Easy Migration - Drop-in replacement for memory-lancedb systems
🎯 Use Cases
- Conversational Context - Remember user preferences and conversation history
- Knowledge Management - Store and retrieve information semantically
- Personalization - Maintain user-specific settings and preferences
- Information Retrieval - Find related information based on meaning
- Data Organization - Structure memories with tags and metadata
📋 Requirements
- Clawdbot installation
- Baidu Qianfan API credentials (API Key and Secret Key)
- Python 3.8+
- Internet connection for initial API calls
🛠️ Installation
Manual Installation
- Place the skill files in your
~/clawd/skills/directory - Install dependencies (if any Python packages are needed)
- Configure your Baidu API credentials
Configuration
Set environment variables:
export BAIDU_API_STRING='${BAIDU_API_STRING}'
export BAIDU_SECRET_KEY='${BAIDU_SECRET_KEY}'
🚀 Usage Examples
Basic Usage
from memory_baidu_embedding_db import MemoryBaiduEmbeddingDB
# Initialize the memory system
memory_db = MemoryBaiduEmbeddingDB()
# Add a memory
memory_db.add_memory(
content="The user prefers concise responses and enjoys technical discussions",
tags=["user-preference", "communication-style"],
metadata={"importance": "high"}
)
# Search for related memories using natural language
related_memories = memory_db.search_memories("What does the user prefer?", limit=3)
Advanced Usage
# Add multiple memories with rich metadata
memory_db.add_memory(
content="User's favorite programming languages are Python and JavaScript",
tags=["tech-preference", "programming"],
metadata={"confidence": 0.95, "source": "conversation-2026-01-30"}
)
# Search with tag filtering
filtered_memories = memory_db.search_memories(
query="programming languages",
tags=["tech-preference"],
limit=5
)
🔧 Integration
This skill integrates seamlessly with Clawdbot's memory system as a drop-in replacement for memory-lancedb. Simply update your configuration to use this memory system instead of the traditional one.
📊 Performance
- Vector Dimension: 384 (Baidu Embedding-V1 output)
- Storage: SQLite database (~1MB per 1000 memories)
- Search Speed: ~50ms for 1000 memories (on typical hardware)
- API Latency: Depends on Baidu API response time (typically <500ms)
🔐 Security
- Local Storage: All memories stored in local SQLite database
- Encrypted API Keys: Credentials stored securely in environment variables
- No External Sharing: Memories never leave your system
- Selective Access: Granular control over what gets stored
🔄 Migration from memory-lancedb
- Install this skill in your
skills/directory - Configure your Baidu API credentials
- Initialize the new system
- Update your bot configuration to use the new memory system
- Verify data integrity and performance
🤝 Contributing
We welcome contributions! Feel free to submit issues, feature requests, or pull requests to improve this skill.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!