Add a new benchmark to sgl-eval by vendoring its NeMo-Skills dataset module and registering it in `_TABLE`. Use when the user asks to "add <benchmark>" / "support <benchmark>" / "register <benchmark>" inside the sgl-eval repo.
中文简介正在准备中。当前显示原文说明。
Audit whether all score-deciding logic in sgl-eval is vendored from NeMo-Skills, or whether some has crept into SE code. Use when the user asks "are we vendoring enough", "review vendor coverage", "audit vendoring", "is our vendoring complete", or before a release.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
The principle (per CLAUDE.md): anything that decides a score is
vendored verbatim from NeMo-Skills. SE code is allowed only for
transport, glue, default config, and CLI / output formatting.
This skill audits whether SE code has leaked scoring logic. It does NOT auto-fix; vendoring more is a design call the user makes after seeing the report.
find sgl_eval scripts tests -name "*.py" \
| grep -v _vendored | grep -v __pycache__ | sort
For each file (and each function within larger files), ask: "Does this code decide a score?"
| Bucket | Description | Examples | Action |
|---|---|---|---|
| Transport | Wraps an external service or a Python primitive. No scoring decisions. | sampler, runner, cli, types, registry, metrics formatter | OK as SE. |
| Glue | Bridges between vendored API and our runtime model. Necessary because of architectural difference (sync vs async, in-memory vs file, single vs batch). | _predictions.py, _loader.py, _eval_single_sync, _score_via_eval_mcq | OK as SE. Document the upstream API it bridges. |
| Default config | Per-benchmark sampling / repeat / thinking defaults. Model-dependent, not a scoring decision. | _TABLE rows in _registry.py | OK as SE. Confirm tracks NS-aligned defaults. |
| Score-deciding | Code that parses generation, compares answers, computes pass@k, renders prompts beyond str.format. | (should be empty in SE!) | RED FLAG. See step 4. |
Known borderline pieces -- not violations, but watch for drift:
| Location | What it does | Why grey |
|---|---|---|
evals/_prompts.py:render_prompt | yaml.safe_load + str.format on vendored yaml | Re-implements upstream's prompt subsystem (~500 lines). Equivalent today because templates only use {problem} / {examples}. Drift if upstream adds richer templating. |
evals/_math.py:aggregate_with_math_metrics (padding) | while len < n_repeats: append dup | NS doesn't pad; we pad to keep MathMetrics happy under partial sample failure. Affects score only when sampler fails partway. |
evals/_math.py:_flatten_math_metrics and _multichoice.py:_flatten | Picks fields out of MathMetrics.get_metrics() nested dict | Display selection, not computation. Safe if upstream keeps the same field names. |
_TABLE thinking / n_repeats | Per-benchmark sgl-eval defaults | Not a violation; runtime config. CLI override always wins. |
If a new grey area surfaces during the audit, add a row.
Don't auto-edit. Report to the user:
Then ask the user whether to:
vendor-update workflow with extended SOURCES.yaml),Write a short report (under 300 words):
SE files: <count> total
transport : <n> (<list>)
glue : <n> (<list>)
default config : <n> (<list>)
score-deciding : <n> (RED if > 0)
Grey areas reviewed:
- <location>: <still acceptable / has drifted because X>
New findings:
- <none> | <list>
Recommendation: <one sentence>
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Add a new benchmark to sgl-eval by vendoring its NeMo-Skills dataset module and registering it in `_TABLE`. Use when the user asks to "add <benchmark>" / "support <benchmark>" / "register <benchmark>" inside the sgl-eval repo.
中文简介正在准备中。当前显示原文说明。
Upgrade the vendored NeMo-Skills slice to a newer upstream commit. Use when the user asks to "bump vendored", "sync NeMo-Skills", "update vendored sha", "upgrade NS", or wants to pull a specific upstream fix. Inside the sgl-eval repo.
中文简介正在准备中。当前显示原文说明。