--- title: Chess emoji: ♟️ colorFrom: purple colorTo: gray sdk: gradio sdk_version: 5.50.0 app_file: app.py pinned: false license: mit short_description: Play against chess-playing reasoning LLM --- # ♔ Chess Reasoner Play chess against a reasoning LLM! This demo showcases **[nuriyev/chess-reasoner-grpo](https://huggingface.co/nuriyev/chess-reasoner-grpo)**, a Qwen3-4B model tuned to play chess with detailed reasoning traces. ## 🎮 How to Play 1. **You play as White** - click on pieces to move them 2. **AI plays as Black** - the model will respond with its move 3. **View AI Reasoning** - expand the "🧠 AI Reasoning" accordion to see the model's thought process 4. **AI First** - click this button if you want the AI to play White instead ## 🧠 Model Details | Attribute | Value | |-----------|-------| | Base Model | [Qwen/Qwen3-4B-Instruct-2507](https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507) | | Training | SFT with LoRA (r=32) on reasoning traces | | Dataset | [aicrowd/ChessExplained](https://huggingface.co/datasets/aicrowd/ChessExplained) | | Output Format | `...move` | ## 📋 Output Format The model outputs structured reasoning: ``` The opponent left their queen undefended. Taking it wins material. d4d8 ``` ## ⚠️ Limitations Model is still very bad at playing chess! I am working on creating a beast. Coming soon... ## 🔗 Links - [Model Card](https://huggingface.co/nuriyev/chess-reasoner) - [LoRA Adapter](https://huggingface.co/nuriyev/chess-reasoner-lora) - [Training Dataset](https://huggingface.co/datasets/nuriyev/chess-reasoning) - [Training Code](https://colab.research.google.com/drive/1koRx4Aa8AzA1HGwvEFYll9dWmw0hyVzo)