Quick Start
Agent with Knowledge (Simplest)
The easiest way to use vector storage — attach files to an agent and it handles indexing automatically.
How It Works
Vector Store Options
Choose the right backend for your needs:| Store | Type | Use Case |
|---|---|---|
VectorStore::InMemory | In-process | Development, testing, short-lived agents |
VectorStore::SQLite { path } | Local file | Persistent, single-machine deployments |
VectorStore::Postgres { url } | Remote DB | Production, multi-instance |
VectorStore::Qdrant { url, collection } | Dedicated vector DB | High-scale production |
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

