Skip to content

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_penalty to 1.15-1.2.
  • You need deterministic output (testing) — set seed to 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:

{
  "extra": {
    "num_steps": 32,
    "mirostat": 2,
    "mirostat_tau": 5.0
  }
}

num_steps is OmniVoice / codec-TTS terminology; mirostat* is llama.cpp. Use this when the well-known fields don't cover what you need.