Spaces:
Running
Running
|
Download scripts/README.md from sparklabuofu/MiniWeb-demo: direct link, hf CLI and curl.
- Browser
- Download file 4.57 kB
-
https://huggingface.co/spaces/sparklabuofu/MiniWeb-demo/resolve/main/scripts/README.md
- Command line
-
hf download hf://spaces/sparklabuofu/MiniWeb-demo/scripts/README.md
-
curl -L -o README.md https://huggingface.co/spaces/sparklabuofu/MiniWeb-demo/resolve/main/scripts/README.md
4.57 kB
Reproducing the paper
python scripts/reproduce.py is the one entry point; scripts/paper.yaml is its registry. REPRODUCE.md
is the walkthrough.
| Command | What it does |
|---|---|
python scripts/reproduce.py status |
Checks every run, RQ1 run and adapter the paper reads: present, and complete for its benchmark. |
python scripts/reproduce.py table |
Task success of every arm on every benchmark, mean over the runs present, next to the paper's number. |
python scripts/reproduce.py show <arm> |
Prints the model-server line and the run + grading commands behind every run of an arm. Arms: base, pooled, planner, planner_pooled (MiniWebAgent), taskcentric (the task-centric executor of Tab. 3), agent (specialists), nodone (stop-early control); rq1 for the ten RQ1 agents. |
python scripts/reproduce.py run <arm> --bench <b> --seed <k> [--execute] |
One run (benchmarks: single, heldout, wa, wv, om2w). Prints unless --execute. |
python scripts/reproduce.py train <adapter> [--execute] |
Builds the adapter's training folder from its id list and prints the torchrun line with the paper's recipe. |
python scripts/reproduce.py figures [--only <name>] |
Regenerates every figure and table into docs/figures/ and copies them into the paper source (needs the figure scripts, which are not in the public repository). |
python scripts/skill_report.py <run> [--by primitive] [--failures N] |
Per-skill results of any run: task success, instances passed per family or primitive (judge and verifiers), failed instances with the judge's reason. |
What lives where
- Which runs the paper reads.
paper.yaml: each arm'sruns:(one list per benchmark, one run per seed; the paper reports the mean over the list) andpaper:(the reported numbers). The figure scripts' configs list the same runs. - How each run is made.
paper.yaml: the model server, the agent configuration per benchmark kind, the arms, the RQ1 agents, the adapters and their training recipe, the data pipeline, and the protocol deviations as they ran. - The training data.
scripts/pools/:pool3k_plain_ids.txt(the 3,128 generated trajectories),pool3k_dirs.txt(the 4,614 replayed episodes of the 27.6K-step set: plain, chains, recoveries).data/webmix/replay_v4holds them, so an adapter is trained on a folder of symlinks to its list (scripts/reproduce.py trainbuilds it). The task-centric executor trains ondata/webmix/taskgen/rows_27k. - Cluster wrappers.
src/miniwebagent/scripts/cluster/:train.sh,eval.sh(MiniWeb),live.sh(WebVoyager, Online-Mind2Web),ownloop.sh(RQ1 own-loop agents),retry_timeouts.py(sets aside live-web episodes ended by model-server timeouts, for a rerun),opencua/(OpenCUA-7B tokenizer + vLLM plugin). SetWEBMIX_ROOT(seecluster/env.sh). The cluster holds no API keys: MiniWeb runs are re-graded withminiwebagent.evaluate --regradeand live-web runs judged withminiwebagent.om2w_judgewhere the keys are. - WebArena-Lite.
src/miniwebagent/scripts/webarena/ready.shresets the four instances and waits until every site serves (WA_RESET_TOKEN,WA_HOST).
Environments
scripts/envs/ pins the three environments the paper's runs used (pip list --format=freeze):
miniweb.txt(Python 3.11): the app, annotation tool, MiniWebGen, the browser-use harness, grading, figures. Playwright 1.44 with Chromium build 1117.webmix.txt(Python 3.12): vLLM 0.30 serving (src/miniwebagent/scripts/serve.sh) and LoRA training (torch 2.13, transformers 5.17, peft 0.21).fara.txt(Python 3.11): Fara1.5-4B's released loop (microsoft/faraat a675d6d).
The repo's requirements.txt (environment.yml) installs current versions for using MiniWeb; these files are what produced the numbers. Each <name>.yml creates its environment from <name>.txt and names the systems it ran on (REPRODUCE.md).
Grading
- MiniWeb: the task verifiers (
src/miniweb/evaluation/verifiers.py); their answer checks fall back to Gemini 3.5 Flash-Lite (miniwebagent.evaluate.QA_MODEL) when the regex, exact and precise matchers cannot decide. RQ1 also uses the VLM judge (python -m miniweb.evaluation.judge_runs, Gemini 3.5 Flash). - WebArena-Lite: the benchmark's evaluators; the fuzzy answer matches of 43 tasks use Gemini 3.5 Flash-Lite instead of
GPT-4o (
miniwebagent.wa --judge). - WebVoyager: its GPT-4o judge; Online-Mind2Web: WebJudge (o4-mini) (
python -m miniwebagent.om2w_judge).