Skip to content

fix(qwen3vl): accept positional args and float coords in action parser - #44

Merged
abrichr merged 1 commit into
mainfrom
fix/qwen3vl-action-parser
Feb 25, 2026
Merged

fix(qwen3vl): accept positional args and float coords in action parser#44
abrichr merged 1 commit into
mainfrom
fix/qwen3vl-action-parser

Conversation

@abrichr

@abrichr abrichr commented Feb 25, 2026

Copy link
Copy Markdown
Member

Summary

  • Update action parser regexes to accept both positional (click(589, 965)) and keyword (click(x=589, y=965)) argument formats
  • Add _parse_coord() helper to handle both int (500) and float (0.500) coordinate values, auto-scaling 0-1 floats to 0-1000 Qwen range
  • Apply the same flexibility to type, press, and drag parsers

Context

Fine-tuned Qwen3-VL-2B outputs positional args (click(589, 965)) instead of keyword args. Without this fix, the parser falls through to "Unknown action format" and returns type=done, ending the episode immediately at step 0.

Test plan

  • All 79 existing tests pass (uv run pytest tests/test_qwen3vl_agent.py -v)
  • Verified in live WAA eval — actions now parse correctly (10 steps executed vs 0 before)

🤖 Generated with Claude Code

Fine-tuned models output positional args like click(589, 965) instead
of keyword args click(x=589, y=965). The parser regexes now accept
both formats. Also handles float coordinates (0.589) from models
trained on 0-1 range data by auto-scaling to 0-1000 via _parse_coord().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@abrichr
abrichr merged commit 89bd9c5 into main Feb 25, 2026
1 check passed
@abrichr
abrichr deleted the fix/qwen3vl-action-parser branch February 28, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant