Skip to content

feat(cli): add geniex eval - compare models on eval packs - #1260

Open
MAN$I VERMA (mansiverma897993) wants to merge 1 commit into
qualcomm:mainfrom
mansiverma897993:feat/eval-harness
Open

feat(cli): add geniex eval - compare models on eval packs#1260
MAN$I VERMA (mansiverma897993) wants to merge 1 commit into
qualcomm:mainfrom
mansiverma897993:feat/eval-harness

Conversation

@mansiverma897993

@mansiverma897993 MAN$I VERMA (mansiverma897993) commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Closes #1070.

Adds geniex eval: run one or more models over an eval pack and compare accuracy.

geniex eval <model> [<model>...] [--eval basic|pack.json] [--json out.json]

Custom packs are JSON (task types: multiple_choice, exact_match, contains); one built-in smoke pack ships embedded. Runs are repeatable: greedy decoding, fixed seed, thinking off, context reset per task. LLM only for now; wiring reuses the infer plumbing.

Alan Zhu (@alanzhuly) happy to rework schema/scoring/UX to fit your direction. Test report in the comment below.

@mansiverma897993

MAN$I VERMA (mansiverma897993) commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

Test report (go1.26.5, windows/amd64 - logic tests; no Snapdragon hardware on my side)

$ go test ./internal/eval/ -cover
ok  github.com/qualcomm/GenieX/cli/internal/eval  coverage: 95.3% of statements

5 tests, all passing: pack parsing (valid + 9 rejection cases), pack resolution (file > built-in > error), prompt rendering, scoring (letter extraction, stripping, choice-text match, normalization), reports (accuracy/tok-s math, table, JSON round-trip). go vet and gofmt clean.

Not covered here: cmd/geniex/eval.go compile (cgo) and a real model run - CI plus a quick on-device geniex eval <small-model> would close that gap.

Run one or more models over an eval pack (built-in or custom JSON;
task types multiple_choice / exact_match / contains) and compare
accuracy, per-category breakdown, and decode tok/s, with optional
JSON export. Greedy decoding, a fixed seed, thinking disabled, and
a context reset per task keep runs repeatable. LLM models only.

Closes qualcomm#1070

Signed-off-by: mansiverma897993 <vmansi756@gmail.com>
@mengshengwu

Copy link
Copy Markdown
Contributor

Alan Zhu (@alanzhuly) Could you take a look?

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.

Add an Eval harness

2 participants