
A copy deck for the page behind the ad’s “See how the ranking works →” CTA. Layout: video at the top, a read-along version (transcript + visuals) below for people who prefer to read, and the conversion CTAs at the bottom. Build notes are in brackets.
Page meta (for the web team)
Suggested URL: vespa.ai/easiest-chunking
SEO title: The Easiest Chunking on the Market — Vespa
Meta description: Keep every chunk in one document as an array of vectors — then let Vespa rank down to the right chunk. The same approach that powers Perplexity. Start free.
Hero (top of page)
Eyebrow: RAG · CHUNKING · RANKING
Headline (H1): All your chunks. One document. Ranked to the answer.
Subhead: Stop modeling parent/child documents and duplicating metadata across chunks. In Vespa, every chunk lives in one document as an array of vectors — and layered ranking returns only the most relevant pieces to your LLM. Easy to build. No accuracy lost.
Primary CTA button: Learn Vespa now → [links to getting-started / docs]
Secondary CTA button: Talk to an expert → [links to contact / book-a-call]
Video block:
One Document. Every Chunk. Ranked to the Answer. (≈7 min) — embedded player, autoplay off, captions on.
Proof bar (directly under the hero)
Multi-vector since 2014 · Powers Perplexity · Open source · Proven at billions of documents
[Add verified customer logos here. If using the “3 of the top 5 US retailers / ~15–20% of the Fortune 50” figures from the call, confirm they’re approved for public use first.]
Read-along version (below the video)
Section intro: “Prefer to read? Here’s the whole story — with the same visuals from the video.”
1. The chunking problem
Every RAG system splits documents into chunks and embeds each chunk as a vector. The hard part is storing them. One record per chunk means copying the document’s metadata onto every chunk — and repeating the same title hundreds of times quietly distorts your keyword scores. One record per document means managing parent/child documents and joins. These are design crossroads that are hard to test, and costly to undo.
Visual: A document splitting into chunks that scatter into rows, each cloning a metadata tag; a keyword-relevance meter drifting down.
2. One document, an array of vectors
Vespa removes the decision. Keep one document, and hold all of its chunk vectors together as an array of vectors with a single set of metadata. No parent/child modeling, no duplicated titles, and keyword search stays clean because every field appears once. The mental model is the one you already have: multiple chunks means multiple vectors — just keep them in one place. You still choose chunk size and method; everything after that is a piece of cake.
Visual: Scattered rows snapping into one clean document card holding a neat array of vectors and one metadata tag.
3. Why many vectors beat one — ColBERT & ColPali
A single vector per chunk averages everything together, so one strong phrase gets diluted. Multi-vector embeddings fix that. ColBERT represents text as one vector per word — for both query and document — and compares them late, at search time: for each query word it takes the best match in the passage, then sums those best matches (this is “MaxSim”). ColPali applies the same idea to pages as images, embedding each patch so you can search tables and layout without OCR. The throughline: a document isn’t one point — it’s a set of vectors, scored by best match.
Visual: One blurry dot vs. a constellation of sharp dots; query words drawing lines to their best-matching document words, then summed.
4. Everyone’s converging here (the honest part)
We’ll be upfront: Vespa isn’t the only database that can store an array of vectors anymore. Qdrant, Weaviate, and Milvus added native multi-vector support in the last two years; Elasticsearch and OpenSearch can do it with nested fields. That’s good — the industry now agrees this is the right model. A few still can’t (Pinecone, pgvector, Chroma, MongoDB make you split chunks into separate records and duplicate metadata). But storing the vectors was never the hard part. The hard part is what you do with them at query time.
Visual: A logo grid with checkmarks; a couple greyed out; the view then pivots to “…at query time?” over a ranking funnel.
5. The real difference — rank to the chunk, at scale
Most multi-vector search gives you one score per document. But RAG doesn’t want a document — it wants the right paragraphs for the model’s context. Vespa ranks twice: first it finds the best documents, then inside each one it ranks the individual chunks and keeps only the best. We call it layered ranking — or simply, ranking to the chunk. It’s programmable (vector, keyword, or a blend, scored with full document context), and the second pass runs in parallel on the nodes that store the data — so it stays fast whether a document is one page or an entire library. Only the most relevant chunks reach your LLM: no bloated context, no wasted tokens, no accuracy lost.
Visual: A funnel: many docs → top-N docs → top chunks glowing green inside each → green chunks flowing into a tidy LLM context window; a huge document still resolving fast.
6. Proof: this is exactly what powers Perplexity
Perplexity published an open evaluation of their AI-search quality — and beat the competition on both relevance and latency. Their conclusion about what great RAG requires maps directly onto layered ranking:
“Effective context engineering requires the API to not only capture document-level relevance, but to treat the individual sections and spans of documents as first-class units in their own right.” — Perplexity
That’s ranking to the chunk, in production, at web scale. Perplexity also found that off-the-shelf vector databases couldn’t handle even simple filters and traditional search engines couldn’t do real semantic ranking — so the quality of their answers traces straight back to the quality of their search. That search is powered by Vespa.
Visual: Perplexity’s published quality + latency eval charts (their bar clearly ahead), beside the pull quote. Link: “How Perplexity beat Google on AI Search with Vespa.ai” → blog.vespa.ai/perplexity-show-what-great-rag-takes/
Start-in-minutes block
Want the same foundation for your own use case? The RAG Blueprint is an open-source sample application with everything you need to build a RAG solution with world-class accuracy and scale — running in minutes, then yours to iterate on. [Link: vespa.ai/solutions/…/the-rag-blueprint]
Bottom CTA band
Headline: Ready to build RAG that’s easy and accurate?
Primary button: Learn Vespa now → [getting-started / docs]
Secondary button: Talk to an expert → [contact / book-a-call]
Tertiary text links: Start free with Docker · Read: Introducing layered ranking · Read: How Perplexity beat Google on AI Search
Reassurance microcopy: Free to start. No credit card. Open source.
Recommended extras
Tone guardrail: keep the “easiest chunking, without losing accuracy” promise everywhere; never imply Vespa removes chunk-size/method decisions, and keep the competitive section honest.
Sticky mini-CTA: a slim bar that appears on scroll with “Learn Vespa now” + “Talk to an expert,” so the CTA is always one click away during the long read.
FAQ accordion (handles the objections from the call):
Do I still have to choose chunk size and method? Yes — those decisions are inherent to RAG. Vespa makes everything after them easy.
Can Vespa do ColBERT / ColPali? Yes — the same array-of-vectors model holds token- and patch-level embeddings, and Vespa is a common backend for both.
How is this different from Qdrant / Weaviate / Milvus multi-vector? They store multiple vectors too. The difference is layered ranking — selecting the best chunks within the best documents, in parallel, at scale.
Is there a free way to try it? Yes — start with the Docker image or the free Vespa Cloud trial.