Answers from your own documents,
with a link to the source.

Retrieval augmented generation, in plain terms: the model is only allowed to answer from your own content, and has to show where each answer came from. We build these systems for staff, for your customers, and as the layer other AI systems call when they need a fact. Different uses, one piece of engineering underneath.

This is for you if

Where this is used

The same build, put to eight different jobs

All of these are the same underlying system. What changes is whose content it reads, who is allowed to ask, and where the answer appears. The engineering below is common to all of them.

Internal

Staff knowledge assistant

Policies, standards, drawings, past projects and previous tickets. Your team asks in their own words instead of interrupting the two people who know. Typical content: SharePoint, Confluence, a network share.

Customer facing

Customer support, and help for your agents

Answers common questions directly, and for everything else drafts a reply your agent checks before sending, with the article it came from attached. Typical content: help centre, past tickets, manuals.

Internal

Contract and obligation review

Ask what a set of agreements actually commits you to. Find the clause, the deviation from your standard terms, and the one contract that was signed with a different notice period. Typical content: contracts, amendments, purchase terms.

In your product

Search inside software you sell

A question box in your own application that answers from that customer's own data and documentation, with their permissions applied. Sold as a feature, not as a separate tool. Typical content: your product docs, your customer's records.

Internal

Bids, tenders and security questionnaires

Most of the answers were written before. This finds what you said last time, and flags where two past answers disagree, which is the part that loses deals. Typical content: past proposals, policies, certifications.

Internal

Field service and maintenance

An engineer on site asks a phone which part fits this serial number and what was replaced last time. Works on a bad connection, and can run offline where there is none. Typical content: manuals, drawings, service history.

Internal

Rules, standards and compliance lookup

Which regulation, revision or internal standard applies to this case, and the exact clause it comes from. The citation matters more than the answer here, because somebody has to defend it. Typical content: standards, regulations, internal procedures.

Behind other systems

The retrieval layer for your other AI

Agents and automations are only as good as the facts they are given. This is the part that hands them the right passage, with permissions applied, so they are not guessing. Used by: AI agents, chatbots, document automation.

Services

Everything we build to make this work

The demo is easy. Anyone can put a chat box in front of a folder of PDFs and it will look impressive for ten minutes. Everything below is what separates that from something people rely on every day without checking it.

01

Find out what people actually ask

We take real questions from your support tickets, internal chat and email, group them, and work out which ones your documents can genuinely answer. Some cannot be answered by any document, and those need a different fix rather than an assistant that fails at them.

02

Connect it to where your documents already live

SharePoint, Confluence, Google Drive, a network share, your ticketing system, your ERP. Documents stay where they are. We sync on a schedule and pick up changes, so an answer is never quoting a policy you replaced in March.

03

Read the documents that are not simple text

Scans, drawings, slide decks, spreadsheets and above all tables. A specification table read as one long line of numbers is worse than useless, because it produces confident answers that are wrong. This is handled properly or the whole thing is unreliable.

04

Split the documents up in the right places

The system searches pieces of documents, not whole files. If a contract clause is cut in half, neither half answers the question. We split along the document's own structure, keep each piece with its heading and page number, and tune the size against your real questions. More projects fail here than anywhere else.

05

Build the search that finds the right passage

Two searches at once. One matches the exact words, which matters for part numbers and clause references. One matches the meaning, which finds the right paragraph when somebody asks in different words. The results are combined. Either alone leaves obvious questions unanswered.

06

Reorder the results before answering

A second, more careful model re-reads the top twenty passages and puts the genuinely relevant ones first. It costs very little and it is usually the single biggest jump in answer quality we can make.

07

Force it to answer only from your documents

The model is given the passages and told to answer from those alone, quote where each statement came from, and say plainly when the documents do not cover it. An assistant that admits it does not know is worth ten that always produce something.

08

Make it obey your existing permissions

Access is checked at the moment of searching, per person, against the permissions already set in your systems. Someone in sales asking about salaries gets nothing back, because the search never sees those documents. Getting this wrong is how a knowledge assistant becomes a leak.

09

Measure whether the answers are actually right

We build a set of real questions with agreed correct answers, and score three things: did it find the right passage, did the answer stick to it, and was the answer correct. The set runs on every change, so an improvement for one team cannot quietly break another.

10

Put it where people already work

Inside Teams or Slack, in your own web application, or on your intranet. A separate tool with its own login gets used for two weeks and then forgotten.

11

Handle the questions it cannot answer

Every unanswered question is logged. That list is the most valuable thing the system produces, because it tells you exactly which document does not exist, is out of date, or was never written down.

12

Keep it accurate as your documents change

New versions get indexed, withdrawn ones get removed, and we watch which questions have started failing. A knowledge assistant nobody maintains is wrong within a year and nobody notices the day it starts being wrong.

Tell us the five questions your team keeps asking, and we will tell you whether this can answer them.

Example

What an answer looks like

Taking one of the eight above, the staff knowledge assistant, built over an engineering company's standards, drawings and supplier agreements. Two questions, and the second matters more than the first.

Engineering knowledge assistantExample

