SolaryxDevIntelligent systems, engineered to run your business.
Book a call
Search Client login Book a call

Every answer cites its page: a company knowledge base built on RAG.

Ask a question and the answer comes with the file and page it was drawn from. When the evidence runs thin, the reply is "I do not know" and the question goes to a person.

The knowledge base answers only from passages retrieved from your own files, a method called retrieval-augmented generation, and shows the file and page beside every answer. When the evidence falls below a threshold, it passes the question to a person instead of guessing. We tune that threshold on your own questions.

The documents stay outside the model.

A model answering from its training cannot show where an answer came from, and it has no way to learn that your price list changed on Tuesday. Lewis and colleagues set out the remedy at NeurIPS 2020 and called it retrieval-augmented generation, or RAG. The documents sit in an index beside the model. Update a file, re-index it, and the next answer reflects it.

Your files are parsed, split into passages, indexed and kept in sync. A question retrieves the passages that bear on it, the model writes from those alone, and the same passages come back with the answer so the reader can check the source in one click.

Anthropic's guidance is that a knowledge base under about 200,000 tokens, roughly 500 pages, can go straight into the prompt with no retrieval at all. If yours fits, you need less than this page describes, and the quote will reflect it.

A cited answer

What is our refund window for online orders?

30 days from delivery, unused and in the original packaging.

Returns-Policy-v3.pdf · p. 2

Worked example. Not client data.

Refusals are tested and scored.

OWASP's Top 10 for LLM Applications lists misinformation among its risks, and a fluent wrong answer is the form it usually takes. Four controls stand against it:

  • Answers are written only from passages retrieved from your files.
  • Each answer carries its passages, with the file name and page.
  • Below an evidence threshold tuned on your questions, it says it does not know and hands the question to a person, with the passages it found.
  • The test set includes questions your files cannot answer, and the right reply to each, "I do not know", is scored like any other.

We set that threshold to refuse early, because a confident wrong answer about a price or a contract is the failure a business ends up paying for.

Most wrong answers begin with a missed passage.

The passage that held the answer was never fetched, so the model wrote from something else. Two kinds of search cover each other's blind spots. Embeddings find passages that say the same thing in other words, and keyword search (BM25) finds the exact string an embedding blurs: an invoice number, a clause reference, a part code.

Anthropic measured the combination on its own test sets. Contextual embeddings plus contextual BM25 cut the rate at which the top 20 retrieved chunks missed the answer by 49%, and by 67% with a reranking step added. Your figure will differ. We measure it on your questions.

The model then receives a handful of well-ranked passages. Liu and colleagues showed in 2023 that a passage buried in the middle of a long context is used far worse than one at either end, so extra text brings no extra accuracy.

Across languages, multilingual embedding models such as BGE-M3, which covers more than 100 languages with dense, sparse and multi-vector retrieval in one model, let a question in one language find a passage written in another. Scans and photographs pass through OCR first, with read quality measured per document type.

Each role retrieves only what it may see.

The rule applies when passages are fetched. If sales may not see a margin, the passage carrying it is withheld from every search sales runs, so the model has nothing to leak. Asking the model to be discreet, or filtering its answer afterwards, is how prices escape.

OWASP's entry on vector and embedding weaknesses names the failure. Where every group's passages share one vector store, one group's documents can surface in another's answers, and OWASP's remedy is a permission-aware store with strict partitioning. Between companies nothing is shared, since every client runs in a container of its own with a separate database and separate credentials.

Every answer is logged with the person who asked, the passages retrieved and the reply given, so a disputed answer can be traced line by line.

It keeps pace with the files you change.

Re-indexing runs incrementally on a schedule, so a file edited today shapes tomorrow's answers, and a dashboard flags any source that has gone stale. It reads PDF, Word and Excel files, scanned paper through OCR, email, your ERP and CRM, shared drives, wikis and ticket systems.

Two documents that disagree are shown side by side, with a note that they conflict. Clashing price lists and superseded procedures surface this way. Settle each one once, at the source, and later answers follow it.

Built against questions your people write.

A first corpus is usually one department and a few thousand documents. The state of the files sets the timeline, and the proposal fixes a date for each milestone.

  • Corpus survey. What exists, where it lives, its format, its sensitivity and who may see it. The inventory is yours whatever you decide next.
  • Ingestion and OCR. Parsing, splitting and embedding, with scanned documents read and their quality measured.
  • Retrieval tuning. Against a question set your own people write, before anyone sees a chat box.
  • Interface and roles. On the web, inside a portal your people already use, or in the tool where the question gets asked, with roles mapped to document sets.
  • Evaluation and handover. The question set becomes a regression test on every change, and a model upgrade has to pass it before release.

The four measures below are taken on your documents and your questions.

What we measure before launch
MeasureWhat it tells youMeasured on
Retrieval hit rateThe passage holding the answer was among those fetchedYour question set
Citation accuracyThe cited page supports the answer givenYour question set
Correct refusalsQuestions with no answer in your files get "I do not know"Questions written to have no answer
Access testsA role asking for what it may not see gets nothing backYour role map

One fixed price, hosted where your policy allows.

It runs on your own hardware with open-weight models, or on our hosting in Germany. Nothing you index trains a model that anyone outside your company can reach. The private models page sets out the hardware and model trade-offs.

The build is one fixed price against a signed scope. Hosting and inference are estimated from your document volume and question load before you sign. On full payment the source code, the ingestion pipeline and the question set pass to you, and warranty and hosting follow pricing and engagement.

The assistant answers and takes no action. Connect it later to an autonomous agent and the agent's gate applies: spending, deleting and first contact with a customer still wait for a person.

Tell us which department loses the most time hunting for answers. We will scope a first corpus around it on a free 30-minute call.

Frequently asked questions

How does a RAG knowledge base answer from our documents without inventing answers?

The knowledge base answers only from passages retrieved from your own files, a method called retrieval-augmented generation, and shows the file and page beside every answer. When the evidence falls below a threshold, it passes the question to a person instead of guessing. We tune that threshold on your own questions.

How do you stop RAG inventing answers?

It answers only from passages retrieved from your files and shows them with the file and page. Below an evidence threshold it refuses and hands the question to a person. Questions with no answer in your files sit in the test set, and the refusals are scored.

What if our documents contradict each other?

It shows both passages and says they disagree. The conflict is logged for the document's owner to settle, once, and the fix carries into every later answer.

Can it read scans and documents in other languages?

Yes. Scans and photographs pass through OCR first, and files in Arabic or other languages, or mixing two, are indexed with multilingual models. Read quality is measured per document type on your own files. Anything too poor to read reliably is flagged, so nobody mistakes it for clean text.

How do you stop one team seeing another team's files?

Access is applied at retrieval. A document a role may not see is never fetched for that role, so it never reaches the model. Questions written to cross the line test this before launch and again on every change.

How long before it is useful?

When retrieval passes the question set your own people wrote. That is the bar for putting it in front of users. A first project usually covers one department, and a company-wide rollout goes in phases, because agreeing who may see what takes longer than indexing.

Is RAG better than fine-tuning for company documents?

For documents that change, yes. A fine-tuned model answers from what it absorbed in training, so it cannot name the file behind an answer and needs retraining whenever a document changes. Retrieval keeps the documents outside the model, and an edited file reaches the next answer once it is re-indexed, with the source attached.

Tell us what you are building.