CoolFace
Datasetpublic

chorcat/rukh-pairs-dpo

chorcat/rukh-pairs-dpo Preference pairs from the multi-PV Stockfish lines of rukh-positions-eval: the best first move against a legal move at least 100 centipawns worse for the side to move (mates count as 10000). One pair per position, balanced by phase. Part of Rukh, a chess language model built from scratch as a course on generative and agentic AI. Every derived dataset ships with the exact filters and counts of its manifest.json, so it can be regenerated with rukh data… See the full description on the dataset page: https://huggingface.co/datasets/chorcat/rukh-pairs-dpo.

sourceHugging Facecc0-1.0updated 5d agoView on Hugging Face
0likes74downloads
Dataset Card

chorcat/rukh-pairs-dpo

Preference pairs from the multi-PV Stockfish lines of rukh-positions-eval: the best first move against a legal move at least 100 centipawns worse for the side to move (mates count as 10000). One pair per position, balanced by phase.

Part of Rukh, a chess language model built from scratch as a course on generative and agentic AI. Every derived dataset ships with the exact filters and counts of its manifest.json, so it can be regenerated with rukh data pairs.

Files

FileBytesSHA-256
pairs.parquet418945cc3e38f73a15afbcd685d2cdbdcaadf329bc621d909cc5e76bdfec661e6812a7
dpo-prompts.parquet8135967c57c0e9a1d2d23549aac77976e541b1af0fc941a299e70bb13caf41327a7caf

Rows: 27774.

Columns

ColumnDescription
fenfour-field FEN of the position
chosenbest move (UCI)
rejectedclearly worse legal move (UCI)
cp_chosenscore of chosen from White's point of view (mate = +/-10000)
cp_rejectedscore of rejected from White's point of view
phaseopening, middlegame or endgame

Provenance and filters

Source: rukh-positions-eval (from Lichess/chess-position-evaluations).

json
{
  "min_delta_cp": 100,
  "max_per_phase": 200000,
  "seed": 42,
  "mate_score": 10000,
  "cp_point_of_view": "white",
  "best_line": "deepest; mate for the mover first; then best cp for the side to move",
  "legality": "python-chess",
  "candidates_by_phase": {
    "opening": 14402,
    "middlegame": 50215,
    "endgame": 4629
  },
  "empty_phases": []
}

Counts:

json
{
  "opening": 4629,
  "middlegame": 4629,
  "endgame": 4629,
  "candidates": 69246,
  "prompts": 13842,
  "prompts_dropped": 45
}

Generated on 2026-09-21 with rukh 0.0.1.

In the course

  • —Built in M1 · Del PGN al tensor: los labs, the lesson that runs every command behind this repository.
  • —Measured in the single results table: every stage of the course, the same suite, the same day.
  • —Bring it to the paths the configs read: uv run rukh pull rukh-pairs-dpo.

License

CC0 1.0. The games, puzzles and evaluations come from the Lichess open database (https://database.lichess.org, https://huggingface.co/Lichess), published under CC0; the derived files keep that license. Please credit Lichess when you use them.