Skip to main content

General Questions

What is Memvid?

Memvid is a portable AI memory system that packages your data, embeddings, and search indices into a single .mv2 file. It’s designed for building RAG applications, AI agents, and knowledge bases without the complexity of traditional vector databases.

Is Memvid open source?

Yes, the core library (memvid-core) is open source. The Python SDK and Node.js SDK are available as packages with comprehensive documentation.

What makes Memvid different from other vector databases?

Memvid’s key differentiator is single-file portability. Unlike traditional vector databases that require servers and complex configurations, a .mv2 file contains everything, your data, embeddings, indices, and metadata, in one portable file.

What platforms does Memvid support?

Memvid supports:
  • macOS (Intel and Apple Silicon)
  • Linux (x86_64 and ARM64)
  • Windows (x86_64)

File Format

Can I rely on a single .mv2 file in production?

Yes. Memvid is designed for production use. The .mv2 file is completely self-contained with no sidecar files, no external dependencies, and no hidden state. Copying the file transfers the entire memory, including the write-ahead log and all indices.

How large can a .mv2 file be?

File size depends on your capacity tier:
TierCapacityWAL Size
Free1 GB4 MB
Developer25 GB16 MB
EnterpriseUnlimited64 MB
The embedded WAL automatically scales with file size for optimal performance.

Can multiple processes access the same file?

Yes, with some rules:
  • Multiple readers: Allowed simultaneously
  • Single writer: Only one writer at a time
  • Read-only mode: Use read_only=True for concurrent read access
Writers use OS-level exclusive locks to prevent conflicts.

Performance

How fast is Memvid?

Memvid is built in Rust for maximum performance:
OperationPerformance
Search (1K docs)< 1ms
Search (100K docs)< 10ms
Single doc ingestion1-10 docs/sec
Batch ingestion (put_many)500-1000 docs/sec
WAL append< 0.1ms

What search modes are available?

  • Lexical (lex): BM25 keyword search for exact matches
  • Semantic (sem): Vector search for conceptual similarity
  • Hybrid (auto): Combines both for best results (recommended)

How do I optimize search performance?

  1. Build indices: Ensure lexical and vector indices are enabled
  2. Use batch ingestion: Use put_many() for 100-200x faster ingestion
  3. Enable parallel segments: Use --parallel-segments for large datasets
  4. Choose the right mode: Use lex for keywords, sem for concepts, auto for general queries

SDKs and Integration

Which programming languages are supported?

  • Python: pip install memvid-sdk
  • Node.js: npm install @memvid/sdk
  • Rust: Use memvid-core crate directly
  • CLI: cargo install memvid-cli

Can I use Memvid with LangChain?

Yes! Both Python and Node.js SDKs support framework adapters: Python:
from memvid_sdk import use
mem = use('langchain', 'knowledge.mv2')
tools = mem.tools  # LangChain StructuredTool objects
Node.js:
import { use } from '@memvid/sdk';
const mv = await use('langchain', 'knowledge.mv2');

What AI frameworks are supported?

Python SDK:
  • LangChain
  • LlamaIndex
  • CrewAI
  • AutoGen
  • Haystack
Node.js SDK:
  • Vercel AI SDK
  • OpenAI Functions
  • LangChain.js
  • Semantic Kernel

Capacity and Storage

What happens when I exceed capacity?

You’ll receive a CapacityExceeded error (MV001). Solutions:
  1. Delete unused frames: memvid delete knowledge.mv2 --frame-id <id>
  2. Vacuum to reclaim space: memvid doctor knowledge.mv2 --vacuum
  3. Create a larger memory file with a higher tier

How do I check my storage usage?

memvid stats knowledge.mv2
This shows document count, size, capacity, and utilization percentage.

Can I reduce storage size?

Yes, use vector compression:
memvid put knowledge.mv2 --input docs/ --vector-compression
Vector compression provides 16x smaller vectors with minimal quality loss.

Troubleshooting

Why is my file locked?

Another process is using the file. Check for:
  • Other terminals running memvid commands
  • Running applications with open handles
  • Stale processes (use lsof your-file.mv2 to find them)
Use memvid who your-file.mv2 to see who holds the lock.

Why are my searches returning no results?

  1. Check indices: Run memvid stats your-file.mv2 to verify indices exist
  2. Try different modes: Use --mode lex for keywords or --mode sem for concepts
  3. Rebuild indices: Run memvid doctor your-file.mv2 --rebuild-lex-index

How do I recover from corruption?

Use the doctor command:
# Preview repairs
memvid doctor your-file.mv2 --plan-only

# Apply repairs
memvid doctor your-file.mv2 --rebuild-time-index --rebuild-lex-index

# Verify
memvid verify your-file.mv2 --deep
The embedded WAL ensures your data survives unexpected shutdowns.

Why is ingestion slow?

Use batch ingestion for better performance:
# Instead of individual puts (1-10 docs/sec)
for doc in docs:
    mem.put(text=doc['text'], title=doc['title'])

# Use put_many (500-1000 docs/sec)
mem.put_many(docs)

Getting Help

Where can I report bugs?

Report issues on GitHub: github.com/memvid/memvid/issues

Is there a community?

Yes! Join us on: