Versions
Save versions, compare them, read the results by version and open the calls of a version.
A version is the saved content of a prompt: the messages, the model, the parameters, the tools and the output schema. Read versions on the Versions tab of the prompt page.
Versions never change
- Each save makes the next number:
v1,v2,v3. A prompt holds up to 1,000 versions. - A version never changes, and you cannot delete one. To change a prompt, save a new version.
- The save is refused when the content equals a stored version: "This content is the same as v2. Nothing to save." To use older content again, promote that version, or roll back the label when it is the version that the label held just before. See Labels and Rollback.
- A save does not move a label. The version reaches production only when you promote it. See Labels.
- Every version has a note of 1 to 500 characters. The note shows in the version list, in the version pickers of the compare page and in the promote dialog.
The content hash
The api makes a content hash when you save a version. The hash covers the messages, the model, the parameters, the tools and the output schema. It does not cover the description or the tags. Equal content gives an equal hash.
The dashboard shows the first 8 characters. Copy the version hash in the More actions menu copies the whole hash.
The SDK sends the hash on each LLM span whose messages come from compile(), openai_body() or anthropic_body(), or that starts inside prompt.context() or prompt.run(fn). Risicare joins a call to a version by the name, the version number and the hash. A call with no hash counts for the version number that it names. A call whose hash no stored version holds is counted as Unknown hash: a local edit or a code fallback made it. See Use a prompt in code.
The Versions tab
The left side lists the versions, newest first. Each row shows the version, its label badges, the short hash, the note, the author and the time. Show more versions reads the next page. The chip on a row names its baseline:
| Chip | Meaning |
|---|---|
| On production | The version is on production. |
| No change vs v3, Improved vs v3, Regressed vs v3 | The newest stored comparison of this version against the version that production holds. |
| No verdict vs v3 | A comparison exists but gives no verdict. |
| No run | No comparison of this version exists. |
Press J or K to open the next or the previous version. The menu of a row has Compare with….
The right side shows the open version:
- The heading ("version 4 of support"), the note, and a line with the time, the author, the parent version and the short hash. Diff with v3 compares the version with its parent.
- A verdict strip. It says what the stored evidence says: the verdict, the dataset, the split, and the number of cases and trials. Open the comparison and Read the cases that got worse open the evidence.
- The content: each message, with
{{name}}variables marked, then the model and parameters, the tools, the structured output and the Variables line. - A line with the production calls of the last 7 days, and Open the calls.
- Runs bound to v4: the runs that carry the hash of this version. A second list shows runs that name the version and carry no hash. They do not count as evidence.
- Pull it from your code: a Python and a JavaScript snippet with a copy button. The snippet pulls by label when the version holds one, and by version number otherwise.
If you open a version from a trace chip and the hash of the call differs from the stored version, a note tells you so.
Compare two versions
Open the compare page with Compare (key C), Compare with production, Compare with… on a row, Diff with v3, or What changed in the label history.
- Baseline and Candidate select the two versions. From the prompt page, the candidate is the open version. The baseline is the version on production, or the parent version when the open version is on production. Swap (key S) swaps them.
- The diff shows the baseline on the left and the candidate on the right. With Show the word marks on (key D), a removed word has a strike line and an added word has an underline. Show only the changes hides parts that did not change.
- A summary lists each part in words, for example "System message: 4 words added, 0 removed." The parameter table says Changed or Same. Each side shows its short hash.
- The right column shows the verdict when the baseline is the version that production holds, with the stored comparison as evidence.
- Compare on a dataset runs both versions on a dataset through a model connection and gives a verdict. See Evaluations.
- Promote v4 to production (key P) opens the promote dialog.
If you pick the same version twice, the page says "Pick two different versions."
Results by version
The Results by version tab shows the production calls of the prompt, one row for each version. Choose Last 24 hours, Last 7 days or Last 30 days in Range.
| Column | Meaning |
|---|---|
| Version | The version and its labels. |
| Calls | The LLM calls that carry the version. |
| With errors | The calls with an error, and the share. |
| Median time per call, p95 time per call | The latency of a call. |
| Cost per call | The cost of a call. |
| Output tokens per call, median | The median of the output tokens. |
| Score columns | Up to 5 score names that have values, for example "Pass 92 % (n = 310)" or "Mean 0.81 (n = 310)". |
| First seen, Last seen | The time of the first and the last call. |
A row Unknown hash counts the calls that carry the prompt name and a hash that no stored version holds. Under 30 calls, a figure that needs more shows "—" with the reason in its title. Calls of hosted runs and experiment runs are not counted. Spans of the LangChain callback and spans from the OpenTelemetry bridge carry no prompt keys, so they are not counted. Older calls can be missing: a note gives the date before which calls are not recorded here.
Open the calls
Open the calls opens the trace list with the filter prompt:support prompt_version:4 and the range Last 7 days. The small link Calls next to the prompt chip on a trace opens the same filter in the range Last 24 hours. You can type the filter yourself. See Use a prompt in code for the keys.