Vector search on DynamoDB, with your own data
DynamoDB can store a vector beside an item and search it by meaning rather than by keyword. This page does that on a DynamoDB-compatible engine with a real vector index, and an embedding model running in this tab. Add a few notes of your own, then ask for one of them in words you never wrote down.
All of it happens in your browser, so nothing you type is sent anywhere.
all-MiniLM-L6-v2 runs in this tab, in a worker, served from this site rather than a CDN. Most of that is the model itself, which is quantised and does not compress; the runtime is the part that does. Cached after the first load, and no other page on this site downloads it. Nothing you type leaves your browser.
The table, live
Run an operation to see what it costs.
What just happened, and what it maps to on AWS
- Your application embedded the text. Not DynamoDB. It has no idea what your text means and never computes an embedding, on AWS or here. In production this step is a call to Bedrock, an OpenAI endpoint, or a model you host. Here it is a 22 MB model in a worker, which is most of what the button warned you about.
- The vector went in as an attribute. A plain
LofNon an ordinary item, written with an ordinaryPutItem. There is no vector type and no separate write path. The index was maintained as part of that write, so the note was searchable immediately. - The search used the same model. Your question was embedded by the model that wrote the notes. That is not a detail: query an index with a different model and DynamoDB returns confident nonsense with no error, because the only thing it checks is that the number of dimensions matches.
What it is useful for is anything where the question and the answer do not share words. Support search where a customer says “charged twice” and the article says “duplicate transaction”. Recommendations. Deduplication. Giving an agent a memory it can search by meaning rather than by exact key. What it is bad at is anything you could write as a key condition, which is most things, and the last lesson in the vector tier makes that case with a hundred results and a hard ceiling.
The engine here returns the true nearest vectors because it compares against every one. AWS builds an approximate index and trades a little recall for speed at a scale this page will never reach. The API, the costs and the refusals are the same; the completeness guarantee is not.