RAG chatbot
A RAG chatbot is a plain idea with an ugly name: before answering, it searches your own documents and answers from what it found. That single step is what separates a useful internal assistant from a confident stranger. It also moves the whole problem — from the model to your files, which are usually a mess.
The answer already exists in a document nobody can find, so it gets asked forty times a month and a person answers it every time. Your files, your call — not mine.
It answers from your own documents, and says so plainly when it cannot
Bring the questions your team keeps asking
Two lines is plenty. The questions that get asked over and over, and where the answers live. I read it myself and answer within one working day.

Sergey Avakyan. You are writing to me, not to an inbox — I am the whole company, and I am the one who builds it. More about me →
It answers from what it retrieved and shows where; when the documents do not hold the answer, it declines instead of inventing one.
Projects go in the order they arrive — the earlier we start, the earlier yours is built.
- Answers drawn from your own documents, with the source shown — not a confident guess from a general model.
- A decided set of authoritative files: drafts, superseded versions and the drive nobody has cleaned since 2021 kept out.
- Permissions honoured, so no one is answered from a document they were never allowed to see.
- A written rule for what it must do when it does not know — decline and point to a person, never invent — enforced in the code, not asked for in a prompt.
The checking half of this is not new work: a second, independent model already signs off every reply to a real buyer before it is sent, in a system of mine live every day — one of thirteen running, out of sixty-five built.
A quarter of whatever we agree is due at the start, and that quarter is the only money at risk under the two-week promise — nothing else is due until it is running. What puts you at the bottom of that band: one clean, current set of documents, everyone allowed to see everything, and a clear owner who can say which version is authoritative. What puts you at the top: drafts and superseded versions mixed in with the real thing, permissions that differ by person, and answers that have to stay current as the files change. It sits in the middle band because the model is the easy half — the work is deciding what is authoritative, keeping out what is not, and making it decline instead of guess.
- Two weeks, or the first stage is free. The first stage is one named piece, written down before we start. If it isn't running two weeks after the start, you pay nothing for it. The clock pauses on any day I'm waiting on you for an access or an answer.
- You write the pass mark before I write the code. Before anything is built we agree one sentence that says what working means — for example, "it takes the call, puts the booking in the calendar and never promises a price, on nine of every ten of fifty real calls". If it misses that, you choose: I finish it at my own cost, or you take that stage's money back and the work stays with me.
- Three months of fixes included. For three months after handover I fix whatever breaks in what I built, already paid for. Something you ask for later, or a service someone else changes underneath it, is new work — and I'll tell you which it is before I touch it.
“I” here is the whole company: AVAROPA SLU, one founder and one employee, both of them me. The guarantee is the company's, and I am the person who honours it — you deal with the same one throughout.
Every stage you have paid for is yours the moment it is paid — the code and the accounts, handed over as we go. Nothing here depends on you staying.
Prices exclude VAT — 21% in Spain, reverse charge for an EU business with a valid VAT number, and normally none outside the EU — confirmed on your invoice. The band is a starting point; the exact figure is agreed and fixed before any work begins, and it does not move after that. The two-week first piece is the part I guarantee; the finish windows are what a job this size usually takes.
How it works, what it refuses, and when you don't need it
What it is for, in one line each
- The question whose answer exists but nobody can find. It is in a policy document, a supplier agreement, a thread from March. Someone knows it exists. Nobody knows where. That is the whole case for enterprise search with an answer on top.
- The question asked forty times a month. Onboarding, warranty terms, which form for which situation. Every answer costs someone ten minutes and interrupts them mid-task.
- The knowledge that leaves with a person. When the one who knows how the old system works retires, the documents remain and the index into them does not. This builds the index.
- Not for: questions about numbers. How much did we sell last month is not a document question. That is the analytics layer, and pointing a RAG chatbot at it produces answers that sound right and are not.
The three ways it fails, in order of likelihood
None of these is a model problem. All three are decided before a single answer is generated.
- It retrieves the wrong passage and answers it perfectly. The most common failure and the hardest to notice, because the answer is fluent and specific. It is why every answer must carry a link to the source it used — not as a nicety, as the only way anyone can check.
- Your documents contradict each other. Two versions of the policy, one from 2023 and one from last month, both indexed. It will answer from whichever it found. Deciding which documents are authoritative is your work and it cannot be delegated.
- It answers when it should decline. The hardest behaviour to get right and the one that decides whether people keep using it. If nothing relevant was found, the correct output is 'I do not have that' with the closest documents listed — not a plausible paragraph.
What a serious build actually involves
Retrieval-augmented generation is a fortnight for a demo and considerably longer for something a team relies on. The gap is entirely in these four things.
- Deciding what is authoritative, and excluding drafts, superseded versions and the shared drive nobody has cleaned since 2021.
- Permissions that survive the answer. If a document is restricted, the chatbot must not paraphrase it to someone who cannot open it. This is where an LLM integration most often leaks, and it leaks quietly.
- Keeping it fresh. A one-off index is stale in a month. Ingestion has to run on a schedule and someone has to see when it stops.
- A place where wrong answers get reported in one click, and someone who reads them. Without that loop you never find the contradictory documents.
Skip it if
- Your documents are a handful of files. Search already works; the AI adds cost and a new way to be wrong.
- The knowledge is genuinely in people's heads, not written down. Then this is a documentation project wearing a chatbot costume — and the documentation is the valuable half.
- You cannot say which version of a document is the true one. Fix that first or you have automated the contradiction.
- The real question is about numbers, not text. That is a different build, and doing it as retrieval produces confident nonsense.
Retrieval already in daily use
- Text factory — the checking half of retrieval, running: it researches a topic, writes from what it found, then puts the result through an independent judging pass and a fact-check before anything ships.
- Recommendation shelves — the structure retrieval depends on, made visible: 968 products tagged by their real attributes, and the matching built from those tags rather than from a list somebody maintains.
- Customer-chat assistant — retrieval with a guardrail on the answer: one model writes the reply from what it found, a second independent one signs it off before anyone sees it.
Honest answers
How much does a RAG chatbot cost?
€4,800 to €8,300 as a one-off build, toward the top when documents are messy, permissions differ by person, and answers have to stay current as files change. A quarter is due at the start and is the only money at risk under the two-week promise; nothing else is due until it runs. The first hour is free.
Is a RAG chatbot worth it?
It pays when the answer already exists in a document nobody can find and the same question gets asked over and over. If your documents are a handful of files, skip it — plain search already works and the AI only adds cost and a new way to be wrong.
What does RAG actually mean?
Retrieval-augmented generation: before answering, the system searches your own documents and writes the answer from what it retrieved, with a link to the source. Without that step, a chatbot answers from general training and has no way to know your warranty terms.
How is a RAG chatbot different from uploading files to ChatGPT?
For a few documents, barely — and for that case, do the simple thing. The difference appears at scale: permissions per document, scheduled re-indexing, deciding which version is authoritative, and a record of what was answered from what.
Will it leak documents to people who shouldn't see them?
It will if permissions are not carried through retrieval, and this is the most common serious defect in internal deployments. The rule is that the assistant may only retrieve what the person asking could already open — checked at query time, not at indexing time.
What should it do when it doesn't know?
Say so, and list the closest documents it found. A system that always produces an answer is not more capable, it is less honest, and teams stop trusting it within weeks of the first confident mistake.
How current are the answers?
As current as the last successful ingestion run, which is why that run needs monitoring. A quietly failed index is the same failure as any other silent automation: everything looks fine and the answers are a month old.
Bring five questions your team keeps asking
The ones where the answer exists in a document nobody can find. I will tell you whether retrieval solves them, which of your documents would have to be declared authoritative first, and where the permissions get hard. An hour, free, and you leave with the list either way.
Book that hour →