The SOP answer machine: stop being your team's search engine
A private assistant that knows your manuals and shows its sources
Version history
A private assistant that answers "how do we handle a refund?" from your own SOPs and manuals, with the source cited — self-hosted, so nothing about your business leaves the building.
The problem
Every small business runs on knowledge that lives in two places: scattered documents nobody can find, and the head of the one person everyone interrupts. "What's the warranty procedure?" "Which supplier do we use for X?" "How do I file a damage claim?" — each answer exists, in a PDF from 2023 or a procedures folder six levels deep, but asking the senior person is faster, so the senior person answers the same twelve questions forever. The advice you'll find on this is either "book a demo with our consultants," a per-seat SaaS wiki, or a RAG tutorial written for developers with a vector-database comparison table. None of those is a Tuesday-afternoon setup for a 5–25 person business. This is.
The architecture
│ PDF, DOCX, TXT — uploaded per workspace
▼
[ AnythingLLM (self-hosted, Docker) ]
│ chunks + embeds documents locally (built-in vector store)
│ workspaces: OPERATIONS / SALES / HR (separate doc sets + access)
▼
staff asks in chat UI → relevant chunks retrieved → sent to
[ LLM via Ollama, on the same box ] → answer with source citations
Not in the docs? → "I don't have that — ask [owner]." Never a guess.
This is retrieval-augmented generation (RAG) without the jargon: the assistant looks up relevant passages from your documents first, then answers only from what it found, citing which document it came from. You are not training a model, and your documents are not uploaded anywhere — both common misconceptions that stop owners from starting.
Tool choices — and why
AnythingLLM (MIT, 60.7k stars, active — last push 28/05/2026). The whole stack in one container: document ingestion, chunking, a built-in local vector database, workspaces, multi-user mode with per-workspace access, and a chat UI your team will actually use. That "one container" point is the decision: the developer-tutorial route has you composing a vector DB + embedding service + orchestration framework + UI — four things to update and debug, to reach the same place a 15-minute Docker setup reaches. Genuinely MIT-licensed, desktop version available for a solo try-before-you-deploy.
Ollama + models (MIT, ~175k stars, active). Two models do the work: a small embedding model for indexing your documents, and an 8B-class instruct model for answering. Non-obvious tip for EU businesses: if your SOPs are in Dutch, French or German, pick a multilingual embedding model explicitly (Ollama hosts several) — the default English-centric embedders quietly degrade retrieval on non-English text, and it looks like "the AI is dumb" when it's actually the index.
Scaling path, named up front: if you outgrow uploads and want the assistant to continuously sync from Google Drive, Confluence or Slack with document-level permissions, that's Onyx (30.7k stars, active — last push 05/07/2026; community edition MIT, enterprise features separately licensed). It's heavier to run. Start with AnythingLLM; move only when the upload workflow actually hurts.
Monthly cost. Software: €0. Hardware: an office machine or mini-PC with 16 GB RAM runs the full stack; a capable VPS is roughly €10–20/month (verify current pricing). A hosted LLM API instead of Ollama improves answer quality on messy questions and costs low single-digit euros/month at internal-Q&A volume — but then your procedures and price lists transit a third party; for most, local is the right default and plenty good.
Setup outline
1. Collect the 10–20 documents that answer your team's most-asked questions. Skip the archive; start with what people actually ask about.
2. Ruthless pre-filter: delete or exclude anything outdated. One stale price list poisons trust in every answer.
3. Run AnythingLLM (official Docker image) + Ollama; pull one instruct model and one (multilingual, if needed) embedding model.
4. Create workspaces per domain — operations, sales, HR — and upload each doc set to its workspace. Separate workspaces are your access control: HR docs never sit in the workspace everyone queries.
5. Set the system prompt: answer only from provided documents, always cite the source document, and say "I don't have that" otherwise. Refusing to guess is the feature.
6. Test with 20 real questions from the last month — collected from the team, not invented. Fix failures by fixing documents (usually the answer genuinely isn't written down anywhere — now you know).
7. Roll out with one rule: ask the machine first; if it can't answer, ask a human, then write the answer down and upload it. The gaps list becomes your documentation roadmap.
Pitfalls — the real ones
Garbage in, confident garbage out. The assistant is exactly as good as the documents. If your SOPs are outdated, it will cite the outdated one politely. The pre-filter in step 2 is the highest-leverage hour of the whole build.
No citation, no trust. The moment staff catch one uncited wrong answer, they stop using it — and they won't tell you they stopped. Citations let people verify in one click, which is what builds the habit.
Don't dump HR and payroll into the general workspace. Workspace separation is a design decision, not an afterthought. Salary bands in the ops workspace is a GDPR problem and a workplace-drama problem in one upload.
Scanned PDFs are invisible. Image-only scans yield no text to index; the assistant just won't know they exist. Run them through OCR first (OCRmyPDF, from our receipt-intake blueprint, does this well).
It answers; it doesn't decide. "What does our returns SOP say?" is the machine's job. "Should we make an exception for this customer?" is not. Say this at rollout, once, explicitly — it prevents both over-reliance and the backlash when someone over-relies.
Verified repos
AnythingLLM — MIT, 60.7k stars, active (May 2026)
Ollama — MIT, ~175k stars, active (June 2026)
Onyx — MIT (community edition), 30.7k stars, active (July 2026)
Get the next blueprint as it publishes — free, practical, verified tooling only.
Subscribe · Want this audited or extended for your business? DM @RXed_EU
Get this blueprint tailored to your business — free
Tell us what you run and where. We research your sector's specifics — rules, tools, customer habits — and send you a version of this blueprint rebuilt for your situation, usually within 24 hours.