Hire a RAG Developer · San Francisco, CA
You have already tried a LangChain or LlamaIndex implementation. You have a retrieval pipeline. It works well enough in demos and hits a precision ceiling around 60–70% in production. You have tuned chunk sizes. You have tried different embedding models. You are still getting retrievals that miss the relevant document or return tangentially related content.
The fix is not switching LLM providers. It is hybrid search, re-ranking, and an eval harness that tells you precisely which part of the pipeline is failing. We scope a fixed price after the discovery call, including a RAGAS or custom evaluation suite.
Tell us where your current pipeline is failing and what precision you need.
Naive RAG fails at chunk boundaries. Recursive character splitting (the default in LangChain) cuts text at character count without regard for sentence structure, paragraph logic, or document section boundaries. A chunk that starts mid-sentence or ends mid-table has lost the context that makes it answerable. The model retrieves it and cannot construct a grounded answer from partial information.
The solution depends on document type. For prose documents: semantic chunking that splits at natural paragraph and section breaks. For structured documents (API documentation, financial tables): layout-aware extraction that preserves headers, rows, and column relationships before chunking. For long-form technical documents: parent-child hierarchical chunking where child chunks carry pointer context to their parent section.
Dense-only retrieval is the second common failure. Your text-embedding-3-large or nomic-embed-text model captures semantic similarity well. But when your corpus contains precise technical identifiers: API method names, product SKUs, compliance clause numbers, specific version strings, dense embeddings can miss exact-term matches that BM25 would catch immediately. Hybrid search via Reciprocal Rank Fusion runs both and merges the ranked lists. The precision improvement on enterprise documents is consistently in the 8–15% range.
Finally: you cannot improve what you do not measure. A RAGAS evaluation suite with 100+ golden query-answer pairs, measuring context precision, context recall, faithfulness, and answer relevancy, is what separates a RAG system you can tune from one you can only guess at.
Fixed-size splitting that cuts across paragraphs or table rows. Fix: semantic or layout-aware chunking tuned to your document types.
Version strings, API names, clause identifiers. Fix: BM25 + dense hybrid with Reciprocal Rank Fusion. Measured 8–15% recall improvement on enterprise corpora.
Top-k returns the most similar chunks, not the most useful ones for the specific query. Fix: Cohere Rerank or BGE Reranker cross-encoder on the top 20 candidates. Typically recovers 10–15% precision.
Quality measured by 'it seemed right in the demo.' Fix: RAGAS or a custom golden dataset with 100+ query-answer pairs and four separable metrics.
Document version updates without re-indexing the changed sections, leaving old content in the index. Fix: incremental indexing with document version tracking and supersession logic.
A general-purpose model underperforms on domain-specific vocabulary. Fix: domain-adapted models where available, or fine-tuning on a representative sample of your documents.
Every engagement we do for San Francisco tech teams includes an eval harness. For most clients, that means building a RAGAS suite with a golden dataset of 100–200 question-answer pairs drawn from your actual documents. For clients with more specific requirements, we build a custom eval with domain-specific metrics.
The eval serves two purposes. First: it gives you a baseline before you ship. You know that on your actual queries, the system achieves X% context precision and Y% faithfulness. Second: it gives you a test suite for every subsequent change. When you update your embedding model, retune chunking, or add a new document source, you run the eval and confirm nothing regressed.
Without this, you are guessing. SF teams building RAG as a product feature for their SaaS customers cannot ship on a guess. You need a number before you put this in front of paying customers.
Discovery call
One hour. We look at your existing pipeline: what you have built, where it is failing, what documents you have, and what precision target you need. We identify which failure modes apply to your specific setup.
Fixed-scope proposal
A written scope document with deliverables, timeline, and a fixed price. No open-ended retainer. If the problem is more complex than the discovery call revealed, we revise the scope before work starts.
Pipeline rebuild and eval
We rebuild the failing components: chunking strategy, retrieval pipeline, and re-ranker. We build the evaluation harness and run it against the existing pipeline first (to confirm the baseline) and then against the rebuilt one (to confirm improvement).
Handoff with documentation
Code transfer, architecture documentation, and a post-launch support window for tuning and questions. Your engineering team can extend the pipeline without us.
Ready to move past the 60–70% precision ceiling?