// Production / Agentic Workflows & RAG

RAG that works on your data.

Your demo answered every question. Now customers ask question 31 and you can't tell whether retrieval missed or the model hallucinated. We build the retrieval layer, eval suite, and regression gates that catch it first.

// What we see

Demo works. Production breaks. Always in the same places.

01

Question 31 retrieves nothing

The 31st question is phrased differently, uses internal jargon, or spans two documents - and the top-50 misses the right passage. The model fills the gap with a confident wrong answer.

02

You can't tell what failed

A bad answer comes back. Was it retrieval or hallucination? Without an eval that separates the two, fixes are guesses and the same bug keeps coming back.

03

Every improvement is anecdotal

Someone tweaks the chunk size and 12 questions silently regress. Nobody can prove an improvement or see a regression - the only signal is a customer complaint.

// Case Study

Text-search across 200 live city camera feeds

Municipal operators type a description and the system surfaces matching events from across the city's live CCTV network. We built it for Neural; the City of Oława's Straż Miejska runs it on-prem. 200 cameras per server; review time on a typical incident dropped from ~8 hours of manual scrubbing to under 1 hour - an ~88% reduction.

  • 200

    live cameras per on-prem server

  • ~88%

    less time per incident review

  • ~33K

    residents covered (Oława)

Read the case study
Text-search across 200 live city camera feeds

// What we do

Three things that do most of the work.

Most of the wins aren't the latest paper. They're a hybrid index wired correctly, a reranker on top, and an eval suite the team actually runs.

Hybrid search, weighted per corpus

BM25 + dense beats either one alone on almost every customer corpus.

  • Pure dense misses exact terms - codes, IDs, proper nouns
  • Weights tuned to your data

A reranker on top of recall

Top-50 recall is cheap; top-5 precision is what users see.

  • Cross-encoder reranks the top-50
  • Lifts top-5 precision 8-15 points on most corpora
  • Costs tens of milliseconds we budget for

An eval suite your team runs

Built first, before any retrieval changes - every change ships with a measured delta.

  • 200-300 golden questions with expected citations
  • No anecdotal improvements, no silent regressions

// Method fit

Not every retrieval problem is a RAG problem.

skip it if

  • Knowledge fits in context

    Under ~50K tokens of corpus, just stuff the prompt - cheaper, faster, fewer moving parts. RAG adds infrastructure you'll maintain.

  • The problem is the model

    Wrong tone, wrong format, refusal behavior are model problems. Fine-tuning fixes them; RAG won't.

    Supervised Fine Tuning (SFT)
  • Your data is structured

    Customer records, transactions, inventory belong in SQL or a graph DB - query them rather than embed them.

use it if

RAG fits when your corpus is too big for context, the content is mostly unstructured (docs, tickets, code, transcripts), and questions are open-ended. That covers most production knowledge-Q&A.

// How we work

Eval first. Iterate in the open. Hand off code, not Confluence.

Every engagement starts with a shared eval and ends with your team running it in CI. Between those two points, your engineers watch the iteration as it happens - every run, live in the workspace.

01

Shared eval as the contract

Week one, we write 100-300 golden questions with expected citations alongside your team. The eval becomes the spec - no retrieval claim without a measured delta.

02

Iterate in the open

Every training and retrieval run lands in a Weights & Biases workspace your team can access - what we're trying, what's working, what we're killing. The dashboard replaces the status report.

03

Hand off, then stay nearby

We hand off code, the eval suite in your CI, and a runbook your on-call can follow mid-incident. Slack for 30 days after delivery.

// Weights & Biases - shared workspace

Weights & Biases workspace from a recent engagement showing 38 training runs and 14 tracked metrics

Real workspace from a recent engagement. 38 runs, 14 tracked metrics across recall, precision, and coherence tests. Your engineers get access on day one - no PDF status reports, no surprise findings at the demo. Run labels are anonymized when the customer requires it.

Karol Gawron

// Expert insight

The teams that ship great RAG don't have a secret embedding model. They have a 200-question golden set, a hybrid index, and the discipline to gate every change on the eval. Most of the "tricks" matter much less than that.

Karol Gawron

Head of R&D @ bards.ai

See our open-source work

// Why bards.ai

Every retrieval change ships with a measured delta.

You could hire the team. It would take a year and they'd learn this on you. We've already learned it - on production engagements at Brand24, SurferSEO, Comcast, and others.

Embedding fine-tunes that compete with 7B baselines

Our internal mxbai-large fine-tunes have matched gte-Qwen2-7B on customer IR tasks at ~1/15 the parameter count. Methodology reproducible across corpora.

Eval-first methodology

Every retrieval change ships with a measured delta. The W&B workspace is shared with your team. No silent regressions.

Retrieval shipped at Brand24, SurferSEO, and Comcast

The engineers on your engagement built production retrieval there - the hybrid index, the reranker, and the eval gates are patterns they've shipped.

// FAQ

Common questions about production RAG

RAG when the knowledge changes, you need citations, or the corpus is too big for context. Fine-tuning when you need to change behavior, tone, or tool-calling shape. Production systems often use both - retrieval for facts, a lightly tuned model for the answer style.

Sub-second p95 over millions of chunks is routine. Qdrant and pgvector both scale to hundreds of millions on the right hardware. Above that, sharding and hybrid index designs (HNSW + ScaNN, IVF-PQ for cold tiers) start mattering. We design for the scale you're heading to.

Either per-tenant collections (strongest isolation, more ops) or a shared collection with metadata filters and query-layer enforcement (denser, careful audit). We pick by data sensitivity and tenant scale, then verify isolation with red-team retrieval queries.

Standard RAG is one retrieval pass: embed the query, fetch top-k, generate. Agentic RAG replaces that with a loop where the model decides whether to retrieve, what to retrieve, and when context is sufficient - useful for multi-hop questions that span multiple documents or require iterative sub-query decomposition. The cost is real: 5-20x more expensive per query and non-deterministic latency. Our recommendation: standard RAG with hybrid search and a reranker handles 80-90% of production workloads. Agentic RAG earns its cost when queries are explicitly multi-hop, accuracy is non-negotiable (legal, medical, financial review), or when different document types require separate retrieval strategies. We scope this decision before touching architecture - it changes the cost model significantly.

GraphRAG builds entity-relationship graphs over your corpus and lets the model query relationships directly, not just text similarity. Real wins on cross-document synthesis, entity lineage, and multi-hop relationship reasoning. The operational cost is also real: graph extraction runs 3-5x the cost of standard ingestion, requires domain-specific entity and relation tuning, and the graph needs maintenance as documents update. For most production corpora, hybrid BM25 + dense + cross-encoder reranker gets 90% of the quality at under 5% of the operational complexity. We use GraphRAG when the corpus is explicitly relationship-dense (legal contracts, scientific literature with citation graphs, medical ontologies) and queries are provably multi-hop. We don't default to it - the maintenance burden usually exceeds the quality gain on standard enterprise knowledge-base workloads.

// Let's ship it

Question 31 is coming.

Describe the corpus, the question shapes you're failing on, and the recall bar - a retrieval design and an eval plan come back, usually within a business day.

Engagements from
$40K
Typical range
$40K-$120K
Duration
4-8 weeks

Fixed-fee proposal after the first scoping call. Scope drivers: corpus complexity, multi-tenant requirements, embedding fine-tuning scope.

Karol Gawron

Karol Gawron

Head of R&D @ bards.ai