Views
No views yet
┌──────────────────────────────────────────────────┐
│ Manager Agent (CodeAgent) │
│ Plans workflow, coordinates sub-agents, │
│ handles errors & retries │
└──────┬───────────────┬───────────────┬───────────┘
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Research │ │ Evaluation │ │ Report │
│ Agent │ │ Agent │ │ Agent │
│ │ │ │ │ │
│ • Search HF │ │ • Load │ │ • PDF exec │
│ • Detect │ │ models │ │ summary │
│ category │ │ • Run │ │ • JSON │
│ • Download │ │ benchmarks│ │ results │
│ • Trending │ │ • Collect │ │ • Model │
│ models │ │ metrics │ │ comparison│
└─────────────┘ └─────────────┘ └─────────────┘| Category | Benchmarks | Datasets | Key Metrics |
|---|---|---|---|
| Reasoning / LLM | MMLU, GSM8K, ARC-Challenge, TruthfulQA, HumanEval | cais/mmlu, openai/gsm8k, allenai/ai2_arc, truthfulqa/truthful_qa, openai_humaneval | Accuracy, Exact Match, Pass@k |
| Intent Classification | CLINC150, Banking77, SNIPS | clinc_oos, PolyAI/banking77, benayas/SNIPS | Accuracy, Macro-F1, Weighted-F1 |
| ASR | LibriSpeech-Clean, LibriSpeech-Other, CommonVoice-EN | facebook/librispeech_asr, mozilla-foundation/common_voice_17_0 | WER, CER |
| TTS | LJSpeech | keithito/lj_speech | Intelligibility WER, Real-Time Factor |
| Machine Translation | FLORES-200 (en→de, en→fr, en→zh) | facebook/flores | BLEU, chrF, COMET |
| Wakeword / Keyword Spotting | Google Speech Commands v2 | google/speech_commands | Accuracy, FAR, FRR |
| Tool Calling | BFCL v3 | gorilla-llm/Berkeley-Function-Calling-Leaderboard | AST Accuracy, Format Adherence |
1# Core installation
2pip install -e .
3
4# Full installation (all backends)
5pip install -e ".[full]"1python -m ai_benchmark_platform.main agent \
2 "Benchmark openai/whisper-large-v3 on all ASR tasks and generate a report"1python -m ai_benchmark_platform.main agent \
2 "Find the top 5 trending LLMs, benchmark them on MMLU and GSM8K with 200 samples, \
3 and create a comparison PDF report"1# Auto-detect category and run all benchmarks
2python -m ai_benchmark_platform.main direct \
3 --model openai/whisper-large-v3 \
4 --category asr \
5 --max-samples 50 \
6 --output-dir ./reports
7
8# Run on LLM with GPU
9python -m ai_benchmark_platform.main direct \
10 --model meta-llama/Llama-3.2-3B-Instruct \
11 --category reasoning \
12 --max-samples 100 \
13 --device autopython -m ai_benchmark_platform.main research "speech recognition models" --detect --limit 101python -m ai_benchmark_platform.main list --category all
2python -m ai_benchmark_platform.main list --category asr1from ai_benchmark_platform.agents.orchestrator import (
2 create_benchmark_platform,
3 run_full_pipeline,
4)
5
6# Option 1: Agent-driven pipeline
7manager = create_benchmark_platform(model_id="Qwen/Qwen2.5-Coder-32B-Instruct")
8result = manager.run("Benchmark openai/whisper-large-v3 on ASR tasks and generate a PDF report")
9
10# Option 2: Direct pipeline (no agent)
11result = run_full_pipeline(
12 model_id="openai/whisper-large-v3",
13 category="asr",
14 max_samples=100,
15 output_dir="./reports",
16)
17print(f"PDF: {result['pdf_report']}")
18print(f"JSON: {result['json_report']}")1from ai_benchmark_platform.tools.model_tools import search_models, detect_model_category
2from ai_benchmark_platform.tools.benchmark_tools import run_benchmark_suite
3
4# Search for models
5models = search_models("whisper", category="automatic-speech-recognition", limit=5)
6
7# Detect category
8category = detect_model_category("openai/whisper-large-v3")
9
10# Run benchmarks
11results = run_benchmark_suite("openai/whisper-large-v3", "asr", max_samples=50)ai_benchmark_platform/
├── __init__.py # Package init with version
├── __main__.py # Entry point for python -m
├── main.py # CLI with 4 modes (agent/direct/research/list)
├── config.py # Category configs, benchmark registry
├── benchmarks/
│ ├── base.py # BaseBenchmarkRunner, BenchmarkResult, EvaluationReport
│ ├── runner_factory.py # Factory: category → runner
│ ├── reasoning_runner.py # LLM eval via lighteval/lm-eval-harness
│ ├── asr_runner.py # ASR eval: WER/CER via jiwer
│ ├── intent_runner.py # Intent classification: accuracy, F1
│ ├── tts_runner.py # TTS eval: intelligibility, RTF
│ ├── mt_runner.py # MT eval: BLEU, chrF, COMET
│ ├── wakeword_runner.py # Keyword spotting: accuracy, FAR/FRR
│ └── tool_calling_runner.py # Function calling: AST accuracy
├── tools/
│ ├── model_tools.py # smolagents tools: search, download, detect
│ ├── benchmark_tools.py # smolagents tools: run benchmarks
│ └── report_tools.py # smolagents tools: generate reports
├── agents/
│ └── orchestrator.py # Multi-agent system + direct pipeline
├── reports/
│ └── pdf_generator.py # PDF/JSON report generation
└── utils/ModelCategory enum value in config.pyBenchmarkConfig entries with datasets and metricsBaseBenchmarkRunnerrunner_factory.py1# In config.py
2class ModelCategory(str, Enum):
3 MY_NEW_CATEGORY = "my_new_category"
4
5# In your_runner.py
6class MyNewRunner(BaseBenchmarkRunner):
7 def load_model(self): ...
8 def run_benchmark(self, ...): ...
9
10# In runner_factory.py
11RUNNER_MAP[ModelCategory.MY_NEW_CATEGORY] = MyNewRunner| Category | Recommended GPU | Notes |
|---|---|---|
| Reasoning (1-3B) | a10g-large (24GB) | For larger models use a100 |
| Reasoning (7-13B) | a100-large (80GB) | |
| Reasoning (30B+) | a100x4 (320GB) | |
| ASR | a10g-large (24GB) | Whisper models fit in 24GB |
| TTS | a10g-large (24GB) | |
| MT | a10g-large (24GB) | |
| Intent | a10g-large (24GB) | Can run on CPU for small models |
| Wakeword | a10g-large (24GB) | Small models can run on CPU |
| Tool Calling | a100-large (80GB) | Depends on LLM size |