

Why Most RAG Prototypes Break Past 10,000 Documents
A RAG demo built on fifty PDFs will retrieve well no matter what you do. The same architecture, pointed at half a million documents with inconsistent formatting and conflicting versions, falls apart unless it was designed for scale from the start.
We design RAG pipelines the way we’d design any high-throughput data system, with explicit attention to chunking strategy, index freshness, and retrieval evaluation, not just plugging a vector database in and hoping.
- Naive fixed-size chunking that splits mid-sentence
- A single embedding model used for every document type
- No re-ranking step, so top-k results stay noisy
- Stale indexes that never reflect document updates
Each of these compounds as your document set grows, which is why they rarely show up until production.
The gap between a RAG demo and a production RAG system is almost always invisible in a sales pitch, both answer the first ten test questions correctly. It shows up three months later, when a support team notices the assistant confidently citing a policy document that was superseded two versions ago.
“Retrieval quality, not model choice, is what determines whether a RAG system feels reliable or feels like a search engine having a bad day.”
Chunking, Embedding & Vector Store Selection
Chunking strategy is the single highest-use decision in a RAG pipeline. We chunk by semantic boundary, headings, paragraphs, table rows, rather than a fixed token count, and attach metadata to every chunk for later filtering.
- Semantic chunking with document-aware boundaries
- Domain-tuned embedding models rather than one general-purpose model for everything
- pgvector or Pinecone depending on scale and existing infrastructure
- Metadata filtering to scope search before the vector query runs
The right vector store is almost always the one that fits your existing data infrastructure, not the newest name on a benchmark leaderboard.
Index freshness is a decision that's easy to defer and expensive to defer wrong. For slowly-changing document sets, legal policies, product documentation, a nightly reindex job is usually sufficient. For fast-moving content, support tickets, live inventory, breaking news, we build event-driven indexing pipelines that update the vector index within seconds of a source document changing, because a RAG system answering questions from a stale index isn't just unhelpful, it's actively misleading in a way that's hard for users to detect until it's too late.

Retrieval Quality: Hybrid Search & Re-Ranking
Pure vector similarity search misses exact-match queries, a client name, a part number, a specific clause. We combine dense vector search with sparse keyword search and merge the results before re-ranking.
- Hybrid dense and sparse (BM25) retrieval
- Cross-encoder re-ranking on the top 50 candidates before returning the final top-k
- Query rewriting for ambiguous or conversational queries
- A feedback loop logging which retrieved chunks the model actually cited
Re-ranking alone typically improves answer relevance more than any embedding model swap we’ve tested.
We also version every chunk with a content hash, not just a timestamp, so we can detect exactly which underlying documents changed between index versions and selectively re-embed only what's different, rather than re-processing an entire multi-million-document corpus on every update. This alone has cut reindexing effort by over most on large document sets compared to a naive full-reindex approach, and index updates that used to take hours now complete in minutes.


Case Studies: RAG at Enterprise Document Scale
For a legal services client, we built a RAG pipeline over 200,000+ contracts spanning a decade of formatting inconsistencies. Retrieval precision on real attorney queries went from unusable to a system now used daily across three practice groups.
The common thread is document sets too large and messy for keyword search, but too high-stakes for an ungrounded chatbot.
A financial services client needed RAG over a mix of PDFs, scanned filings, and structured spreadsheets, a document mix that breaks most off-the-shelf RAG tooling, which assumes clean, uniform text. We built a custom ingestion pipeline with OCR fallback and table-aware chunking, and retrieval precision on numeric compliance queries improved from roughly low to over 90%.
- Insurance: policy Q&A across 40+ product lines with version-aware retrieval
- Healthcare: clinical guideline lookup with strict source citation requirements
- Internal knowledge base: unified search across Confluence, Slack, and Drive
Grounding, Citations & Hallucination Control
A RAG answer without a visible source is a liability, not a feature. Every response we ship includes inline citations back to the exact retrieved chunk, so users can verify the answer themselves.
This is what makes RAG defensible in regulated industries, where “the AI said so” is never an acceptable answer on its own.
Every retrieval pipeline we ship includes an automated evaluation harness that runs a selected set of representative queries against the system on every deploy, scoring both retrieval precision and answer groundedness, so a change intended to fix one query type can't silently degrade another without being caught before it reaches users.
- Mandatory source citation on every generated answer
- Confidence scoring that flags low-certainty retrievals for human review
- Strict answer-only-from-context system prompts
- An automated evaluation suite that scores groundedness on every prompt change
What to decide next
A RAG system is only as good as its retrieval layer. Model quality gets the attention, but chunking, hybrid search, and re-ranking are what actually determine whether users trust the answers.
If your current RAG prototype is returning inconsistent or irrelevant results, the fix is almost always in retrieval, not the model, and that’s usually the first thing we audit.
The single question worth asking before starting a RAG project is: how will you know if it's working? If there's no answer beyond 'it feels right when we test it,' building the evaluation harness first, before scaling the document set, will save months of debugging later.
RAG Development Scope, Timeline & RAG vs Fine-Tuning
As a rag development company, we scope every rag implementation services engagement against your actual document complexity, not a flat package commercial setup, a RAG pipeline over 500 well-formatted PDFs is a very different build than one over 200,000 contracts spanning a decade of format changes.
Compared to fine-tuning, RAG development is faster to update, cheaper to maintain, and fully auditable, every answer traces back to a specific retrieved chunk, which is why we recommend rag consulting before a fine-tuning project for most enterprise knowledge-lookup use cases.
We start every RAG engagement with a document audit, sampling your actual source material to understand formatting inconsistencies, update frequency, and the kinds of questions the system needs to answer well. This shapes the chunking and retrieval strategy before any infrastructure gets built. Development proceeds in two tracks in parallel: the ingestion pipeline and the retrieval-plus-generation layer, so both can be tested against real documents early. We don't consider the system done at launch, the evaluation harness keeps running against new queries for the first month, catching regressions before they reach users.
- Ongoing scope is primarily vector database hosting and embedding/inference calls, both usage-based
- Retrieval quality tuning after launch is typically a lighter, ongoing engagement

