Skip to content

benchmarks: confirm --model against the server before running (#10) - #11

Merged
NotXf1le merged 3 commits into
NotXf1le:masterfrom
MrJev:fix/benchmark-model-check
Sep 21, 2026
Merged

NotXf1le merged 3 commits into
NotXf1le:masterfrom
MrJev:fix/benchmark-model-check

Conversation

@MrJev

@MrJev MrJev commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes #10.

What changed

  • Check the requested SemIf --model against the exact IDs returned by llama.cpp's /v1/models before inference.
  • Stop early when the model is absent or the model catalog cannot be reached.
  • Add --skip-model-check and record unchecked runs with runtime.modelChecked: false.
  • Validate baseURL before model discovery so credentials, query parameters, and fragments cannot reach the request or error output.

Why

llama.cpp may answer with its loaded model even when the request contains another model name. Without the preflight check, a benchmark report can be labelled with a model that never ran.

Checks

  • npm run check — 123 tests
  • npm pack --dry-run
  • cd packages/choosekit-mcp && npm run check — 17 tests
  • cd packages/choosekit-mcp && npm pack --dry-run
  • Real llama.cpp run with qwen3.8-27b-text-64k — 144/144 rows completed, 0 runtime errors, modelChecked: true

MrJev and others added 3 commits September 20, 2026 18:35
llama.cpp accepts any model name and answers with whatever is loaded, so
'node benchmarks/run-semif.mjs' without --model produced rows labelled
qwen3.8-27b-text-64k on a server holding something else.

The llama.cpp benchmark now lists GET /v1/models first and stops unless
the requested model is served, naming what the server does hold. The
report's runtime block records resolvedModel and modelChecked.
--skip-model-check runs anyway and records the run as unchecked.
@NotXf1le

Copy link
Copy Markdown
Owner

Thanks for the contribution! I updated the branch to master, aligned baseURL validation, and tightened the diagnostics and docs

@NotXf1le
NotXf1le merged commit 009c9b1 into NotXf1le:master Sep 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Benchmark's default --model is silently ignored by llama.cpp, so results can name a model that never ran

2 participants