Skip to main content

AgentVectorDB Header

AgentVectorDB (AVDB)

AgentVectorDB Logo

PyPI version Python License Documentation Code style: ruff PRs Welcome

The Cognitive Core for Your AI Agents - Powered by LanceDB

📚 Superagentic AI Introduction

Superagentic AI Website

📚 Project Documentation

🌟 Overview

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.

🤝 Built with LanceDB

We extend LanceDB's robust foundation with agent-specific features:

  • Agent memory patterns
  • Importance scoring
  • Context management
  • Cognitive state handling

✨ Key Features

Core Capabilities

  • 📝 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

Advanced Features

  • 🔄 Memory Lifecycle: Complete CRUD operations
  • 📊 Batch Processing: Efficient bulk operations
  • 🧹 Smart Pruning: Intelligent memory management
  • 🔧 Flexible Schema: Dynamic Pydantic schemas
  • ⏱️ Time Tracking: Automatic timestamps

📦 Installation

# Basic installation
pip install agentvectordb

# 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=1

🚀 Quick Start

from 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
)

🛠️ API Overview

Store Classes

AgentVectorDBStore

store = AgentVectorDBStore(db_path="./db")

Methods:

  • get_or_create_collection()
  • list_collections()

AsyncAgentVectorDBStore

store = AsyncAgentVectorDBStore(db_path="./db")

Collection Classes

AgentMemoryCollection

Methods:

  • add(): Add single memory
  • add_batch(): Add multiple memories
  • query(): Search memories
  • prune_memories(): Remove old memories
  • delete(): Remove memories
  • count(): Get collection size

📚 Advanced Usage

Custom Embedding Functions

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

Memory Management

# 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 Operations

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
    )

🎯 Use Cases

  • Personal AI assistants
  • Customer service bots
  • Research agents
  • Task automation agents
  • Knowledge management systems
  • Learning systems

🔄 Memory Types

  • Episodic memories
  • Semantic knowledge
  • Procedural information
  • Short-term observations
  • Long-term knowledge

🛣️ Roadmap

Upcoming features:

  • Enhanced filter builders
  • Reflection/summarization helpers
  • Schema evolution support
  • Memory consolidation
  • Extended embedding support
  • Performance optimizations

🤝 Contributing

We welcome contributions! See our Contributing Guide.

📄 License

Licensed under Apache 2.0 - same as LanceDB. See LICENSE.

🙋‍♂️ Support

🙏 Acknowledgments

Built with ❤️ by Superagentic AI using LanceDB


AgentVectorDB: Empower Your AI Agents with Memory!

Metadata

Release files for agentvectordb 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentvectordb 0.0.4
File Size Uploaded
agentvectordb-0.0.4.tar.gz 31.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentvectordb 0.0.4
File Interpreter ABI Platform
agentvectordb-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 68.2 kB

Release files / agentvectordb-0.0.4.tar.gz

Download URL agentvectordb-0.0.4.tar.gz
Size 31.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f0ad990c94ffa7e4fa85ea25642708ab43920b91b2c05a360f7dc26b418eefea
BLAKE2b-256 checksum
How to use checksums
8caa6faebf82dfeeeebe2c7ade71d66139ba3f874b9daccfd14d7c4bf046b614
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / agentvectordb-0.0.4-py3-none-any.whl

Download URL agentvectordb-0.0.4-py3-none-any.whl
Size 36.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
759bd4c0ba923bc88a8629c724d0bedc05e6b1ff6f08cc488c0c3d957e65c314
BLAKE2b-256 checksum
How to use checksums
5687c777cfcd28d8bd89aebb8038a926580eee434452981b066b4e38a041d61d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.0.5

2 release files

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page