Solutions
Make your RAG pipeline accurate
Your retriever returns chunks that are about the right topic but do not contain the answer. Tuning chunk sizes will not fix it, because the problem is that similarity is not relevance.
The failure mode is specific and you have seen it. The agent returns an answer that sounds right. The tone is confident, the structure is clean, and it is wrong. When you pull up the retrieval results you find chunks that are about the right topic and scored well on similarity, but do not contain the particular fact the model needed.
This page is for teams who already built the pipeline. You have chunking, embeddings, a vector store, retrieval. It works well enough to ship and now accuracy has become a customer-facing problem, which is a different kind of urgent.
What you have probably already tried
The usual sequence of fixes each help at the margins and none of them address the cause.
Tuning chunk size trades one failure for another. Smaller chunks retrieve more precisely and lose the surrounding context that made the passage interpretable. Larger chunks preserve context and drag in more irrelevant text per result. There is no setting that resolves this, because the problem is not the size of the window you are sliding over the document.
Adding a reranker improves the ordering of what you retrieved. It cannot improve the candidate set. If the chunk containing the answer was never a candidate, reranking sorts the wrong five results more carefully.
Retrieving more chunks raises the odds that the answer is somewhere in context and lowers the odds the model finds it. Models degrade with irrelevant context in ways that are now well documented: effective context sits at roughly 50 to 65 percent of marketed capacity, accuracy drops by more than 30 percent when the relevant passage lands in the middle of a long input, and in one study every one of 18 production models showed monotonically declining accuracy as input length grew. Our BEAM write-up collects that research.
Prompt engineering around it produces instructions like "only answer if the context contains the answer," which reduces confident wrong answers by converting some of them into refusals. Useful, and not the same as retrieving the right passage.
A bigger context window is the same bet as retrieving more chunks, with the same result. A larger container of text the model cannot reliably reason through does not become a smaller, better one.
Underneath all five is one thing: fixed-size chunks retrieved by cosine similarity are a blunt instrument for finding specific information inside documents. A 500-token chunk about Q3 revenue scores highly against a question about Q3 projections whether or not the projections are in it. Similarity is not relevance, and at scale the gap widens into semantic collapse, where a growing corpus makes every result look equally plausible.
How Exabase handles this
Deep Search operates at the sub-document level. Rather than returning fixed-size chunks ranked by vector similarity, it locates specific passages: the paragraph in a PDF, the moment in a recording, the region in an image. What comes back is the part that answers the question rather than the block of text it happened to sit in.
A precision parameter gives you a direct lever on the recall and relevance trade-off, set per query rather than configured system-wide. Turn it up for factual questions where one or two passages hold the answer. Turn it down for research queries where coverage matters more. You are deciding what to retrieve based on what is being asked, which is not something a fixed top-K can do.
Results carry location references, page numbers for documents and timestamp ranges for media, so the agent can cite exactly where it found something without injecting whole documents for the model to search through.
Content is indexed automatically when stored through Resources. There is no embedding pipeline to build, no chunking strategy to maintain, no vector store to operate. If your corpus is currently a pile of files, Extract processes them into chunks with metadata that become searchable in the same flow, rather than as two systems stitched together.
Retrieval quality is also the thing being measured when M-1 is benchmarked. On BEAM at 10M tokens, where the corpus is far beyond what any context window can hold and retrieval is the only thing that matters, M-1 leads by its widest margin. It does that on a model 4 to 6 times cheaper than competing systems used, with around 20 percent fewer tokens per query. Better answers from less context is what precise retrieval looks like when it works.
What changes
The practical difference is what arrives in the prompt. Instead of five roughly relevant chunks totalling around 2,500 tokens, of which perhaps one contains the answer, you get the passages that actually address the query, with citations, at a volume you control.
That has a second-order effect worth naming: shorter, more precise context tends to produce shorter, more accurate outputs, so the saving shows up in output tokens as well as input. If cost is also a live concern, reducing your agent's token spend covers the arithmetic in full.
Retrieval is only half of most accuracy problems, though. The other half is that the pipeline has no memory of the user or the conversation, so it re-derives context from scratch on every query and cannot tell that a fact it retrieved has since changed. RAG pipelines that actually remember covers combining the two, and RAG vs agent memory explains why they are different problems.
Get started
The Deep Search page has the API detail and the precision parameter. What is RAG and semantic search vs keyword search cover the concepts, why a vector database is not a memory system covers the architectural distinction, and RAG pipelines that actually remember is the end-to-end pattern. There is a free tier to test against your own corpus.
FAQs
Why does my RAG pipeline return confident wrong answers?
Usually because the retrieved chunks are topically related but do not contain the specific fact needed. The model answers from what it was given, and what it was given was close enough to seem relevant. The failure is in retrieval, not generation, which is why prompt changes rarely fix it.
Will tuning chunk size fix it?
Not durably. Smaller chunks lose interpretive context, larger chunks carry more irrelevant text, and neither changes the fact that a fixed-size window is a poor unit for locating a specific answer inside a document.
Won't reranking solve this?
Reranking improves the order of the candidates you retrieved but cannot add candidates that were never retrieved. If the passage holding the answer did not make the initial set, no amount of reordering surfaces it.
Should I just retrieve more chunks?
It raises the chance the answer is present and lowers the chance the model uses it. Accuracy declines as input grows, sharply when the relevant passage sits mid-context. The research is summarised in our BEAM write-up.
How is sub-document retrieval different from smaller chunks?
Smaller chunks are still fixed-size blocks cut in advance. Sub-document retrieval locates the passage that answers the query, the paragraph or the timestamped moment, rather than returning whichever pre-cut block it fell inside.
Does search quality hold up as the corpus grows?
That is where naive vector search tends to degrade into semantic collapse. Deep Search is built to hold retrieval quality at scale, and the widest measured lead on BEAM is at 10M tokens, the largest tier.
Can the agent cite its sources?
Yes. Results come back with page numbers for documents and timestamp ranges for audio and video, so an answer can point at exactly where it came from rather than gesturing at a whole file.
Do I need to rebuild my embedding pipeline?
No. Content stored through Resources is indexed automatically, so there is no chunking logic, embedding pipeline, or vector store for you to maintain. Existing files can be processed through Extract into the same flow.