Quick Start
1
Agent with Knowledge (Simplest)
The easiest way to use vector storage — attach files to an agent and it handles indexing automatically.
2
Persistent Storage with SQLite
Switch to SQLite for data that survives process restarts.
3
Production with Qdrant
Use a dedicated vector database for production-scale deployments.
How It Works
Vector Store Options
Choose the right backend for your needs:Common Patterns
Multiple Document Sources
Namespace Isolation
Keep different datasets separate within the same store.Best Practices
Start with InMemory, migrate when ready
Start with InMemory, migrate when ready
Use
VectorStore::InMemory during development — no setup required. When you need persistence or scale, switch to SQLite or Qdrant by changing one line. The agent code stays identical.Use namespaces for multi-tenant data
Use namespaces for multi-tenant data
Namespaces let multiple agents share one database without data bleeding between them. Use a per-user or per-project namespace:
"user:alice", "project:v2".Chunk documents for better retrieval
Chunk documents for better retrieval
Very long documents score poorly in semantic search. Split them into 500–1000 character chunks so the embedder captures focused meaning per chunk. Use the chunking options in
KnowledgeConfig to control this automatically.Prefer Qdrant for production
Prefer Qdrant for production
For production workloads with thousands of documents, Qdrant delivers faster approximate nearest-neighbour search than a full table scan in SQLite or Postgres.
Related
Knowledge
Full knowledge base configuration
Embeddings
Generate and manage embeddings

