Technology Aug 06, 2026 · 2 min read

RAGnarok Part 1 — Scoping an Enterprise RAG System (Before Any Code)

Starting a series called RAGnarok — building an Enterprise Knowledge Assistant (RAG system) in public, part by part. This first post is scope/architecture only, no code — that starts in Part 2. The problem Internal docs (HR policy, engineering docs, deployment runbooks, incident postmortems, API r...

DE
DEV Community
by Tanmay
RAGnarok Part 1 — Scoping an Enterprise RAG System (Before Any Code)

Starting a series called RAGnarok — building an Enterprise Knowledge Assistant (RAG system) in public, part by part. This first post is scope/architecture only, no code — that starts in Part 2.

The problem

Internal docs (HR policy, engineering docs, deployment runbooks, incident postmortems, API references) are scattered, and finding the right one is slow. Goal: a retrieval system that answers questions like "how do I rotate AWS credentials?" by pulling from the actual internal docs instead of a person searching manually.

Tech stack
Embeddings: Sentence Transformers
Vector store: ChromaDB
Orchestration: LangChain (added later)
LLM: OpenAI / Ollama
Engineering: OOP, logging, config management, exception handling
Data pipeline: ETL-style ingestion, metadata management, incremental updates, versioning
Project structure
enterprise-rag/

├── data/
│ ├── hr/
│ ├── engineering/
│ ├── finance/
│ └── policies/

├── ingestion/
│ ├── extractor.py
│ ├── chunker.py
│ ├── embedder.py
│ └── loader.py

├── vectordb/
│ └── chroma_client.py

├── retrieval/
│ └── retriever.py

├── llm/
│ └── generator.py

├── config/
├── tests/
├── app.py
└── requirements.txt
Phased build plan
Phase 1 — read docs → chunk → embed → store in ChromaDB → semantic search
Phase 2 — automated PDF ingestion, multi-file handling, metadata filtering, document categories
Phase 3 — LLM integration: retriever → top-K chunks → LLM → answer (full RAG loop)
Phase 4 — production hardening: logging, config, exception handling, versioning, incremental ingestion, tests
Why this project over the obvious ones

Skipped: chat-with-PDF (overdone), resume analyzer (learning value drops off fast), YouTube RAG (adds complexity unrelated to RAG), medical/legal RAG (needs domain expertise). Enterprise Knowledge Assistant hits chunking, metadata filtering, retrieval tuning, and incremental ingestion — the concepts that actually come up in RAG system-design interviews.

Next

Part 2: the ingestion pipeline — extractor.py, chunker.py, embedder.py, loader.py.

Repo will be linked once Phase 1 code lands. Full technical writeup (with more depth than fits here) is on Hashnode.

Feedback on the phase breakdown or stack choices welcome — especially if anyone's built something similar.

DE
Source

This article was originally published by DEV Community and written by Tanmay.

Read original article on DEV Community
Back to Discover

Reading List