""" Example usage of the ChessBot Chess Model This model can be used without installing any external packages except: - torch - transformers - chess (python-chess) - numpy """ import torch import sys sys.path.append("./") # Add the model directory to path from modeling_chessbot import ChessBotModel, ChessBotConfig # Load the model config = ChessBotConfig() model = ChessBotModel.from_pretrained("./") # Alternative: You can also try AutoModel (may require additional setup) # from transformers import AutoModel # model = AutoModel.from_pretrained("./", trust_remote_code=True) # Example usage fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" device = "cuda" if torch.cuda.is_available() else "cpu" model = model.to(device) # Get the best move move = model.get_move_from_fen_no_thinking(fen, T=0.1, device=device) print(f"Best move: {move}") # Get move probabilities probs = model.get_move_from_fen_no_thinking(fen, T=0.1, device=device, return_probs=True) top_moves = sorted(probs.items(), key=lambda x: x[1], reverse=True)[:5] print("Top 5 moves:") for move, prob in top_moves: print(f" {move}: {prob:.4f}")