The question isn't "hosted or self-hosted" — it's where is the data boundary? Internal policies,
incident reports, and customer records can't cross the org perimeter, so those workloads run on open
models via Ollama on NVIDIA DGX hardware. General coding help and public-content generation route to
hosted models like Claude, which are simply better at those tasks.
The engineering move that makes this cheap is Microsoft.Extensions.AI: every caller talks to
IChatClient, so routing is configuration, not a rewrite. Sensitivity is decided per request,
not per project. The lesson from running it: treat the local model server as production infrastructure —
auth, rate limits, telemetry, and an eval set that runs before any model or quantization swap.