← All articles · Dashboard
Inference chat
The Dashboard's Inference tab is a tuned chat UI against whatever's currently serving — local, remote host, or registered remote server. Sampling controls are exposed so you can dial in for your workload.
3 min read
What it is
A standard chat UI that streams responses token-by-token from the selected backend. The backend dropdown (top-right of the tab) picks between:
- Local — the in-app supervised llama-server
- Connected hosts — any remote host you're SSH-connected to via the Hosts tab
- Registered remote servers — any OpenAI-compatible endpoint registered via the Remote servers card
The tab also exposes the sampling parameters most teams want to control: temperature, top-p, top-k, max tokens, frequency penalty, presence penalty, repetition penalty, stop sequences, seed.
When you'd use it
- Spot-check the model after a fresh serve, calibration, or fine-tune
- Tune sampling for your workload before locking it into your application config
- Compare backends by sending the same prompt to local + remote and reading the responses side-by-side
- Debug a hung production endpoint by sending a known-good prompt and watching whether tokens flow at all
It's NOT a production chat UI. There's no user authentication, session history, or moderation; sessions are in-memory and lost when you close the app.
Sampling controls — what they do
- Temperature (0-2): how random sampling is. 0 = always pick the most likely token (deterministic). 0.7 = balanced creativity. >1.0 = wild.
- Top-p (0-1): only sample from tokens whose cumulative probability mass is at most this. 0.9 is a common default; effectively caps the long tail.
- Top-k: only sample from the k most likely tokens. Set to 40 for a tighter constraint; 0 disables.
- Frequency penalty (-2 to 2): discourage repeating the same tokens. Higher = more variety.
- Presence penalty (-2 to 2): discourage repeating ANY token that's appeared. Use sparingly; can push the model to ramble.
- Repetition penalty (1.0-1.3): llama.cpp-specific. Multiplies the logits of recently-seen tokens. 1.1 is a safe default.
- Stop sequences: strings that, when generated, cut off the response immediately. Comma-separated.
- Seed: integer. Same seed + same params + same model = exact reproducibility.
System prompt
The system-prompt field at the top of the chat is prepended to every message in the conversation. Use it to set the model's role ("You are a helpful coding assistant..."), format constraints ("Respond in JSON"), or behavior rules.
A long system prompt is exactly the case the prompt cache was built for — turn that on if you're sending many requests with the same system prompt.
Common pitfalls
- Sampling drifts during the conversation: each message uses the current sampling settings, but past messages were generated with whatever was set then. To reproduce a result, clear the chat and re-run with the same settings.
- Comparing across backends, getting different outputs: even at temperature 0, different inference engines tokenize and sample slightly differently. Use seed + temperature 0 for the closest apples-to-apples; expect minor variance.
- Forgetting the seed: if you're debugging a "the model said something weird," set seed to a specific value so the next person to repro can hit the same path.
Need help with this in production?
Inspire AI Lab runs LLM optimization engagements end-to-end using Blueprint. If you'd rather hand the work to us instead of running it yourself, book a 30-minute review.