Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
36cd0b2
feat(multiturn): add kimi agentic benchmark controls
hvagadia Jun 3, 2026
3425267
feat: add multi-turn benchmark controls
hvagadia Jun 3, 2026
0a13672
fix: skip disabled multi-turn inline accuracy
hvagadia Jun 3, 2026
6c7ad2d
feat(bfcl): add BFCL v4 single-turn + multi-turn accuracy integration
Palanivelg May 29, 2026
ec4832c
feat(bfcl): per-category sampling + tiny-subset floor + Thor example
Palanivelg May 29, 2026
5bef6d7
docs(bfcl): generalize "Thor" to "edge device" in BFCL v4 example
Palanivelg May 29, 2026
b547ae1
fix(bfcl): guard rt_settings access in accuracy-only mode
Palanivelg May 29, 2026
4507af9
fix(bfcl): per-phase drain timeout; accuracy phases drain unbounded
Palanivelg May 29, 2026
ca02361
fix(bfcl): stop duplicating tool_calls in TextModelOutput.output
Palanivelg May 29, 2026
41e0132
fix(bfcl): score against structured tool_calls to tolerate prose prea…
Palanivelg May 29, 2026
a2c4849
fix(bfcl): send tool_choice="auto" for single-turn function calling
Palanivelg May 29, 2026
bed0b6f
feat(bfcl): forward seed parameter through adapters and MT runner
Palanivelg Jun 5, 2026
cd70253
docs(bfcl): add reproduction guide with Thor validation results
Palanivelg Jun 5, 2026
90948b7
docs(bfcl): rewrite README as a beginner-friendly step-by-step guide
Palanivelg Jun 5, 2026
7ef3495
docs(bfcl): update README with corrected Thor validation data
Palanivelg Jun 5, 2026
ab8b591
fix(bfcl): add soundfile dependency for qwen_agent transitive import
Palanivelg Jun 5, 2026
37c74d2
refactor(bfcl): rename example folder to 10_Edge_Agentic_Example; add…
Palanivelg Jun 8, 2026
723e96a
fix(bfcl): address code review issues in execution, runner, and scorer
Palanivelg Jun 8, 2026
d628805
docs(bfcl): annotate YAML with do-not-change submission rules
Palanivelg Jun 8, 2026
4f2a21d
fix(bfcl): resolve CI failures — numpy pin, templates, mypy, audit
Palanivelg Jun 8, 2026
c9cb448
fix(bfcl): honor configured accuracy_timeout_s for accuracy phase drain
Palanivelg Jun 8, 2026
daae8b7
fix(bfcl): run_accuracy.sh — render temp config instead of invalid flags
Palanivelg Jun 8, 2026
d6c10c8
Merge branch 'pr-331' into feat/edge-agentic-perf
Palanivelg Jun 8, 2026
c6a3eee
feat(examples): add edge agentic-coding performance benchmark with in…
Palanivelg Jun 11, 2026
9f6c775
feat(examples): add edge agentic-coding 1h/2.5h perf datasets + configs
Palanivelg Jun 15, 2026
795c369
docs(edge-agentic): finalize single-turn ~995 accuracy + DGX Spark notes
Palanivelg Jun 22, 2026
55ebd61
docs(edge-agentic): add model-acquisition section with canonical source
Palanivelg Jun 22, 2026
676c1d8
chore(edge-agentic): remove orphaned perf configs and datasets
Palanivelg Jun 22, 2026
8b32f4f
Merge origin/main into feat/edge-agentic-perf
Palanivelg Jun 23, 2026
0bc51d0
fix(deps): bump msgpack 1.1.2 -> 1.2.1 to clear pip-audit GHSA-6v7p-g…
Palanivelg Jun 23, 2026
0edce1e
feat(edge-agentic): rules, compliance, viz, CI smokes + single combin…
Palanivelg Jun 23, 2026
b2869b0
feat(edge-agentic): add MLPerf endpoints submission publisher
Palanivelg Jun 24, 2026
6a2894c
fix(edge-agentic): merge streaming tool-call deltas in BFCL v4 scorer
Palanivelg Jun 24, 2026
58d445e
fix(edge-agentic): scope max_duration_ms cap to perf phase so accurac…
Palanivelg Jun 24, 2026
7495967
fix(edge-agentic): set tokenizer_name in combined config for OSL/TPOT…
Palanivelg Jun 26, 2026
1cd8e50
Merge remote-tracking branch 'origin/main' into feat/edge-agentic-perf
Palanivelg Jun 26, 2026
cf1b932
feat(edge-agentic): host BFCL v4 accuracy dataset via MLCommons R2 + …
Palanivelg Jun 26, 2026
8ba5298
test(edge-agentic): cover BFCL v4 MLCommons R2 download path
Palanivelg Jun 26, 2026
aef5872
fix(bfcl): address PR #346 review findings
Palanivelg Jun 29, 2026
25f84a7
fix(bfcl): address PR #346 follow-up review (perf-timeout + complianc…
Palanivelg Jun 29, 2026
ea7c54f
refactor(cli): make TestMode the single source of truth for accuracy-…
Palanivelg Jun 30, 2026
350c9d7
refactor(eval): conform BFCLv4Scorer.score() to scalar contract + typ…
Palanivelg Jun 30, 2026
2ff32c1
fix(review): address integration-review findings (Bucket A)
Palanivelg Jun 30, 2026
4ed5bf8
fix(review): address PR #346 second-round review (scorer guards, comp…
Palanivelg Jul 1, 2026
40a80bf
docs(edge-agentic): fix combined-run cwd and scores.json verify snippet
Palanivelg Jul 1, 2026
187f0b0
Merge branch 'main' into feat/bfcl-v4-combined
Palanivelg Jul 2, 2026
2d71c91
docs(edge-agentic): drop performance numbers from README, keep accuracy
Palanivelg Jul 2, 2026
7542f63
fix(bfcl): hoist lazy imports to module top in bfcl_import_smoke
Palanivelg Jul 2, 2026
57395cf
fix(submission): match percentiles by numeric value in publish_submis…
Palanivelg Jul 6, 2026
556fb97
fix(bfcl): address PR #346 review round 2 (extractor guard, single-st…
Palanivelg Jul 6, 2026
626b962
fix(review): address PR #346 small/trivial review items
Palanivelg Jul 6, 2026
4bd9702
fix(review): address PR #346 Group 3 correctness, security, and test …
Palanivelg Jul 6, 2026
dcb8474
fix(review): address PR #346 publish_submission exit code + SWE-bench…
Palanivelg Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,25 @@ jobs:
- name: Audit dependencies for known vulnerabilities
run: uv run pip-audit

