Compare Fireworks AI models against your golden test set

Open one bench before you ship a prompt change: every test case scored against every model, with pass rate, speed and cost sitting side by side.

App
Fireworks AIGoogle SheetsEngineeringProductAI ReportsResearch & Monitoring
PromptCreate

I want an internal app my AI team opens every time we change a prompt or swap models on Fireworks AI. The main screen is a bench for our golden test set: rows are the test cases, columns are the Fireworks AI models we are comparing, and every cell shows what that model answered, the score a judge gave it, and how long it took.

The test cases live in a Google Sheet. Read them with Get Values from a Cases tab where each row is one golden case with an id, the input prompt or question, an ideal answer or reference notes, and a category tag. Read the scoring rubric and the system prompt we are testing from a second Rubric tab with Get Values as well, so the people who own the prompt can edit both in the spreadsheet without anyone touching the app. Let me enter the spreadsheet id and the tab names on a settings screen and remember them, and give me a Reload button that re-reads the sheet so a case someone added mid-session shows up.

Populate the model columns from Fireworks AI List Models. Show the available models as a checklist I pick from before a run and remember my selection between visits. Keep the fully qualified model path internally, since Fireworks names look like accounts/fireworks/models/llama-v3p1-70b-instruct rather than a bare slug, but show a short readable name in the column header.

Hitting Run evaluates every selected case against every selected model. For each case and model pair, call Create Chat Completion with the system prompt from the Rubric tab and the case input as the user message, and record the answer, the wall-clock latency in milliseconds, and the prompt and completion token counts the response returns. Then run a second Create Chat Completion pass that acts as the judge: send it the rubric, the case input, the ideal answer, and the model's answer, and ask for a numeric score plus a one-line reason. Let me choose which model does the judging, defaulting to the strongest one I have selected, and keep the judge model fixed for the whole run so the scores stay comparable. Fill the grid in progressively as results land instead of showing a blank spinner, and pace the calls so a large grid does not trip Fireworks rate limits.

Each cell shows the score, the latency, and the first line of the answer. Clicking a cell opens the full answer with the judge's reason beside the ideal answer so I can argue with the score. Column footers show that model's pass rate against the rubric threshold, its average score, its median latency, and its total tokens for the run. If a model errors or times out on a case, show that in the cell rather than silently scoring it zero, and let me re-run just that one cell.

Add a cost row under each model column pulled from Fireworks AI Get Billing Usage for the run window, broken down by model, so I can see what the run actually cost per model. Make the tradeoff obvious on the screen: mark which models cleared the rubric threshold and rank those by cost, because the cheapest model that still passes the rubric is usually the right answer.

When a run finishes, append one row per model per run to a History tab in the same spreadsheet using Append Values, capturing the timestamp, the prompt version label, the model path, the number of cases run, the pass rate, the average score, the median latency, and the cost. Read that tab back with Get Values to power a History screen and to compare the current run against the previous baseline run for the same model: show pass rate now versus then with the delta, and list the individual cases whose score dropped. Let me set the score drop that counts as a regression, and have the app state plainly whether this run passes or regresses against the baseline.

Add an Investigate regressions button that kicks off a background agent. The agent takes only the cases whose score dropped versus baseline, re-runs each of them with Create Chat Completion against both the current and the previous model or prompt version, reads the old and new outputs side by side against the rubric, and decides whether each drop is a real quality regression, judge noise, or a case that was always borderline. It writes a plain-language diagnosis back into the app: what broke, which cases show it, whether it is worth blocking the change, and a clear recommendation naming the model and the prompt version to ship. Show the diagnosis in a panel on the bench attached to the run it belongs to, keep past diagnoses readable, and show that the agent is working while it runs.

A few things to bake in. The golden set stays small on purpose because it has to run on every prompt change, so design the grid for roughly 20 to 200 cases rather than thousands. The prompt version is a label I type before starting a run, and it gets stored with the run so history stays comparable. Anyone on the team can open the app and read it, and running an evaluation or investigating regressions is a button any of them can press.

What does this prompt do?

  • Turns the golden test cases you keep in a Google Sheet into a grid: one row per case, one column per Fireworks AI model you are comparing.
  • Hit Run and every case gets answered by every selected model, then scored by a second AI pass using the rubric your team wrote in the same spreadsheet.
  • Saves each run to a history tab so you can see pass rate against your previous baseline, plus what each model cost and how fast it answered.
  • Adds an Investigate regressions button that sends a background assistant to re-run only the cases that got worse and write a plain-language verdict on which model and prompt version to ship.

What do I need to use this?

  • A Fireworks AI account with billing enabled, so spend for the run window shows up in the cost row.
  • A Google Sheet holding your test cases, your scoring rubric, and a tab for run history.
  • Somewhere between 20 and 200 reviewed test cases covering the behaviors you care most about. Small is the point, because this should be quick enough to run on every change.
  • An agreed idea of what a passing answer looks like, written as a rubric your team can edit in the spreadsheet.

How can I customize it?

  • Pick which models show up as columns and which one acts as the judge.
  • Edit the rubric and the prompt you are testing directly in the spreadsheet, with no changes to the app itself.
  • Set the score drop that counts as a regression, so the bench tells you plainly whether a change is safe to ship.

FAQs

How many test cases should I put in the sheet?
Start with 20 to 50 cases covering your most important behaviors and grow from there. The bench is built for a set small enough to run on every prompt change, so anything up to a couple of hundred rows works well. Very large sets get slow and expensive, and then people quietly stop running them.
Do I need to be a developer to use this?
No. The test cases and the rubric live in a Google Sheet that anyone on the team can edit, and the bench itself is a screen with a Run button. Whoever owns the prompt can run it without help from engineering.
Can AI really score its own answers fairly?
Using one model to judge another is standard practice and it works well when the rubric is specific. The bench keeps the judging model fixed across a run so scores stay comparable, shows the judge's reason next to every score, and the regression assistant flags drops that look like scoring noise rather than a real quality problem.
How does the cost column work?
It pulls your Fireworks AI usage for the window the run covered and breaks it down by model, so you see what each column actually cost you. That matters because the cheapest model that still clears your rubric is usually the right one to ship.
What happens when a run comes back worse than last time?
The bench compares the run against your previous baseline and highlights the cases whose score dropped. Hitting Investigate regressions sends a background assistant to re-run just those cases on the old and the new setup, read the answers side by side, and write a plain explanation of what broke and what to ship.
Does this work with models I fine-tuned myself?
Yes. The model list comes from your own Fireworks AI account, so custom and fine-tuned models appear alongside the hosted ones and can be compared in the same grid.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Influencer campaign roster board with AI creator briefs

Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.

HypeAuditor
Google Sheets
Notion
App
Morning repricing console for Shopify with margin-safe rules

Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.

Hyperbrowser
Shopify
Google Sheets
App
Pre-flight bounce check before you launch a cold email sequence

See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.

Hunter
Google Sheets
App
Per-device electricity cost explorer for your smart home

Pick any date range and see what each device in your home actually cost to run, not just how many kilowatt-hours it used.

Home Assistant
Google Sheets
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App

Stop shipping prompt changes on a hunch.

Score every model against the same test set, see what each one costs, and know whether you improved things before you ship.