Across our rescue engagements, moving answer accuracy from around 60% to above 90% has never required a better model. It has always come from five changes to retrieval.
Structure-aware chunking. Splitting documents every 500 tokens severs tables from their headers and clauses from their conditions. We chunk on document structure — sections, list groups, whole table rows with headers preserved — so a retrieved passage is self-contained and means the same thing out of context as in it.
Hybrid search. Pure vector search is weak on exact identifiers: SKUs, error codes, policy numbers, version strings. Combining keyword search with semantic search catches both the paraphrased question and the one that pastes an error code.
Reranking. First-stage retrieval optimises for recall; a cross-encoder reranker then scores the top candidates for genuine relevance to the question. This single step typically produces the largest accuracy jump of anything on this list.
Metadata and freshness. Every chunk carries its source, effective date, region, product and audience. Queries filter on them, superseded content is excluded rather than merely outranked, and reindexing runs on a schedule tied to how your content actually changes.
Query understanding. Real questions are compressed, misspelled, and often follow-ups that depend on the previous turn. We rewrite the query with conversation context before retrieval — an unglamorous step that fixes a large share of "it didn’t understand me" complaints.