OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Models

Maia Chess

Maia Chess is an open-source collection of neural-network chess models trained on human games to predict and play human-like moves. Its repository provides model weights and code for running move-prediction workflows and creating models from PGN game data.

Independent OpenViST project profile, based on linked sources.

Maia Chess — OpenViST project profile in AI Models.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Maia when the goal is to model human move choices, create a human-like chess practice opponent, or work with code and weights for chess behavior research. The linked Lichess bots provide a direct route to playing against selected models; local use requires a host engine such as lc0.

Who it is for

  • Chess players looking for practice against linked Lichess bots with different target ratings.
  • Developers who want to load Maia weights with lc0 or use its Python move-prediction code.
  • Researchers studying human chess behavior or training models from chess games.

Documented uses

  • Play against a linked Maia bot targeting a particular rating.
  • Load Maia weights into lc0 and obtain moves using the documented one-node setting.
  • Use the Python backend and python-chess wrapper for move prediction.
  • Convert PGN games into training data and train a Maia model.
Before you choose

Requirements & limits

The repository is public and specifies the GPL-3.0 license. The README links to Maia bots on Lichess and model weights in the repository.

  • Maia weights are model components, not complete chess engines; local play requires lc0.
  • The documented Maia move-setting approach disables searching and uses a one-node limit.
  • The repository's PGN training pipeline requires pgn-extract, trainingdata-tool and Python packages, and processing can be CPU- and I/O-intensive.
  • The linked Lichess bots target 1100, 1500 and 1900 ratings; their opening books are noted as being in development.
  • Maia-2 and Maia-3 have separate linked code projects, so their workflows are distinct from the instructions for this repository.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Prepare a Maia model for local play with lc0

Load a Maia model weight file into Leela Chess Zero and configure the documented one-node move setting.

Before you start

  • A Maia model weight file, such as maia-1100.pb.gz
  • Leela Chess Zero (lc0), installed and configured according to its quickstart instructions

Steps

  1. Download a Maia weight file from the repository's model links.

  2. Load the file with lc0, following the lc0 quickstart.

  3. Disable searching by using a one-node limit; the repository gives the command below as the UCI example.

    Documented command
    go nodes 1

Expected outcome

The Maia weights are loaded in lc0, with the documented one-node setting for selecting a move.

Guide limitations

  • The Maia weights are not a complete chess framework or engine on their own; they need lc0 as a host.
  • This guide covers the documented loading and move-setting steps, not connection to a particular chess interface.
Source-based practical guide

Prepare PGN games for Maia training

Convert PGN chess games into the training and validation data format used by the repository's training workflow.

Before you start

  • PGN chess game files
  • The repository's required Python packages from requirements.txt
  • pgn-extract and trainingdata-tool available on the system path

Steps

  1. Set up the repository environment; the maia_env.yml Conda environment is optional, while required packages are listed in requirements.txt.

  2. Add pgn-extract and trainingdata-tool to the system path.

  3. Run move_prediction/pgn_to_trainingdata.sh PGN_FILE_PATH OUTPUT_PATH with the input and output paths replaced by the relevant paths.

Expected outcome

The script creates training and validation data under the chosen output path, ready for the documented configuration stage.

Guide limitations

  • Game processing is described as intensive in CPU and input/output work.
  • This guide covers data preparation only; training requires configuring move_prediction/maia_config.yml and running the training script.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
13 October 2026
Original website title
CSSLab/maia-chess · Official homepage title · retained in its source language