Samplers & presets¶
Sampler profiles bundle every generation parameter (temperature, top-p, top-k, repetition penalty, etc.) into a named preset. Pluma ships a handful out of the box and auto-picks one based on the active model.
For the full parameter table, see Reference → Sampler parameters.
What's active right now¶
The composer area shows the active sampler. Switch in Settings → Sampler → Active profile.
Sampler family auto-pick¶
When you change models, Pluma tries to guess the right sampler from the model id and swaps automatically. The mapping today:
| Model id pattern | Auto-picked sampler |
|---|---|
qwen2.5-*, qwen3-* |
Qwen Instruct |
llama-3*, llama3-* |
Llama 3 Instruct |
mistral-*, mixtral-* |
Mistral Instruct |
| (no match) | Default |
To pin a manual choice, flip the Pinned toggle in the sampler editor. Pinned profiles survive model swaps; unpinned ones get re-picked.
When to reach for which¶
- Outputs feel samey / boring — bump temperature toward 0.9, top-p toward 0.98. Try Creative.
- Outputs are wild / hallucinate — drop temperature toward 0.4, bump rep penalty toward 1.1. Try Precise.
- The model loops on a phrase — bump
repetition_penaltyto 1.15-1.2. - You need deterministic output (testing) — set
seedto a fixed value and drop temperature to 0.
Importing a SillyTavern preset¶
Settings → Sampler → Import preset. Paste or upload the JSON. Pluma parses prompts[] + prompt_order[] and uses them for system-message assembly when this sampler is active. Marker substitution from the active card ({{charDescription}}, {{personaDescription}}, etc.) lands automatically.
Per-conversation overrides¶
Coming under smelt-cv2. Today, switching the active sampler affects every conversation until you switch it again.
Backend-specific knobs¶
Anything in the sampler's extra object passes through to the upstream untouched. Examples:
num_steps is OmniVoice / codec-TTS terminology; mirostat* is llama.cpp. Use this when the well-known fields don't cover what you need.