How to Run the Benchmark Suite
This article provides a detailed guide on running a benchmark suite to test model configurations, including setup requirements, steps for execution, and troubleshooting tips. It's aimed at advanced users looking to evaluate model capabilities before deployment.
Estimated time: 15 to 60 minutes, mostly unattended
Difficulty: Advanced
Why you'd use this
Before rolling a new model or gateway configuration out to a team, you want to know whether it follows the action format, recalls context deeply enough, writes files reliably and can complete a plan-driven build. The benchmark drives a set of scripted scenarios through the whole pipeline against your endpoint, scores each pass or fail, and writes a report with a measured capability profile of the routed model. Note that a full run sends many requests to the gateway and consumes credits accordingly.
Before you start
Permissions required:
- Approval to spend gateway credits on a test run.
You'll need:
- An empty folder open in VS Code. The benchmark creates and edits files freely, and runs commands automatically inside it.
- The endpoint, model and API key configured.
- Node.js on PATH for the scenarios that run tests, and Chromium for the browser scenario.
Steps
- Open an empty folder.
- Run eLLM: Run Benchmark Suite from the Command Palette.
- Pick Quick suite (capability probes and core tasks, roughly 10 to 20 minutes) or Full suite (adds Teaching Mode and an Autopilot Plan and Build, roughly 30 to 60 minutes).
- Leave the chat panel open. Each scenario is announced with a progress line and its result as it finishes. You can work in another window meanwhile.
- When the run ends, a note reads "Benchmark complete: N/M passed" with the path to the report.
- Open
bench-<timestamp>/report.mdin the folder. It lists each scenario, the assertions that failed with details, and the measured profile: protocol fidelity, context-recall depth and decode speed.summary.jsonholds the same data for scripts. - To compare two configurations, run the suite again in a fresh empty folder after changing the model or settings, and diff the two reports.
What you should see
Any settings the benchmark changes for a scenario are restored when it finishes. A scenario that overruns its time limit is scored as failed with "finished within time limit" marked false, rather than blocking the run. Each scenario's trace is kept so a failure can be diagnosed from the debug log.
Troubleshooting
- "open a folder to run the benchmark in": the command needs a workspace folder, ideally empty.
- "configure the endpoint first": set the endpoint in ⚙ before running.
- The browser scenario fails with "no headless browser": install Chromium or set
ELLM_CHROMIUM. - You need to stop early: click Stop in the chat. Scenarios that already finished are still written to the report.
Related guides
- How to Configure a Reasoning Model and Native Tool Calling
- How to Tune Generation Settings for Your Model
person people found this useful.