Documentation

VectorVaultAI Docs

Everything you need to add persistent semantic memory to your AI app — in under 10 minutes.

Quickstart

The fastest way to get started. Store a memory, retrieve it by meaning.

# 1. Install
pip install vectorvaultai

# 2. Store a memory
from vectorvaultai import VaultClient

vault = VaultClient(api_key="vv_your_api_key")

vault.remember(
    "User prefers dark mode and concise responses",
    tags=["preferences", "ui"]
)

# 3. Recall semantically similar memories
results = vault.recall("What does this user like?")
print(results[0]['content'])
# → "User prefers dark mode and concise responses"

Installation

Python

pip install vectorvaultai

TypeScript / Node

npm install vectorvaultai

REST API

All endpoints are available at https://api.vectorvaultai.com/v1 — no SDK required.

Authentication

All requests require an API key passed as a header or in the client constructor.

# Python
vault = VaultClient(api_key="vv_your_api_key")

# TypeScript
import { VaultClient } from 'vectorvaultai'
const vault = new VaultClient({ apiKey: 'vv_your_api_key' })

# REST
curl https://api.vectorvaultai.com/v1/recall \
  -H "Authorization: Bearer vv_your_api_key" \
  -d '{"query": "user preferences"}'

🔑 Get your API key from the early access waitlist. Keys are issued during private beta.

vault.remember()

Store any text as a memory. It gets embedded and indexed automatically.

vault.remember(content, tags=[], namespace="default", metadata={})

Returns a memory ID string.

ParameterTypeDescription
contentstringThe text to store
tagsstring[]Optional labels for filtering recalls
namespacestringIsolate memories by user, session, or agent
metadataobjectAny JSON-serializable data to attach
memory_id = vault.remember(
    "User completed onboarding on 2026-05-17",
    tags=["onboarding", "milestone"],
    namespace="user_42",
    metadata={ "user_id": 42, "plan": "pro" }
)

vault.recall()

Retrieve the most semantically similar memories to a natural language query.

vault.recall(query, top_k=5, namespace="default", tags=[])

Returns a list of memory objects sorted by similarity score.

results = vault.recall(
    "What has this user done so far?",
    top_k=3,
    namespace="user_42"
)

for r in results:
    print(r['content'], "→ score:", r['score'])
# "User completed onboarding on 2026-05-17" → score: 0.94

vault.forget()

Delete a specific memory by ID, or clear all memories in a namespace.

# Delete one memory
vault.forget(memory_id="mem_abc123")

# Clear an entire namespace
vault.forget(namespace="user_42")

Namespaces

Namespaces isolate memories so they don't bleed between users, sessions, or agents. Always use them in production.

# Per-user namespace
vault.remember("...", namespace=f"user_{user_id}")

# Per-session namespace
vault.remember("...", namespace=f"session_{session_id}")

# Per-agent namespace
vault.remember("...", namespace="agent_support_bot")

LangChain Integration

Drop VectorVaultAI in as a LangChain memory backend with one line.

from vectorvaultai.integrations import VaultMemory
from langchain.chains import ConversationChain

memory = VaultMemory(api_key="vv_your_key", namespace="user_42")

chain = ConversationChain(
    llm=your_llm,
    memory=memory
)
# Memories persist automatically across sessions ✅

OpenAI Agents

Inject recalled memories into your system prompt before each call.

import openai

memories = vault.recall(user_message, namespace=f"user_{user_id}")
memory_context = "\n".join([m['content'] for m in memories])

response = openai.chat.completions.create(
    model="gpt-4o",
    messages=[
        { "role": "system", "content": f"What you know about this user:\n{memory_context}" },
        { "role": "user", "content": user_message }
    ]
)

Limits & Quotas

PlanVectorsRecalls/moNamespaces
Starter1M100K3
Pro10MUnlimitedUnlimited
EnterpriseUnlimitedUnlimitedUnlimited

Error Codes

CodeMeaning
401Invalid or missing API key
429Rate limit exceeded
507Vector quota exceeded — upgrade your plan
500Internal server error — contact support

🚧 VectorVaultAI is in private beta. APIs may change before general availability. Join the waitlist to get notified.