Ingestion
Where are documents parsed, transformed and chunked?
RAG is a pipeline, not a single privacy property. A self-hosted interface may still depend on external embeddings or inference, while a fully controlled pipeline must keep every mandatory component inside the required boundary.
Private retrieval over internal documents, knowledge bases, matter files, research collections and other controlled corpora.
Where are documents parsed, transformed and chunked?
Where are embeddings, indexes and retrieved passages stored and processed?
Does the generation model run locally or call an external endpoint?
Can the hardware support model weights, context, KV cache and runtime overhead for the intended workload?
Evaluating only the chat UI while ignoring the RAG data layer.
Assuming local vector storage guarantees local inference.
Ignoring context growth and runtime overhead when estimating memory fit.
Hard constraints win: mandatory privacy, platform, hardware or license requirements exclude incompatible configurations instead of merely lowering their rank.
These configurations are evidence-backed launch references. They illustrate different privacy and hardware trade-offs; they are not universal recommendations.
AnythingLLM + Ollama + Qwen3-8B
Open WebUI + Ollama + Mistral Small 3.1 24B
Onyx + vLLM + Mistral Small 3.1 24B
The required privacy boundary must cover every relevant component: application, ingestion, document and index storage, retrieval and inference.
Not necessarily as a technical architecture, but local inference is required when the user’s hard constraint says inference or sensitive context must not leave the controlled environment.
RAG adds context and runtime overhead on top of model weights. Hardware fit therefore depends on quantization, context, KV cache, runtime and concurrency as well as model size.