Retrieval-Augmented Generation (RAG) was supposed to be the pragmatic middle ground between "fine-tune everything" and "hope the LLM knows your business." Instead, for a huge share of B2B teams that shipped a RAG system in the last 18 months, it became the project nobody talks about anymore. The chatbot answers confidently and wrongly. The internal knowledge assistant surfaces the wrong policy document. The support tool cites a page that was deprecated two years ago.
The instinct when a RAG system underperforms is to blame the language model — swap GPT for Claude, upgrade to a bigger model, tweak the prompt one more time. In our experience building and auditing RAG systems for B2B clients, the model is rarely the bottleneck. The vector database strategy is.
This article walks through the five most common failure points we see in production RAG deployments, and the specific architectural decisions that fix each one.
The Uncomfortable Truth: RAG Is a Retrieval Problem, Not a Generation Problem
RAG has two halves: retrieval (find the relevant information) and generation (write a good answer using that information). Most teams spend 90% of their engineering effort on the generation half — prompt engineering, model selection, output formatting — and treat retrieval as a solved problem you bolt on with a vector database and call it done.
But if retrieval returns the wrong chunks, no amount of prompt engineering saves you. A brilliant model given irrelevant context produces confident, well-written, wrong answers. This is the core reason so many RAG pilots look great in a demo with ten curated documents and then fall apart against a real 50,000-document corpus.
Get retrieval wrong, and you've built an expensive way to generate plausible-sounding misinformation. Get it right, and the generation step becomes almost boring — reliable, predictable, and genuinely useful.
Failure Point 1: Naive Chunking Strategy
The problem: Most teams still split documents into fixed-size chunks — say, 512 tokens with a 50-token overlap — regardless of document structure. This is the single most common root cause of poor retrieval quality we encounter in client audits.
Fixed-size chunking ignores semantic boundaries. A 512-token window might cut a table in half, split a legal clause from its qualifying condition, or separate a heading from the content it introduces. The embedding for that chunk then represents a fragment of an idea rather than a coherent one — and similarity search against fragments is inherently noisier than similarity search against complete thoughts.
The fix: Structure-aware chunking.
- Markdown/HTML-aware splitting: Chunk along heading boundaries first, then subdivide only if a section exceeds your token budget.
- Semantic chunking: Use embedding similarity between consecutive sentences to detect natural topic shifts, and split there instead of at an arbitrary token count.
- Parent-child chunking: Embed small, precise chunks for retrieval accuracy, but link each to a larger "parent" chunk (or the full section) that gets passed to the LLM once a match is found. This gives you retrieval precision without sacrificing generation context.
- Table and structured-data handling: Never let a chunk boundary fall inside a table. Extract tables separately and either summarize them into natural language or store them with explicit row/column context.
For most B2B knowledge bases — product documentation, policy manuals, contracts, technical specs — parent-child chunking with structure-aware splitting resolves the majority of "the answer is in the document but the system can't find it" complaints.
Failure Point 2: Wrong Embedding Model for the Domain
The problem: Teams default to whatever embedding model is easiest to call — often a general-purpose model optimized for broad web text — and never revisit that decision. General-purpose embeddings are trained on a distribution of language that may have very little overlap with your domain's vocabulary, especially in technical, legal, or highly regulated industries.
If your knowledge base is full of domain-specific terminology — part numbers, regulatory clause references, internal product codenames, industry jargon — a general embedding model may cluster semantically distinct concepts too closely together, or fail to recognize that two differently-worded passages mean the same thing.
The fix: Evaluate embedding models against your actual data, not benchmark leaderboards.
- Build a small evaluation set: 30–50 real queries your users would ask, each paired with the correct source chunk(s).
- Test 3–4 embedding model candidates against that set, measuring retrieval precision and recall (not just "it seems fine").
- Consider domain-adapted or fine-tuned embedding models for highly specialized corpora — legal, medical, engineering — where general models consistently underperform.
- Re-evaluate embedding choice whenever the underlying document corpus changes materially (new product line, new regulatory framework, acquired company's documentation).
This is a one-time investment of a few days that routinely improves retrieval accuracy more than any amount of prompt tuning downstream.
Failure Point 3: Pure Vector Search Without Hybrid Retrieval
The problem: Dense vector search is excellent at capturing semantic meaning but genuinely poor at exact-match retrieval — product SKUs, error codes, acronyms, proper nouns, and specific numerical values. If a user asks "what's the warranty period for model XR-4402," pure semantic search might retrieve chunks about warranties in general while missing the one chunk that actually contains "XR-4402."
This is a structural limitation of dense embeddings, not a tuning problem. No amount of chunking or model selection fully solves it.
The fix: Hybrid search — combine dense vector retrieval with sparse keyword-based retrieval (BM25 or similar) and merge the results.
- Run both search types in parallel against the same query.
- Merge results using reciprocal rank fusion (RRF) or a weighted scoring scheme.
- Tune the weighting based on your content type — technical documentation with lots of identifiers benefits from higher keyword weighting; conceptual or narrative content benefits from higher semantic weighting.
Most modern vector databases (Weaviate, Qdrant, Pinecone, and pgvector with supporting extensions) now support hybrid search natively. If your current vector DB doesn't, that alone is a strong signal it's time to reconsider your infrastructure. This single change — moving from pure vector to hybrid retrieval — is often the highest-leverage fix available to teams with an underperforming RAG system.
Failure Point 4: No Metadata Filtering Strategy
The problem: Vector similarity search finds documents that are semantically close to the query — it has no inherent understanding of recency, permissions, document status, or business context. Without metadata filtering, your RAG system will happily retrieve and cite a superseded policy document, an outdated pricing sheet, or a document the requesting user shouldn't have access to.
We've audited systems where the top retrieval result was accurate content — from a document version deprecated eight months earlier. Semantically, the old version and the new version are nearly identical. Vector similarity search alone cannot distinguish "current" from "superseded."
The fix: Rich metadata schema and pre-filtering at query time.
- Tag every chunk with structured metadata:
document_status(current/archived/draft),effective_date,department,access_level,document_type,source_system. - Apply metadata filters before similarity ranking, not after — filter the candidate pool first, then rank by relevance within it.
- Build access control into the retrieval layer itself (row-level security or filtered namespaces), not just into the application layer, so a prompt injection or logic bug can't leak restricted content.
- Establish a document lifecycle process: when a source document is updated or retired, the corresponding vectors must be updated or removed as part of that process — not as an afterthought.
Metadata filtering is unglamorous but it is often the difference between a RAG system that's "usually right" and one that's trustworthy enough to put in front of customers or use for compliance-sensitive decisions.
Failure Point 5: No Re-Ranking Layer
The problem: Teams retrieve the top-k chunks by vector similarity and pass all of them directly to the LLM. But "similar enough to be in the top 10" is not the same as "actually relevant to answering this specific question." Vector similarity is a proxy for relevance, not a guarantee of it — and the gap between the two widens as your corpus grows.
Passing marginally-relevant chunks into the context window dilutes the signal the LLM has to work with, increases the chance it latches onto the wrong passage, and burns context budget you could use more effectively.
The fix: Add a re-ranking step between retrieval and generation.
- Retrieve a larger initial candidate set (e.g., top 25–50) using your hybrid search.
- Pass that candidate set through a cross-encoder re-ranking model, which scores query-document relevance far more precisely than embedding similarity alone (because it evaluates the query and document jointly, rather than as independent vectors).
- Pass only the top 3–8 re-ranked chunks into the LLM's context window.
This two-stage retrieve-then-rerank pattern consistently outperforms single-stage vector search in production, particularly as document volume scales into the tens of thousands. The added latency (typically 100–300ms) is a small price for a material accuracy improvement, and is rarely noticeable to end users given typical LLM generation times.
Putting It Together: A Vector DB Strategy Checklist
For B2B teams evaluating or rebuilding a RAG system, the strategic priorities — in the order we recommend addressing them — are:
- Chunk with document structure in mind, not fixed token counts. Use parent-child chunking for context preservation.
- Validate your embedding model against real queries from your own domain before committing to it at scale.
- Implement hybrid search (dense + sparse) rather than relying on vector similarity alone.
- Build a metadata schema and filtering strategy from day one — recency, access control, and document status are not optional extras.
- Add a re-ranking layer between retrieval and generation to squeeze the last mile of precision out of your candidate set.
None of these fixes require switching to a more expensive or more powerful LLM. All of them are architectural decisions at the vector database and retrieval-pipeline layer — which is exactly why so many teams miss them while they're busy tuning prompts.
Why This Matters for Your Business
A RAG system that hallucinates or retrieves stale information isn't a minor UX issue — it's a trust liability. If your customer support assistant cites outdated pricing, or your internal compliance tool surfaces a superseded policy, the cost isn't just a bad interaction. It's eroded confidence in the system, and often a return to manual processes that defeats the purpose of building the tool at all.
The good news is that these are solvable, well-understood problems. Teams that get the vector database strategy right — proper chunking, validated embeddings, hybrid search, metadata governance, and re-ranking — routinely see retrieval accuracy improvements that translate directly into user trust and adoption. The technology to do this well already exists; it's a matter of architecture and discipline, not research.
If your RAG deployment is underperforming, the fastest diagnostic question to ask isn't "which model should we use?" It's "what is our retrieval layer actually doing, and can we prove it's finding the right information?" That's where the real fix lives.
Ready to Fix Your RAG Implementation?
A well-architected vector database strategy is the difference between a RAG system that frustrates users and one that earns their trust. We help B2B teams audit, rebuild, and optimise retrieval pipelines for real-world accuracy.
Book a 30-minute strategy call and we'll review your current setup, identify the highest-impact fixes, and map a practical path to reliable retrieval.
Book a Strategy Call →Related Articles: