The Cognitive Core for Your AI Agents - Powered by LanceDB
AgentVectorDB (AVDB) is a specialized memory management system developed by Superagentic AI. Built on top of LanceDB's powerful vector database capabilities, it provides optimized cognitive architecture for AI agents.
We extend LanceDB's robust foundation with agent-specific features:
- Agent memory patterns
- Importance scoring
- Context management
- Cognitive state handling
- π Persistent Storage: File-based, no server required
- π Semantic Search: Efficient ANN search with filtering
- β‘ Async Support: High-performance async/await API
- π― Agent-Optimized: Purpose-built for AI systems
- π Memory Lifecycle: Complete CRUD operations
- π Batch Processing: Efficient bulk operations
- π§Ή Smart Pruning: Intelligent memory management
- π§ Flexible Schema: Dynamic Pydantic schemas
- β±οΈ Time Tracking: Automatic timestamps
# Basic installation
pip install agentvectordb
# With all extras (recommended)
pip install "agentvectordb[all]"
# Development installation
git clone https://github.com/superagenticai/agentvectordb.git
cd agentvectordb
pip install -e ".[dev]"
#For windows if you encounter UnicodeDecodeError set $env:PYTHONUTF8=1from agentvectordb import AgentVectorDBStore
from agentvectordb.embeddings import DefaultTextEmbeddingFunction
# Initialize store
store = AgentVectorDBStore(db_path="./agent_db")
ef = DefaultTextEmbeddingFunction(dimension=384)
# Create collection
memories = store.get_or_create_collection(
name="agent_memories",
embedding_function=ef
)
# Add memories (minimum 8 recommended)
initial_memories = [
{
"content": "User prefers dark mode",
"type": "preference",
"importance_score": 0.8
},
# Add more memories...
]
# Add batch
memories.add_batch(initial_memories)
# Query memories
results = memories.query(
query_text="user preferences",
k=2
)store = AgentVectorDBStore(db_path="./db")Methods:
get_or_create_collection()list_collections()delete_collection()
store = AsyncAgentVectorDBStore(db_path="./db")Methods:
add(): Add single memoryadd_batch(): Add multiple memoriesquery(): Search memoriesprune_memories(): Remove old memoriesdelete(): Remove memoriescount(): Get collection size
from agentvectordb.embeddings import BaseEmbeddingFunction
class CustomEmbedder(BaseEmbeddingFunction):
def __init__(self, dimension=384):
super().__init__(dimension=dimension)
def embed(self, texts):
# Your embedding logic here
return vectors# Prune old memories
pruned = collection.prune_memories(
max_age_seconds=7*24*3600, # 7 days
min_importance_score=0.3
)
# Complex queries
results = collection.query(
query_text="important task",
filter_sql="type = 'task' AND importance_score > 0.8",
k=5
)async def handle_memories():
store = AsyncAgentVectorDBStore(db_path="./async_db")
collection = await store.get_or_create_collection(
name="async_memories",
embedding_function=ef
)
await collection.add_batch(memories)
results = await collection.query(
query_text="search term",
k=5
)- Personal AI assistants
- Customer service bots
- Research agents
- Task automation agents
- Knowledge management systems
- Learning systems
- Episodic memories
- Semantic knowledge
- Procedural information
- Short-term observations
- Long-term knowledge
Upcoming features:
- Enhanced filter builders
- Reflection/summarization helpers
- Schema evolution support
- Memory consolidation
- Extended embedding support
- Performance optimizations
We welcome contributions! See our Contributing Guide.
Licensed under Apache 2.0 - same as LanceDB. See LICENSE.
- GitHub Issues: Technical support
- Email: support@super-agentic.ai
- Enterprise: enterprise@super-agentic.ai
Built with β€οΈ by Superagentic AI using LanceDB
AgentVectorDB: Empower Your AI Agents with Memory!

