'RAG pipeline for internal knowledge base: what to build, what to skip, and how to scope it'
'Fixed-scope RAG for internal SOPs, runbooks, and SharePoint/Confluence — ingestion, permissions, evals, and cost bands for SMB and SaaS ops teams.'
'Fixed-scope RAG for internal SOPs, runbooks, and SharePoint/Confluence — ingestion, permissions, evals, and cost bands for SMB and SaaS ops teams.'
Most “RAG pipeline for internal knowledge base” guides assume you have a platform team, a six-figure Copilot license, and clean Confluence spaces. Regional distributors, multi-location operators, and seed SaaS teams do not. You have SOPs in SharePoint, warehouse runbooks in Google Drive, onboarding checklists in Notion, and tribal knowledge in Slack threads nobody wants to index.
This post is how we scope a production RAG system at Wolverine Solution (Montréal, serving US and EU clients): fixed-scope ingestion, permission-aware retrieval, cited answers, and an eval harness — not an open-ended AI retainer. Stack we actually ship: Python workers, OpenAI / Anthropic Claude / Azure OpenAI, embeddings into pgvector on PostgreSQL (or Pinecone when the corpus outgrows a single RDS instance), thin orchestration (LlamaIndex or custom), storage on AWS S3 or GCS, infra via Terraform.
| Keyword signal | Estimate (US+EU) | Why we can win |
|---|---|---|
| Monthly volume | 40–90 | Long-tail commercial intent; buyers want internal-ops architecture, not “what is RAG” |
| Difficulty (1–100) | 22–32 | SERP is Microsoft Copilot / Notion AI marketing + generic tutorials; few tie RAG to fixed-scope SOW, RBAC, and eval gates |
| Intent | Commercial / research | Ops leads and technical founders evaluating build vs Copilot/GPT Enterprise seats |
| Our edge | Internal tools + AI on one SOW | Same studio that ships customer portals and ops dashboards can wire RAG to the same identity and audit story |
Data note: Volumes/KD are directional (no Keyword Planner export this run). Next diagnostic: validate in free Keyword Planner (US + UK/DE); drop if under ~20 searches/mo. KPI: 2 discovery calls mentioning “internal knowledge” / RAG within 90 days of publish; avg position ≤20 for the target phrase. Review: 2026-10-16.
A RAG pipeline for internal knowledge base work takes private docs, chunks and embeds them, pulls the right passages when someone asks, and returns cited answers under the same SharePoint, Confluence, or Notion permissions that employee already has. It is not a public chatbot. It is not a fine-tuned model that memorizes SOPs.
Five stages show up in almost every real build: connectors (export or API sync), chunking + metadata, embedding + vector index, retrieval + optional rerank, and generation with citations. Observability and evals sit beside every stage. Leave any of them out of the SOW and you bought a demo, not a knowledge system.
Internal RAG fails differently than customer-facing help RAG. A wrong answer does not just bounce a ticket — it teaches a warehouse lead the wrong lot-hold procedure or a franchise manager the wrong brand-approval path. Permissions and refusal behavior belong in scope from day one. Not phase two.
Build a custom RAG pipeline when answers have to span multiple systems, respect role-based access, cite the exact SOP section, and stay inside a predictable monthly API budget — and when per-seat Copilot or GPT Enterprise pricing will cost more than a fixed build within 12 months. Stick with search or a vendor seat when one clean wiki and keyword find already does the job.
| Signal | Build fixed-scope RAG | Buy seats (M365 Copilot, Notion AI, Guru) |
|---|---|---|
| Sources | SharePoint + Drive PDFs + Confluence + ERP help macros | One Microsoft tenant, docs already in OneDrive/SharePoint |
| Access control | Warehouse staff ≠ finance; franchisee ≠ brand HQ | Flat “everyone in the tenant can ask” is acceptable |
| Answer shape | “Cite section 4.2 of the lot-hold SOP” | Summarize this page I already have open |
| Budget math | 80 seats × $30/mo ≈ $28.8k/yr vs. one $20k–$45k build | <30 seats, corpus is tidy, IT already standardized on M365 |
[Internal link: when early SaaS needs feature-flag admin before first paying users] — same “narrow tool beats platform license” logic applies when your real problem is ops lookup, not another SaaS seat.
Distributors and multi-location operators often land in the build column because the corpus is a mess: scanned CoA PDFs, binder-era SOPs, role splits Microsoft’s default indexing ignores. Technical founders land there when engineering runbooks live in GitHub + Notion + a private wiki and support needs one answer surface.
A fixed-scope internal RAG build covers connectors for named sources, chunking with ACL metadata, a vector store, retrieval with refusal rules, a thin Slack/Teams or web UI, logging, and a golden-question eval set — plus a written not-building list. It leaves out open-ended model research, full doc migration, and agentic ERP write-back on day one.
Start with the three document sets that already trigger Slack pings:
Leave Slack archives, email PSTs, and “everything in the shared drive” alone until those three are accurate. Index noise and the assistant earns a reputation for confident nonsense.
Every chunk carries ACL metadata (group, location, document owner). At query time, retrieval filters to what the caller’s identity can see — usually through your existing OIDC / SAML IdP (Okta, Azure AD, Google Workspace). Generation never sees chunks the user could not open in SharePoint. If you cannot name the identity source in the SOW, pause the build.
Hybrid retrieval (keyword + vectors) beats pure vectors on SOP titles and SKU-like identifiers. We usually start with pgvector on PostgreSQL when the client already runs RDS or Cloud SQL, add a simple cross-encoder rerank only when evals show ranking failures, and require citations (doc title + section + link) on every answer. No citation → no answer. That one rule kills more hallucination incidents than prompt engineering ever will.
[Internal link: LLM eval harness setup fixed price for SaaS] — the same harness pattern applies to internal corpora; swap customer FAQs for SOP golden questions.
For SMB and early-stage US/EU teams, a fixed-scope internal RAG pilot usually lands at $18,000–$45,000 over 6–10 weeks: 2–4 connectors, permission-aware retrieval, cited chat UI, logging, and 50–150 golden questions. Wider corpora, custom IdP work, or EU-only hosting push you toward the top of that band.
What moves the number:
Ongoing cost is mostly embeddings refresh + LLM tokens. For an internal tool with dozens of daily active askers — not thousands of public sessions — teams often stay in the low hundreds of dollars per month if you cache retrieval, cap context windows, and refuse low-confidence queries. We put a hard monthly token budget in the SOW and alert at 70%.
| Scope slice | Typical fixed band | What you get |
|---|---|---|
| Pilot (one wiki + one Drive folder) | $18k–$28k | Connectors, index, cited UI, 50 golden Qs |
| Ops standard (3 sources + RBAC) | $28k–$45k | IdP filter, Slack/Teams or portal UI, CI evals |
| Phase 2 (agents / write-back) | Separate SOW | HITL approval gates — not bundled into pilot |
These are delivery bands from fixed-scope AI work we quote at Wolverine Solution, not Keyword Planner outputs. Validate against your corpus size and compliance needs in discovery.
You keep internal RAG accurate with a living golden set, scheduled re-ingestion when documents change, and a CI or nightly eval gate that fails closed when citation or faithfulness scores drop. Prompt tweaks alone will not survive SOP edits and SharePoint renames.
Practical loop we put in the handoff:
[Internal link: human-in-the-loop approval gates for agentic B2B order changes] — once you move from “answer questions” to “change orders,” HITL gates become mandatory; do not skip that boundary in v1.
Refuse write-back to ERP, unrestricted Slack archive ingestion, fine-tuning before retrieval works, and any promise to answer anything about the company without ACL filters. Those items create liability faster than value for distributors and multi-location operators. They stay out of v1 SOWs.
Write this “not building” list into the SOW:
Same scope freeze we use on portals and SaaS dashboards. Internal RAG is still a product with a done definition.
Usually no. Fine-tuning adjusts tone and format; it does not keep Tuesday’s SOP edit in the model weights. For internal knowledge bases, retrieval over current documents plus citations beats fine-tuning on accuracy and cost. Consider fine-tuning only after retrieval evals are stable and you have a narrow style problem (e.g., always answer in your ops checklist template).
Yes, when your corpus already lives cleanly in M365 and flat tenant access is acceptable. Choose a custom RAG pipeline when sources span Drive + Confluence + GitHub, when warehouse and finance roles must never share chunks, or when per-seat Copilot cost exceeds a fixed build. Many mid-market ops teams end up with both: Copilot for Office work, custom RAG for regulated SOPs.
Most fixed-scope pilots we run are usable in staging in 4–6 weeks and production-ready in 6–10 weeks, assuming source access and IdP credentials arrive in week one. OCR-heavy PDF binders and custom SharePoint permission models are the usual delays — not the LLM API.
It should refuse with a clear next step: link to the search UI, name the document owner, or open a ticket template. Silent guessing is the failure mode that destroys trust with warehouse and franchise staff. We encode refusal copy and thresholds in the SOW so “I don’t know” is accepted product behavior.
You do. Fixed-scope delivery at Wolverine Solution means the repo, Terraform, eval suite, and vector index live in your cloud (AWS or GCP). We are not a hosted knowledge-vendor lock-in. That matches how we ship portals and internal tools for the same ICP.
If you are a regional distributor, multi-location operator, or technical founder drowning in SOPs and Slack repeats, we can turn a named corpus into a permission-aware, cited assistant on a fixed SOW — with evals and a hard “not building” list.
CTA: Book a discovery call at https://wolverinesolution.com with your top three document sources, approximate seat count, and whether answers must stay in-region (US/EU). Bring one painful Slack question you wish search already answered. We will tell you honestly whether RAG, Copilot seats, or a simpler search UI is the right next spend.