Retrieval handoff — Northwind Apps (demo)
What you own
- Your files on the machine they already live on.
- Chunks and embeddings on that disk (example store: Qdrant).
- A private query API in front of your on-prem LLM.
- Bearer token in your secrets store — not in chat, not in git.
- Process name (example):
rag.service.
Endpoints
GET https://rag.northwind.internal/health— no token.-
POST https://rag.northwind.internal/query—Authorization: Bearer …
HTTPS
The API binds on the machine. Caddy or nginx sits in front with your
cert and forwards Authorization. This demo is HTTP. A
paid install documents the proxy you already run.
Probe
curl -sf https://rag.northwind.internal/health should
return {"status":"ok"} and a chunk count. If this
fails, check the process before you re-index.
401 means the token is wrong. An empty hit list means
the question missed the corpus — not that the model is down.
Rotate the token
- Mint a new secret (this UI on your network, or
openssl rand -hex 24). - Set
API_TOKEN=in the env file on the machine. - Restart the process. The previous token dies immediately.
- Paste the new value into the product secret. Do not email it.
Re-index
Drop a new PDF on the machine (this page on a paid install, or the ingest step in the runbook). Vectors stay on this disk. Do not upload the files to a hosted model to “test.”
Start, stop, logs
systemctl start ragsystemctl stop rag— no hosted vendor to turn off.journalctl -u rag -f— or the log path on your OS.
Out of this handoff
Product UI, staff logins, training, and 24/7 on-call. Your app keeps the screen. This document is the query path only.