RAG on your documents

Answers from your contracts, policies, tickets and product docs, each citing the passage it came from, and measured on an eval set before anyone relies on it.

  • Answers fromYour documents and databases
  • Every answerCites its source
  • Measured byAccuracy and citation match

Where RAG usually breaks

Most RAG demos work on the ten questions they were built for. These are the failures that show up after.

  1. Missed retrieval

    The answer is in your documents, but the search never finds it, so the model answers from nothing.

  2. Messy sources

    Scanned PDFs, tables and old versions of the same policy, all treated as plain text.

  3. Confident and wrong

    No way to say "I don't know", so a weak match becomes a fluent wrong answer.

  4. Wrong permissions

    A user gets an answer from a document they were never allowed to read.

  5. Creeping cost

    More context sent on every call, until each answer costs more than the work it saves.

How we build it

Each step is measured on the same eval set, so you can see which one moved the numbers.

  1. Parse

    Documents split by their real structure: headings, tables, clauses, with scanned pages read first.

  2. Index

    Hybrid search, keyword and meaning together, in Postgres with pgvector or the search you run.

  3. Rerank

    The best few passages chosen from many candidates before the model sees anything.

  4. Answer

    Every claim tied to a cited passage, and a refusal when the sources do not support one.

  5. Measure

    Accuracy, citation match and refusals on your eval set, run again on every change.

When RAG is the wrong choice

We will say so on the consult. These are the usual signs.

  • Answers need maths on your dataAn agent with database tools
  • A few fixed questionsA good search page
  • The task changes recordsAn agent, with approval steps
  • No documents yetStart with the data, not the model

Questions about RAG

What founders and CTOs ask before a RAG build.

How many documents can it handle?

From a few hundred to millions. The volume changes how we index and what it costs to run, which the PoC Sprint measures on your data.

Does our data need to be clean first?

No. Cleaning and parsing are part of the build, and the go/no-go report says what the data still needs.

Can it respect who is allowed to see what?

Yes. Permissions are checked at search time, so a user only gets answers from documents they can open.

Does it work in languages other than English?

Yes, with models and search that handle your languages. The eval set includes questions in each one you need.

See it built

A client project of this kind, anonymised under NDA: the architecture, the trade-offs and the results measured at launch.