bfcl-smoke:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install uv
uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
with:
python-version-file: .python-version

# bfcl conflicts with dev/test/performance (see [tool.uv].conflicts), so it
# is resolved in its own fork and installed standalone — the one config the
# other jobs never exercise.
- name: Install bfcl extra (isolated resolution fork)
run: uv sync --frozen --extra bfcl

- name: Smoke-check bfcl-eval import/resolution
run: uv run --frozen --extra bfcl python scripts/bfcl_import_smoke.py

schema-updated:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
Expand Down
7 changes: 6 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ Dataset Manager --> Load Generator --> Endpoint Client --> External Endpoint
| **TensorRT-LLM** | `src/inference_endpoint/trtllm/` | Adapter for TensorRT-LLM endpoints. `TRTLLMAdapter` sends requests; `TRTLLMSSEAccumulator` handles SSE streaming responses. |
| **DeepSeek-R1 (MLPerf)** | `src/inference_endpoint/evaluation/scoring.py` (`LegacyMLPerfDeepSeekR1Scorer`), `examples/07_DeepSeekR1_Example/` | MLPerf DeepSeek-R1 accuracy. TensorRT-LLM is OpenAI-compatible, so it is served via `api_type: openai` / `openai_completions` (no dedicated trtllm adapter). The combined multi-subset eval (`math500`/`aime`/`gpqa`/`mmlu_pro`/`livecodebench`) is the official MLCommons `eval_accuracy.py`, run out-of-process via `uv run --project` against the isolated subproject at `src/inference_endpoint/evaluation/legacy_mlperf_deepseek_r1/` (a uv subproject excluded from the parent wheel; mirrors the VBench pattern). The example feeds the exact MLPerf prompt via pre-tokenized `input_tokens` to `/v1/completions`. |
| **VideoGen** | `src/inference_endpoint/videogen/` | Adapter for video-generation endpoints (e.g. trtllm-serve `POST /v1/videos/generations`, used by MLPerf WAN2.2-T2V-A14B). Defaults to `response_format=video_path` (server saves video to shared storage and returns path) to avoid large byte payloads. Accuracy mode also runs on `video_path`: the adapter mirrors the path into `response_output` so the event log carries it to `VBenchScorer` (see `evaluation/scoring.py`), which scores videos via VBench from a sibling `uv` subproject at `examples/09_Wan22_VideoGen_Example/accuracy/` (vbench's `transformers==4.33.2` + `numpy<2` pins are incompatible with the parent env, so it runs out-of-process via `uv run --project`). Dataset is ingested via the generic JSONL loader. |
| **Compliance** | `src/inference_endpoint/compliance/` | Validates a completed run's report directory against a registered ruleset. `check_submission(report_dir, ruleset, model)` reads the resolved `config.yaml` plus scorer output (`results.json` for accuracy, `scores.json` for the agentic perf run) and runs config-lock (deterministic + single-stream), the accuracy gate (`score >= factor x reference`, factor 0.97 for Edge-Agentic), and run validity (0 dropped turns). Server-side launch flags (`--reasoning off`, `--ctx-size`) aren't in client artifacts, so they're surfaced as manual attestations. CLI: `scripts/check_compliance.py REPORT_DIR` (exit 0 = pass). |

### Hot-Path Architecture

Expand Down Expand Up @@ -216,7 +217,8 @@ src/inference_endpoint/
│ └── predefined/ # Built-in datasets (aime25, cnndailymail, gpqa, etc.)
├── metrics/
│ ├── report.py # Report.from_snapshot(MetricsSnapshot); display + JSON serialization
│ └── metric.py # Metric types (Throughput, etc.)
│ ├── metric.py # Metric types (Throughput, etc.)
│ └── results_plots.py # Standardized run-artifact plots (matplotlib-guarded); CLI: scripts/plot_results.py
├── config/
│ ├── schema.py # Single source of truth: Pydantic models + cyclopts annotations
│ ├── runtime_settings.py # RuntimeSettings dataclass
Expand All @@ -242,6 +244,9 @@ src/inference_endpoint/
│ ├── types.py # Pydantic: VideoPathRequest, VideoPathResponse, VideoPayloadResponse
│ └── adapter.py # VideoGenAdapter (HttpRequestAdapter) + VideoGenAccumulator (no-op)
├── evaluation/ # Accuracy evaluation (extractor, scoring, livecodebench)
├── compliance/ # Submission compliance checks (config-lock, accuracy gate, run validity)
│ ├── __init__.py
│ └── checker.py # check_submission() + Check/ComplianceReport (Edge-Agentic ruleset)
├── plugins/ # Plugin system
├── profiling/ # line_profiler integration, pytest plugin
├── testing/
Expand Down
12 changes: 11 additions & 1 deletion ATTRIBUTION
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ This project is created and maintained by MLCommons, contributed by the communit

This section lists third-party assets and their attributions.

<!-- TODO: Populate third-party asset attributions here -->
<!-- Format:
### Asset Name
- Source: [URL or reference]
Expand All @@ -15,4 +14,15 @@ This section lists third-party assets and their attributions.
- Description: [Brief description of use]
-->

### SWE-bench

- Source: https://github.com/SWE-bench/SWE-bench (https://huggingface.co/datasets/SWE-bench/SWE-bench)
- License: MIT
- Copyright: Copyright (c) 2023 Princeton Natural Language Processing
- Description: The edge-agentic performance dataset
(`examples/11_Edge_Agentic_Example/agentic_coding_2.5h.jsonl`) replays
multi-turn agentic-coding trajectories derived from SWE-bench task instances
(instance IDs such as `django__django-16899`). Cite: Jimenez et al.,
"SWE-bench: Can Language Models Resolve Real-world Github Issues?", ICLR 2024.

For a complete list of dependencies and their licenses, see the requirements files in the `requirements/` directory.
Loading
Loading