This repository contains a LoRA adapter for Qwen/Qwen3-4B. It maps one spoken chess-move utterance, a FEN, an exhaustive list of legal UCI moves, and recent SAN moves to one JSON response:
{"status":"ok","san":"e4"}
When the utterance matches multiple legal moves, the expected response is {"status":"ambiguous","san":null}. When it matches none, the expected response is {"status":"invalid","san":null}.
This is an adapter only. Download the Qwen3-4B base model separately; its weights are not redistributed here.
Use and limits
The model is for research and prototype work on spoken chess-move normalization. It expects the caller to supply an exhaustive legal-move list for the current position. It is not a chess engine and should not be used to execute moves without confirmation.
The held-out owned test found 7 invalid utterances incorrectly accepted as legal moves out of 39 invalid cases. A legal-move validator alone does not catch that failure: the returned move can be legal for the position but unrelated to what the speaker said.
Use the Qwen chat template with thinking disabled, then prompt the model with the same four input fields used in training: fen, legal_moves_uci, recent_san, and utterance. Greedy decoding and a 64-token output limit were used for the reported evaluation.
Training data SHA-256: 3cbc92e23ecb312be4475cd5641d5b65bcce016ab154dad945e6d566af86fa87
Evaluation
Strict exact accuracy requires bare JSON with exactly the keys status and san, the correct status, and the canonical SAN or null. Scoring is deterministic.
Panel
Adapter
Claude Haiku 4.5, best few-shot prompt
Held-out owned test
247/256 (96.48%)
199/256 (77.73%)
Frontier
23/30 (76.67%)
21/30 (70.00%)
Training diagnostic
30/32 (93.75%)
25/32 (78.12%)
The held-out owned test is the main result. The training diagnostic was used during adapter development, so it is diagnostic evidence rather than an independent generalization result. Haiku used its strongest few-shot prompt while this adapter used a fixed structured prompt, making these prompt-ceiling comparisons rather than a controlled model-only comparison.