Playground Advanced Features
Fine-tuned control over model responses: sampling parameters, request modes, and reasoning.
Advanced
Expand Advanced in the Playground's parameter column to reveal the sampling controls below. The section is collapsed by default, and the everyday controls (Max Tokens and Temperature) sit above it, outside the collapsible.
Top P (0.0 to 1.0)
Nucleus sampling. Step 0.01, default 0.95.
| Value | Effect |
|---|---|
| 0.95 | Consider the top 95% of probability mass (default) |
| 1.0 | Consider all tokens |
| Lower | More focused, less surprising output |
Adjust Temperature or Top P, rarely both; they pull on the same lever from different ends.
Frequency Penalty (-2.0 to 2.0)
Controls repetition of tokens based on how often they have already appeared. Step 0.1, default 0.
| Value | Effect |
|---|---|
| -2.0 | Strongly encourage repetition |
| 0.0 | No penalty (default) |
| 2.0 | Strongly discourage repetition |
Use cases:
- Positive values for creative writing, to avoid word repetition
- Negative values when you need consistent terminology
Presence Penalty (-2.0 to 2.0)
Controls repetition based on whether a token has appeared at all. Step 0.1, default 0.
| Value | Effect |
|---|---|
| -2.0 | Encourage reusing existing topics |
| 0.0 | No penalty (default) |
| 2.0 | Encourage exploring new topics |
Use cases:
- Positive values for brainstorming and diverse ideas
- Negative values for focused, consistent responses
Seed
Set a seed for reproducible outputs. The field is empty by default and its placeholder reads Random.
Benefits:
- Same seed + same input = same output
- Useful for testing and debugging
- Essential for A/B testing prompts
Note: Reproducibility is best-effort and may vary across model versions.
Stop Sequences (comma-separated)
Define sequences that stop generation when encountered. Enter several separated by commas.
###, <END>
Examples:
###: stop at markdown section breaks<END>: stop at custom end markers
Request Mode
The Request Mode card holds two mutually exclusive checkboxes, Stream and Background. Checking one clears the other. With both cleared, the request is a standard synchronous call.
Stream (default)
Real-time token streaming as the model generates.
Features:
- See responses as they are generated
- Cancel mid-generation with the Stop button, keeping the partial text
- A better experience for long responses
Background
Submit the request as a background job.
When to use:
- Very long responses
- Batch testing
- When you don't need an immediate result
How it works:
- Check Background
- Submit your prompt
- The request is queued as a job
- Results appear on the Jobs page
Standard Requests
With both boxes cleared, the Playground sends a plain request/response without streaming.
When to use:
- Simple, short requests
- When streaming causes issues in your environment
- Reproducing an API behaviour exactly
Why a Row Is Unavailable
Each row explains itself, and it names the real reason rather than a generic one. A model capability limit always takes priority over the mutual exclusion, so you are never told to "turn off the other one" for something the model could not do anyway.
| Sub-line | What it means |
|---|---|
| "This model does not support streaming" | The model itself cannot stream. Nothing you toggle will enable it |
| "This model does not support async" | The model cannot be run as a background job |
| "Turn off Background to stream the response." | Both are supported; Background is currently selected |
| "Turn off Stream to run this as a background job." | Both are supported; Stream is currently selected |
| "Receive the response in real-time chunks" | Stream is available and unblocked |
| "Process as a background job and track it from Jobs." | Background is available and unblocked |
Context Usage Warnings
As a conversation fills the model's context window, the Playground warns you before requests start failing:
- Around 85% used, an amber line reads "Context window is nearly full (~{percent}% used). Start a new chat to free up context space."
- Above 95%, a red line reads "Context window is full. Please start a new chat to continue."
Both are about the conversation, not about one request. The fix is New Chat; trimming Max Tokens does not free context that the history is already occupying.
A separate, narrower warning appears under the Max Tokens field when your setting is larger than the context left: "Your setting of {requested} tokens is above the context left in this conversation, so the request will use {limit}." That one is informational; the request still goes through at the smaller figure.
Reasoning
Reasoning is gated on what the model declares, not on the shape of its output.
| Control | When it appears |
|---|---|
| Thinking Mode checkbox | The model declares a reasoning parser and is served by vLLM. On by default |
| Reasoning Model indicator | A provider-served model that always reasons. Static text, not a toggle; there is nothing to switch |
| Reasoning Effort | The model declares support for reasoning_effort, and thinking is enabled |
When reasoning comes back, the Playground renders it in a collapsible Thinking Process panel above the answer, filling in live as the response streams. Models that return a reasoning field and models that wrap their reasoning in tags are both handled; you do not need to configure anything for either.
Reasoning Effort
| Effort | Typical use | Trade-off |
|---|---|---|
| Low | Simple classification, formatting, short answers | Fast, minimal reasoning tokens |
| Medium (default) | General chat, most everyday prompts | Balanced |
| High | Complex math, code, multi-step analysis | Slower, larger reasoning trace |
The selector is shown only for models that expose the parameter, since other reasoning models ignore it at the engine level and a visible no-op would be misleading. It resets to Medium whenever you change model.
Pass the same value through the API:
{
"model": "your-chat-model",
"messages": [{"role": "user", "content": "Explain the Monty Hall problem."}],
"reasoning_effort": "high"
}
If a reasoning model returns an empty answer, it spent its whole budget thinking. The Playground says as much; raise Max Tokens, or turn Thinking Mode off for a direct response.
Audio Parameters
The controls above belong to the chat surface. The audio surfaces have their own set, and they sit in the same Options column rather than behind an Advanced collapsible -- there are few enough of them that hiding any would only make them hard to find. All of them are covered in full on Playground Audio.
| Surface | Controls that behave like the ones above |
|---|---|
| Transcription | Glossary (names and jargon you want spelled correctly), Temperature (0 to 1, default 0), Segment timestamps, and a Task selector on models that translate |
| Speech | Speed, Output format, Voice, and a streaming toggle on models that declare incremental synthesis |
Two differences from the chat surface are worth carrying over:
- Temperature runs 0 to 1 on transcription, not 0 to 2, and its useful default is 0. Transcription is a task where the confident answer is almost always the right one; raising it can recover an unusual word, and can equally invent one. Leave it at 0 unless you have a reason.
- Speed on the speech surface is a request parameter, not a playback control. It changes the audio the model produces, so the file you download is the one you heard.
seed, top_p, top_k and min_p are accepted by the transcription API but have no Playground control -- send them directly if you need them. See the Speech to Text guide.
Code Export
Click Code to open the Code Examples panel. The snippet reflects every parameter you have configured:
response = client.chat.completions.create(
model="your-chat-model",
messages=[...],
temperature=0.7,
max_tokens=1024,
top_p=0.95,
frequency_penalty=0.5,
presence_penalty=0.2,
seed=42,
stop=["###", "<END>"]
)
The API key is always the literal placeholder YOUR_API_KEY. Substitute one of your own from API Keys. See Code Examples panel for the panel's tabs and defaults.
Best Practices
For Consistent Outputs
- Set
temperatureto 0 - Use a fixed
seed - Leave
top_pat 1.0
For Creative Outputs
- Increase
temperature(0.8–1.2) - Add
presence_penalty(0.3–0.6) - Add
frequency_penalty(0.3–0.6)
For Focused Outputs
- Lower
temperature(0.3–0.5) - Lower
top_p(0.7–0.9) - Use specific stop sequences
For Long-Form Content
- Use Background mode for reliability
- Set Max Tokens deliberately, and check for a Truncated badge on the result
- Consider breaking the work into chunks before the context warnings appear