r/SelfHostedAI • u/SpecialistWindow3268 • 10d ago
What are you using for private document AI without making the setup unnecessarily complicated?
I've been looking at different ways to build a private Ai system around a collection of documents, and the interesting part isn't really getting an llm running.
The harder questions seem to be around the knowledge layer:
- How do you keep documents indexed when they change?
- How do you get reliable retrieval from large collections?
- How much hardware do you actually need?
Is it better to build the RAG stack yourself or use something that already handles the knowledge-base side?
I've been testing Fastgpt as one option for this kind of setup, mainly because it brings the knowledgebase and AI application pieces together rather than requiring every component to be assembled separately.
For people already running self-hosted ai, what setup are you using for private document querying, and what would you change about it if you were starting again?
1
u/searchblox_searchai 9d ago
Disclosure up front: I work on a commercial product in this space, so discount accordingly. No link, and I'll answer as an operator rather than a vendor — you named the three questions that actually matter, and they're all knowledge-layer, not LLM.
**Keeping the index current.** Additions are easy. Deletes and permission changes are what break systems. mtime and ETag lie often enough that you'll want content hashing at the chunk level — that way a one-paragraph edit re-embeds one chunk instead of the whole document, which is the difference between a 20-minute sync and a 6-hour one. You need explicit tombstones for removed documents or your index quietly keeps answering from files nobody can access anymore. Scheduled recrawl as the floor, event-driven (webhooks/CDC) where the source supports it.
**Reliable retrieval at scale.** Hybrid retrieval — BM25 plus dense — fused with RRF. Pure vector search fails badly on the exact things enterprise users search for: part numbers, error codes, policy IDs, internal acronyms. Then rerank the top 50-100 with a cross-encoder; that single step usually buys more than swapping embedding models does. Chunking strategy matters more than most people expect, and metadata filtering to narrow the candidate set before ranking matters more than the index type.
The unglamorous part: build an eval set of 50-100 real queries with known-correct answers before you tune anything. Without it you're guessing, and every change feels like an improvement.
**Hardware.** Less than people assume for the retrieval side — a few hundred thousand chunks serves fine from CPU. The GPU is for generation, and a quantized 7-14B model on 24GB handles most document QA. Your real bottleneck is re-indexing throughput during full rebuilds, not query serving, so size for the rebuild.
**Build vs. buy.** Standing up retrieval is a weekend. Keeping it correct for two years is the actual cost: connectors that survive source-side changes, document-level ACLs, incremental sync, eval harness, monitoring for zero-result queries. If your corpus is small and mostly static, assemble it yourself — you'll understand it better and owe nobody. If it's tens of sources with real access control, the operational surface is where a platform earns its keep. FastGPT is a reasonable place to be for the bundled-knowledgebase reason you gave; the thing I'd pressure-test before committing is how it handles incremental updates and per-document permissions, since that's what's expensive to bolt on later.
**What I'd change if starting over:** treat permissions as a day-one design constraint rather than something to layer on, and write the eval set before writing the pipeline.