Playground
The Playground is an interactive testing environment for LLM prompts. Compare outputs across models side by side, define tools for function calling, and iterate on prompts before deploying them.
Navigate to Agent Observability → Playground in the sidebar (ap1, us1).
The Playground is currently in Beta.
Prerequisites
The Playground requires at least one LLM Connection to be configured. If no connections exist, the model selector shows a link to Settings → LLM Connections.
Getting Started
- Select an LLM Connection and Model from the dropdowns at the top of the window
- Add messages using the + Message dropdown (User, Assistant, System, Developer, or Tool)
- Type your prompt content in the message editor
- Click Submit or press ⌘ Enter to run
The output appears at the bottom of the window with the model's response, including any tool calls or reasoning output.
Multi-Window Comparison
Click New split window to add up to four side-by-side windows. Each window has its own connection, model, messages, and output — useful for A/B testing prompts across different models or configurations.
- Duplicate window — copies the window configuration
- Remove window — removes a window (available when more than one is open)
- Run All (⌘ Enter) — submits all windows that have a model selected, in parallel
- Reset — replaces all windows with a single empty window
Messages
Messages support the following roles:
| Role | Purpose |
|---|---|
| System | System instructions for the model |
| User | User input / prompt |
| Assistant | Model response (for few-shot examples) |
| Developer | Developer instructions |
| Tool | Tool result linked to a tool call |
Click the role badge on any message to cycle through roles. Drag the handle to reorder messages.
Prompt References
Type @@@ in a message to link to a saved
prompt. Oodle resolves prompt
references before sending the request to the model.
Template Variables
Use {{variable_name}} syntax in message content
to create template variables. The Variables
panel (badge shows count) lets you fill in values
for each variable before running.
All variables must have values before submitting — the Playground warns if any are unfilled.
Tools (Function Calling)
Click Tools to define function tools the model can call. Each tool has:
- Name — e.g.
get_weather - Description — what the tool does
- JSON Schema — parameter schema (visual builder or raw JSON)
When the model responds with tool calls, they appear as expandable blocks in the output.
Tools and structured output cannot be used at the same time.
Structured Output
Click Schema to define a JSON schema that constrains the model's output format. Specify a name, description, and schema using the visual builder or raw JSON editor.
Model Parameters
Click the gear icon to configure optional parameters:
| Parameter | Range | Default |
|---|---|---|
| Temperature | 0–2 | 1.0 |
| Max Tokens | 1–65536 | 2048 |
| Top P | 0–1 | 1.0 |
| Additional options | Provider-specific JSON | {} |
Each parameter has a toggle — enable it to override the model's default.
Seeding from Traces
From any trace detail page, click Open in Playground to load the trace's conversation into the Playground. This seeds:
- All messages (system, user, assistant, tool)
- The model name
- Tool definitions (if present in the trace)
Use this to replay and iterate on real production conversations.
Seeding from Prompts
From any prompt detail page, click Test in Playground to load the prompt content into the Playground. Chat prompts load as multi-message conversations; text prompts load as a single system message.
Save as Prompt
Click Save as Prompt in the toolbar to save the current messages as a new prompt. This opens the prompt creation page with the messages pre-filled.
Streaming
The Stream checkbox (enabled by default) controls whether responses stream token by token or arrive as a complete response. Streaming shows a Stop button to end generation early.
Support
If you need assistance or have any questions, please reach out to us through:
- Email at [email protected]