Playground
Try a prompt version or a draft on one case with your own model key, read the answers, and compare versions on a dataset.
The Playground is a page of the dashboard. You try a prompt on one case and read the answer of the model. Risicare calls the model through a model connection, with your provider key. Your provider bills the tokens.
A try shows answers. It does not give a verdict. One case does not prove a version. To prove a version, compare it on a dataset.
The Playground is a dashboard feature. An API key cannot reach it.
You open the Playground and run a try as a signed-in person. The routes of the Playground, of model connections and of hosted runs are not in the list of routes that an API key can reach in this release. See the REST API reference.
What a try needs
- A model connection with the status Ready. An owner or an admin adds it in Settings → Model connections.
- The project switch Allow hosted runs set to On. An owner or an admin sets it on the same tab.
- The role member, admin or owner. You must also be the person who made the session.
- A value for each variable of the panes.
When one of these is missing, Try this case is disabled. A line above the panes gives the reason, with the link Open Settings, Model connections when the fix is there. A variable with no value is named beside the button. To open a session, you need no switch and no connection. Only a try needs them.
Open a session
| Where | Control | What opens |
|---|---|---|
| Side navigation | Playground | Your sessions: the list of the sessions that you made. It has no button that makes a session. |
| Prompt page | Open in the playground | The open version as one saved pane. The button shows to a member, an admin and an owner, and not on an archived prompt. |
| Prompt editor | Try in the playground | Two panes: the version that you started from as Baseline, and your draft as Candidate. The button is disabled while the draft has a problem. Nothing is saved as a version. |
| LLM span, Messages tab | Open in the playground, beside Copy the whole request | The request of the span. See below. |
The list shows your 50 sessions that changed last, with the name, the number of panes and the time of the last change. When you have none, it reads "No playground session yet. Open one from a version, from the editor, or from an LLM span."
The button on a span shows for every role, when the span has request messages. If your role cannot make a session, the dashboard shows the refusal under the button.
Open from a span
Risicare asks the prompt store for the prompt name and version that the span carries. Then it takes one of two paths.
- The span names a stored version, and the hash matches or the span has no hash. The session opens that saved version. Risicare fills each variable with the value that it finds in the span. A line lists the result, for example "Values found in the span: question (found). booking_id: not found in the span text. Type it." The finder reads the first 4,000 characters of a long message.
- Any other case. The session opens the request of the span as a draft. The draft holds the messages as plain text, with no variables. It takes the model when the span names OpenAI or Anthropic and a model name. It takes the temperature when the span has one. A line says why: "This span names no stored version. The draft holds the request of the span as text, with no variables.", "The hash of this call differs from the stored version 3. A local edit or a code fallback made the call. The draft holds the request of the span as text, with no variables.", or "The prompt store could not be read, so the span opens as a draft of its request. The draft holds the request of the span as text, with no variables." See Use a prompt in code for the span keys.
The session screen
The heading is the name of the session. Under it: "Try a version or a draft on one case. One case is not a verdict: to prove a version, compare it on a dataset." A source line says where the session came from:
Opened from an LLM span of trace <trace id>.for a session opened from a span.Opened from <prompt name>.for a session opened from a version, for example "Opened from support."- "Opened from a saved version." when the page cannot read the prompt of that version.
A session with no source has no source line.
Connection lists the connections that are not revoked, as name · Ready · $3.20 of $50.00 spent this month. It starts with the connection saved in the session, or the first Ready one.
Panes
- A session holds one or two panes. With two panes, the first is Baseline and the second is Candidate. A title reads
Baseline · support v3 (saved)orCandidate · draft from v4 (not saved). - A saved pane is a version. It is read only. It shows the messages by role and the line
provider · model, orModel: Not set. - A draft pane belongs to the session, and you can edit it: the role of each message, its text, Remove, Add a user message, the provider (OpenAI, Anthropic or
Model: Not set), the name of the model, Temperature and Max output tokens. If the draft has tools or an output schema, a note says that they come from the parent version. Open the prompt editor to change them. - For the provider Anthropic, a try does not send temperature, top p or seed. The pane says so, for example
Not sent to Anthropic: temperature, top_p. - A try refuses a pane with no model. It also refuses a model that Risicare has no price for, because the cost cap cannot be checked.
The case
- Type the values shows one field for each variable. A variable is a name in double braces in a message, such as
{{question}}. With no variable, the screen reads "No variables. The prompt is the same for each case." - Take a case from a dataset shows Dataset with the first option Choose a dataset. The list shows the first 50 cases, 60 characters of each input. Click a case to fill the fields. A string input fills the one variable. An object input fills each variable from the key of the same name. A variable that the case lacks stays empty.
- A holdout case has the tag Holdout case. A note reads "A try sends its values to the provider of your connection, and the provider sees them."
- A variable with no value stops the try: "Type a value for question."
Run a try
Choose the connection
Pick a Ready connection in Connection.
Fill the case
Type the values, or take a case from a dataset.
Click Try this case
Risicare saves the session first, because the try runs the saved session. If the save fails, nothing is tried. Then it makes one call for each pane. A line beside the button reads "One call for each pane on my-connection. The cost shows after the try."
Read the answers
The screen reads the try every second, for up to 2 minutes. After that it reads "The try did not finish in 2 minutes. It may still run. Open the try again to read it." The Playground has no control that opens an earlier try, and the screen does not read that try again.
What a try shows
| State | Line on the screen |
|---|---|
| Queued | Queued. The runner starts in a few seconds. |
| Running | Calling, with the model names. |
| Completed | Done. 2 answers are below. |
| Failed | Failed, with the reason. |
| Cancelled | The try was cancelled. After the switch went off: Cancelled: hosted runs were turned off. |
Each answer is a block. It holds the text of the model, and a line for each tool call (Calls name with arguments). If the pane has an output schema, a line says whether the output matches it. A line of facts follows, for example 1.4 s · 412 input tokens · 88 output tokens · $0.0011 · model-name. A fact that the call did not report shows "—", with the reason in its title. The cost of a call that timed out reads "estimated: the call timed out". A failed call shows words such as "The call took more than 60 s and stopped."
With two answers, the checkbox Show the differences marks the words that differ. Under the answers, a list shows each try that you ran since you opened the page: its time in UTC and the first 80 characters of its first answer. A reload clears the list, and the dashboard has no control that opens a try from an earlier visit.
Cancel a try
The screen has no button that cancels a try while it runs. If you click Try this case while a try of the session still runs, the screen reads "A try of this session is still running. Wait for it to end, or cancel it." and shows Cancel that try.
- A queued try ends at once: "That try was cancelled. You can try this case again."
- A running try ends after its call in flight: "The cancel is asked. The runner ends that try after its call in flight. Try this case again in a moment."
In the dashboard, Cancel that try is on the screen of the person who made the session, because only that person can start a try. A try that stays queued for more than 10 minutes expires and does not block the next try. When an owner or an admin turns off Allow hosted runs, every queued or running try is cancelled.
What a session stores
A session keeps its state after a reload. It stores the panes (a saved pane by its version, a draft by its full content), the values of the case, the connection, and where it came from: a version, an LLM span, or nothing. A change saves by itself a moment after you stop, and the note Saved shows.
- Only the person who made a session can change it or try it. Other people of the project can read it by its link.
- If another window changed the session, a save is refused: "Another window changed this session. Your changes are not saved." Choose Keep my changes or Load the newest state.
- A person can hold up to 200 sessions in one project. The Playground has no control that deletes a session.
Save a draft as a version
No control saves an answer. A draft becomes a version in one place, Compare on a dataset. A comparison binds to saved versions, so a draft must be saved first.
When a pane holds a draft, Compare on a dataset opens Save the draft first. It reads "Save the draft as v5 first. A comparison binds to saved versions, so its verdict names them." Enter a Note for this version (required) of 1 to 500 characters and click Save v5 and compare. With two drafts, the button reads Save v5 and v6 and compare. Risicare saves each draft as the next version of the prompt, then opens the compare page. If a draft equals a stored version, the comparison uses that version. The save does not move a label.
To save a draft without a comparison, use the prompt editor. See Prompts.
Who can do what
| Action | Viewer | Member | Admin | Owner |
|---|---|---|---|---|
| Read a session by its link | Yes | Yes | Yes | Yes |
| Open a session from the prompt page or the editor | No | Yes | Yes | Yes |
| Change a session that you made, and try a case | No | Yes | Yes | Yes |
A viewer reads a session and cannot try. Adding connections and the switch Allow hosted runs are for owners and admins. See Model connections.