Skip to content
Rubra Digital

RAG System Development & Consulting

Design and delivery of retrieval-augmented generation systems over your own documents, data and knowledge bases, with evaluation built in from day one.

Typical duration
8–14 weeks
Investment
from €65,000
Team
Two engineers plus a fractional architect

Short answer

Rubra builds production retrieval-augmented generation systems: document ingestion and parsing, chunking and embedding strategy, hybrid retrieval with reranking, grounded generation, and an evaluation harness that proves accuracy before launch. Typical engagements run 8–14 weeks and deliver a system your own engineers can operate.

Last reviewed

Most retrieval-augmented generation projects do not fail at the model. They fail at the boring parts: a PDF parser that silently drops tables, a chunking strategy that splits a clause from its heading, an index that returns plausible-looking passages that do not actually contain the answer.

I build the boring parts properly.

What I actually do

Start with the corpus, not the model

The first week is spent on your documents. I measure what your corpus really looks like: how many documents are scanned rather than digital, how much of the meaning lives in tables, and how often a single answer requires stitching two documents together. Those facts determine the architecture far more than the choice of model does.

Build a labelled evaluation set before writing retrieval code

I sit with your subject-matter experts and assemble a set of real questions with known-correct source passages. It is unglamorous work and it is the single most valuable thing in the project: without it, every subsequent decision is guesswork, and every “this feels better” is unfalsifiable.

Tune retrieval against that set

Chunk size, overlap strategy, embedding model, hybrid weighting between semantic and keyword search, reranking, metadata filters. Each of these is an experiment with a number attached. I typically run thirty to sixty configurations and report recall@k and mean reciprocal rank for each, so the final architecture is a decision you can audit rather than a preference you have to trust.

Constrain generation and measure groundedness

The generation layer cites the passages it used and declines to answer when the retrieved context does not support one. Refusal behaviour is a feature, and in regulated settings it is often the most important one. I measure groundedness and citation accuracy on every build.

Hand it over properly

You get the evaluation harness, the architecture decision records explaining why each choice was made, a runbook for the failure modes I found, and working sessions with your engineers. The goal is that the next change to the system is made by your team, not by me.

Where this pays back

Retrieval works best where the answer already exists in writing but is expensive to find: regulatory and policy libraries, technical documentation and service manuals, contract portfolios, historical support tickets, clinical or research literature, and internal knowledge that currently lives with three people who are always busy.

It works poorly where the answer requires calculation, judgement under uncertainty, or data that was never written down. I will tell you which one you have during discovery, before you have spent a budget finding out.

What you get

  • Document ingestion and parsing pipeline (PDF, Office, HTML, scanned assets)
  • Chunking, embedding and index strategy benchmarked against your corpus
  • Hybrid retrieval with reranking, tuned on a labelled evaluation set
  • Grounded generation layer with citations and refusal behaviour
  • Evaluation harness wired into CI, with regression gates
  • Runbook, architecture decision records and handover sessions

Outcomes

  • Answers grounded in your own documents, with a citation for every claim
  • Measured retrieval accuracy instead of demo-day impressions
  • A system your team can extend without calling me back

Frequently asked questions

How long does it take to build a production RAG system?

A focused production system over a single well-defined corpus typically takes 8 to 14 weeks. Roughly a third of that is document parsing and data preparation, a third is retrieval tuning and evaluation, and a third is the application layer, hardening and handover. Prototypes are much faster, at two to three weeks, but a prototype is not a production system, and the gap between the two is where most internal projects stall.

What does a RAG project cost?

My RAG engagements start at €65,000 for a single-corpus production build and typically land between €80,000 and €180,000 depending on document complexity, the number of source systems, and whether the system serves internal staff or external customers. Ongoing running costs are usually far smaller than clients expect: for most internal deployments, inference and infrastructure come to between €500 and €4,000 per month.

Do we need a vector database?

Not always. If your corpus is under roughly 100,000 chunks and you already run PostgreSQL, pgvector is usually the right answer and removes a system from your stack. Dedicated vector databases earn their place when you need very large scale, complex metadata filtering, or sub-50ms retrieval at high concurrency. I benchmark both against your actual corpus before recommending either.

Can you work with our existing data platform?

Yes, and I prefer to. I build on top of what you already run, whether that is Snowflake, Databricks, PostgreSQL, SharePoint, Confluence, S3 or Elasticsearch, rather than proposing a parallel stack. Introducing new infrastructure into a project that is already carrying model risk is a good way to make both harder.

How do you stop the system inventing answers?

Three mechanisms, all measured rather than assumed. Retrieval quality comes first, because most hallucinations are actually retrieval failures. Then the generation layer is constrained to cite retrieved passages and to refuse when the retrieved context does not support an answer. Finally, a groundedness evaluation runs against a labelled set on every change, so a regression is caught in CI rather than by a user.

Get a straight answer on your AI roadmap

A 30-minute call with the engineer who would do the work, not a salesperson. You will get an honest read on what is worth building, what is not, and roughly what it costs.

No NDA needed to talk. EU and UK hours in full, with afternoons overlapping US Eastern and Central.