lzzzzy's picture
Pin Space dependencies to compatible versions
ceeaaae
|
Raw
History Blame Contribute Delete
3.79 kB
---
title: BizGenEval Leaderboard
emoji: 🥇
colorFrom: green
colorTo: indigo
sdk: gradio
app_file: app.py
pinned: true
license: mit
short_description: Official BizGenEval leaderboard on Hugging Face.
sdk_version: 5.50.0
tags:
- leaderboard
---
# BizGenEval Leaderboard
This repository hosts the Hugging Face leaderboard for BizGenEval, the benchmark introduced in
[*BizGenEval: A Systematic Benchmark for Commercial Visual Content Generation*](https://arxiv.org/abs/2603.25732).
Primary project resources:
- Project page: `https://aka.ms/BizGenEval`
- GitHub: `https://github.com/microsoft/BizGenEval`
- Dataset: `https://huggingface.co/datasets/microsoft/BizGenEval`
The codebase supports:
1. **LOCAL_DEV mode** (no HF permission required): reads/writes local namespaced paths under `eval-queue/` and `eval-results/`.
2. **HF mode** (with permission): syncs datasets from the Hub and uploads queue requests.
## 1) Local development quick start (no HF permission)
### Step 1. Create and activate virtualenv
```bash
cd /Users/clarencestark/code/BizGenEval-Leaderboard
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
### Step 2. Bootstrap local demo data
```bash
python3 scripts/bootstrap_local_dev.py
```
This will create:
- `eval-queue/bizgeneval/requests/microsoft/Phi-4o-mini_eval_request_False_float16_Original.json`
- `eval-results/bizgeneval/results/microsoft/Phi-4o-mini/summary.json`
### Step 3. Launch in local mode
```bash
export LOCAL_DEV=1
python3 app.py
```
In LOCAL_DEV mode:
- `snapshot_download` is skipped.
- Model-card/tokenizer checks are skipped during submission.
- New submissions are written to local `eval-queue/bizgeneval/requests/` only (no upload).
## 2) Result file format supported
The leaderboard parser currently supports two formats:
### A) BizGenEval summary format (recommended)
Put a `summary.json` under:
`eval-results/bizgeneval/results/<org>/<model>/summary.json`
Example:
```json
{
"model_name": "microsoft/Phi-4o-mini",
"model_sha": "main",
"by_domain": {
"slides": {"error_score": 0.8125},
"webpage": {"error_score": 0.845},
"poster": {"error_score": 0.7875},
"chart": {"error_score": 0.8025},
"scientific_figure": {"error_score": 0.77}
},
"by_dimension": {
"layout": {"error_score": 0.835},
"attribute": {"error_score": 0.805},
"text": {"error_score": 0.79},
"knowledge": {"error_score": 0.775}
}
}
```
`error_score` can be either `0~1` or `0~100`; both are accepted and normalized to a displayed `0~100` scale.
### B) Legacy template format
Legacy `config/results` JSON is still accepted for compatibility.
## 3) Queue file format
Queue entries are JSON files in:
`eval-queue/bizgeneval/requests/<org>/*.json`
A typical file contains:
- `model`
- `revision`
- `precision`
- `weight_type`
- `status` (`PENDING`, `RUNNING`, `FINISHED*`)
- metadata (`license`, `params`, `likes`, ...)
## 4) Config knobs
Main config file: `src/envs.py`
- `LOCAL_DEV` (env): `1/true/on` to enable local mode
- `HF_OWNER` (env, optional): owner fallback
- `PROJECT_NAMESPACE` (env, optional): defaults to `bizgeneval`
- `HF_SPACE_REPO` (env, optional)
- `HF_QUEUE_REPO` (env, optional)
- `HF_RESULTS_REPO` (env, optional)
- `HF_TOKEN` (env): required only for Hub sync/upload
Default repo names are:
- Space: `microsoft/BizGenEval-Leaderboard`
- Queue dataset: `demo-leaderboard-backend/requests`
- Results dataset: `demo-leaderboard-backend/results`
## 5) Key code locations
- Columns and UI display fields: `src/display/utils.py`
- Result parser: `src/leaderboard/read_evals.py`
- DataFrame build logic: `src/populate.py`
- Submission validation/upload behavior: `src/submission/submit.py`
- Task definitions and page text: `src/about.py`