RAG Knowledge Base
- Year
- August 20, 2026
- Role
- AI Engineer
- Client
- PT. Mitra Pinasthika Mulia
- Access
- Internal only
- RAG
- ChromaDB
- Nomic Embed v2 MoE
- LangChain
- OCR
- Python
Internal system — no public link or screenshots.
What follows describes the problem, the approach and the engineering decisions at a level that discloses no proprietary detail.
The retrieval half of the internal AI platform. RAG Knowledge Base takes company documents, embeds them locally, and serves them back to agents as grounded context.
What it does
- Ingest: PDF, Excel, plain text and Markdown, either uploaded or pasted straight in as text.
- Collections: documents are grouped into named collections, so a given agent retrieves from a defined corpus rather than everything at once.
- OCR: image-based PDFs go through optical character recognition, which matters for the scans and photographed paperwork that make up a real document estate. Text-based PDFs skip it.
- File retention: source files are deleted after embedding by default, and kept on the server only when explicitly asked for.
- Groups: access to a collection is scoped, so a corpus is only retrievable by the people and agents entitled to it.
- API keys: other internal applications query the service programmatically instead of going through the interface.
- Ask AI: a direct query surface for interrogating a collection without wiring up an agent first.
Retrieval
Embeddings are generated by nomic-embed-text-v2-moe, running locally. Two properties made it the right pick: it is multilingual, which a corpus mixing Indonesian and English needs, and it is a mixture-of-experts model, so only a fraction of its parameters activate per token and it stays affordable to run on internal hardware for a large ingest.
Vectors live in ChromaDB, one logical collection per knowledge base, which keeps retrieval scoped by construction — a query cannot accidentally reach a corpus it was not pointed at.
The reason to self-host both halves is data residency. Sending internal documents to a hosted embedding endpoint would mean the entire corpus leaves the network at ingest time, which is exactly the thing the service exists to avoid.
Consumers
Agents built in Agent Builder retrieve through this service, and it is the retrieval layer behind the Marketing Chatbot.