Private AI

A knowledge base that keeps company data inside

Staff ask in their own words and get an answer from internal documents, with a link to the source. The whole system runs on the customer's own server.

Client
regional retail cooperative
Status
Production · 2026
Outcome
  • Searching internal documentation moved from browsing folders to asking a question in plain words.
  • No company document leaves the customer's infrastructure.
  • New documents index themselves once dropped into a watched folder.
Stack
FastAPIAnythingLLMWhisperLLaVASQLitePAM and JWTZFSsystemd
your own server documents PDF and Office images voice notes Ingestion convert to text OCR and transcribe chunking Index embeddings metadata Language model local or via proxy Answer text with citations
Figure. Company data never crosses the boundary of the customer's own server. At most a question goes out — never a document.

The problem

In a company that has been running for decades, knowledge is not stored in one system. Some of it is in policies, some in meeting minutes, some in email, and most of it in the heads of the people who have been there longest. When one of those people leaves or goes on holiday, answering a routine operational question takes half a day.

The customer had a second, harder condition. Internal documents must not be uploaded to a cloud service. Not out of distrust of any particular vendor, but because they cannot guarantee where the documents end up or who sees them. That ruled out every product that works by uploading a folder through a browser.

What was built

A knowledge base that runs entirely on the customer's own hardware. It accepts plain text, Word and Excel documents, PDFs, images and voice recordings. Each type takes its own path: documents are converted to clean text, images are described by a vision model, recordings are transcribed by a speech model. The result is split into meaningful chunks and indexed.

A user then asks a question in plain words. The system finds the relevant passages, passes them to a language model as context, and returns the answer together with a link to the document it came from. That link matters more than it appears: without it the answer is a claim, with it the answer is a checkable claim.

The system includes a document manager, an editor for changing content directly, a watched folder that indexes new files on its own, and a mobile client for the cases where someone is asking from the shop floor rather than from a desk.

Screenshot of the knowledge base: the user asks a question in Slovak and the agent returns an answer with a link to the source document.
Screenshot – RAG database

How security is handled

Login uses system accounts, so there is no second password database to maintain. Document access is tied to the user rather than to the instance. Storage runs on ZFS with snapshots, so an accidentally deleted document is a minute's work rather than a restore from backup.

A knowledge base is only as good as what you put in it. If an internal policy is out of date, the model will confidently cite the out-of-date policy. The first month of operation is therefore always about cleaning up content, not about tuning the model.

Result

The system is in production. The biggest change is not technical: a question that used to be emailed to a colleague, followed by a wait, is now answered immediately and without interrupting anyone.