Which revision of the flange spec applies to the Doha order, and did we agree a different tolerance with them?

Revision C applies. It replaced Revision B in January and is the current issue for all projects in the Gulf region. ENG-STD-114 rev C, p.2

Yes, a different tolerance was agreed. The Doha contract varies the flatness tolerance from 0.15 mm to 0.20 mm for the two largest sizes only. All other dimensions follow the standard. Doha supply agreement, cl. 7.3

Note that the drawing pack issued to the workshop still references Revision B. DWG-2291 title block

What did we quote them for the same flanges in 2019?

I cannot answer this from the documents I have access to. Nothing in the engineering standards, drawings or contracts covers 2019 pricing, and I do not have access to the quotation system.

The closest thing I found is the current price schedule attached to the Doha agreement, which was set in March this year. Doha supply agreement, annex B

An example, with invented documents and figures, to show what the output looks like and how a refusal is handled.

Our stack

The tools, standards and methods we use

You do not need to know any of these. They are listed so your technical people can see this is built the way the field actually builds it, and can ask us why we chose one over another.

Getting your documents inDocuments stay where they are. We read them on a schedule and pick up what changed rather than copying everything again
SharePointConfluenceGoogle DriveNetwork sharesJira and ZendeskIncremental sync
Reading the difficult onesTables, scans, drawings and slides need layout-aware reading. Plain text extraction quietly destroys a specification table
Azure AI Document IntelligenceUnstructured.ioLayout-aware parsingTable extractionOCR for scans
Splitting documents into searchable piecesSplit on the document's own structure, with the heading and page kept alongside, and the size tuned against your real questions
Semantic chunkingLayout-aware chunkingParent and child retrievalOverlap tuningMetadata tagging
Turning text into something searchable by meaningThese convert text into numbers so that a passage can be found by what it means, not only by the words used
OpenAI text-embedding-3Cohere EmbedBGEE5Multilingual modelsFine-tuned on your own terms
Where the index livesOften your existing database. Adding a separate system is a choice we justify rather than a default
pgvector on PostgreSQLQdrantWeaviateMilvusElasticsearchAzure AI Search
Finding the right passageExact word matching and meaning matching run together and the results are merged, because each fails on the questions the other handles
Hybrid searchBM25Dense retrievalReciprocal rank fusionQuery rewritingMetadata filters
Putting the best passage firstA slower, more careful model re-reads the shortlist. Small cost, and usually the biggest single gain in accuracy
Cohere Rerankbge-rerankerCross-encoder models
Keeping the answer tied to your documentsThe model must quote its source and refuse when the documents do not cover the question
Grounded generationEnforced citationsRefusal thresholdsGuardrailsPrompt version control
The models themselvesChosen for the job. Open models on your own hardware where the documents cannot leave your network
Anthropic ClaudeOpenAIAzure OpenAILlamaMistralQwenvLLM
Proving the answers are rightScored against a set of real questions with agreed correct answers, and rerun on every change
RAGASRecall at kFaithfulness scoringAnswer accuracyLangfuseHuman review set
Making sure nobody sees what they should notPermissions are checked while searching, per person, against the access already set in your systems
Permission-aware retrievalAccess list syncRow level filtersSingle sign-onQuery audit log

FAQ

Questions we get asked before starting

Will it make things up?

It is built so that it cannot answer from anything except the passages it retrieved, and every statement carries a citation you can click. When your documents do not cover something, it says so. That is a design decision, and it is why the second example above matters more than the first.

Can this run without our documents leaving our network?

Yes. Open models running on your own hardware, with the index in your own database. It costs more to set up and needs a machine with a suitable graphics card, and for some clients that is the only acceptable arrangement.

How many documents can it handle?

Volume is rarely the problem. Quality is. Ten thousand well organised documents work better than a thousand where six versions of the same policy are all still in the folder. Part of this work is telling you which documents to withdraw.

Our documents contradict each other. What happens?

A well built assistant shows both and tells you they disagree, with the date and source of each. It should never quietly pick one. In practice this is one of the more useful things it does, because it surfaces contradictions nobody knew were there.

Can this sit inside the product we sell to our own customers?

Yes, and that is a common use. It is the same engineering, with the difference that permissions have to work per customer rather than per employee, and the answer appears in your application rather than in a chat tool. We build it as an API your product calls.

How is this different from the search we already have?

Ordinary search returns a list of documents and leaves you to read them. This returns the answer, in a sentence, with the page it came from. It also finds the right paragraph when the question is asked in words that appear nowhere in the document.

How long before we can see something real?

A working version on a limited set of your documents usually takes three to four weeks. Getting it to the point where people rely on it takes longer, and most of that time goes on permissions, difficult documents and measuring accuracy rather than on the chat itself.

Next step

Send us five questions your team keeps asking.

Real ones, in the words people actually use, whether they come from your staff or your customers, and roughly where the answers live today. We will tell you on the call which this could answer now, which need a document that does not exist yet, and which are not a retrieval problem at all.

Ahmedabad, India. We work with teams in the US, UK, Europe, Singapore and the Gulf, and we are used to the time difference.