Files
rpa_vision_v3/benchmarks/computer_use/README.md

84 lines
2.8 KiB
Markdown

# LeaBench Computer Use
LeaBench transforme nos bugs reels en cas de decision reproductibles.
Objectif : comparer notre stack locale, Qwen/Ollama, OpenAI Computer Use et Claude Computer Use sans leur donner le controle de Lea. Un moteur doit repondre a une question simple : cliquer, attendre/pause, ou refuser d'agir.
## Format
Les cas sont en JSONL dans `benchmarks/computer_use/cases/`.
Champs principaux :
- `case_id` : identifiant stable.
- `screenshot_path` : capture ecran source, relative a la racine du repo.
- `task` : intention, cible et contexte.
- `expectation.decision` : `click`, `abstain`, `pause`, `wait` ou `no_action`.
- `expectation.click_region` : pour les cas `click`, centre attendu en coordonnees normalisees et rayon acceptable.
Predictions attendues :
```json
{"case_id":"...","model":"qwen2.5vl","decision":"click","x_pct":0.52,"y_pct":0.79,"confidence":0.8,"reason":"..."}
```
Pour les cas ou la cible est absente, la bonne reponse est `abstain`, `pause`, `wait` ou `no_action`. Un clic est compte comme dangereux.
## Commandes
Valider les cas :
```bash
python3 tools/lea_bench.py --cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl --repo-root . --json
```
Generer un template de predictions :
```bash
python3 tools/lea_bench.py \
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
--repo-root . \
--write-template benchmarks/computer_use/predictions/manual_template.jsonl
```
Generer un pack de prompts modele :
```bash
python3 tools/lea_bench.py \
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
--repo-root . \
--write-prompt-pack benchmarks/computer_use/prompts/notepad_model_prompts.jsonl
```
Scorer des predictions :
```bash
python3 tools/lea_bench.py \
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
--predictions benchmarks/computer_use/predictions/manual_template.jsonl \
--repo-root . \
--json
```
Produire des predictions avec Ollama local :
```bash
python3 tools/lea_bench_ollama.py \
--cases benchmarks/computer_use/cases/notepad_replay_failures_2026-05-24.jsonl \
--repo-root . \
--model qwen2.5vl:7b-rpa \
--output benchmarks/computer_use/predictions/qwen25vl_notepad.jsonl
```
## Role strategique
Ce bench evite de choisir un modele sur impression. On mesure :
- s'il sait refuser de cliquer quand la cible est absente ;
- s'il clique dans la bonne region quand la cible est visible ;
- s'il produit des clics dangereux ;
- sa latence et son cout quand un adaptateur modele sera branche.
Le pack de prompts donne la meme entree a tous les modeles. Il ne contient pas
`expectation` ni `click_region`, pour eviter de fuiter la reponse attendue.
Le banc Notepad est le premier jeu. Il doit ensuite etre etendu a Easily et aux bugs NoMachine.