""" config.py Global configuration for the Minecraft AI Builder. """ from pathlib import Path import torch # ========================================================== # Project Paths # ========================================================== ROOT_DIR = Path(__file__).parent DATASET_PATH = ROOT_DIR / "data" / "dataset.json" CHECKPOINT_DIR = ROOT_DIR / "checkpoints" CHECKPOINT_DIR.mkdir(exist_ok=True) # ========================================================== # Model # ========================================================== EMBED_DIM = 512 NUM_HEADS = 8 NUM_ENCODER_LAYERS = 6 NUM_DECODER_LAYERS = 6 FEED_FORWARD_DIM = 2048 DROPOUT = 0.1 # Maximum lengths MAX_PROMPT_LENGTH = 64 MAX_OUTPUT_LENGTH = 4096 # ========================================================== # Vocabulary # ========================================================== # Filled automatically after building vocab TEXT_VOCAB_SIZE = None OUTPUT_VOCAB_SIZE = None # Special Tokens PAD_TOKEN = "" START_TOKEN = "" END_TOKEN = "" UNK_TOKEN = "" SPECIAL_TOKENS = [ PAD_TOKEN, START_TOKEN, END_TOKEN, UNK_TOKEN ] # ========================================================== # Training # ========================================================== BATCH_SIZE = 8 LEARNING_RATE = 1e-4 EPOCHS = 100 WEIGHT_DECAY = 1e-5 DEVICE = "cuda" if torch.cuda.is_available() else "cpu" # ========================================================== # Generation # ========================================================== TEMPERATURE = 1.0 TOP_K = 40 TOP_P = 0.95 # ========================================================== # Random Seed # ========================================================== RANDOM_SEED = 42 # ========================================================== # Coordinate Limits # ========================================================== MIN_COORD = 0 MAX_COORD = 128 # ========================================================== # Supported Minecraft Blocks # ========================================================== SUPPORTED_BLOCKS = [ "minecraft:stone", "minecraft:oak_planks", "minecraft:spruce_planks", "minecraft:birch_planks", "minecraft:jungle_planks", "minecraft:acacia_planks", "minecraft:dark_oak_planks", "minecraft:mangrove_planks", "minecraft:cherry_planks", "minecraft:bamboo_planks", "minecraft:crimson_planks", "minecraft:warped_planks", "minecraft:oak_log", "minecraft:spruce_log", "minecraft:birch_log", "minecraft:jungle_log", "minecraft:acacia_log", "minecraft:dark_oak_log", "minecraft:mangrove_log", "minecraft:cherry_log", "minecraft:crimson_stem", "minecraft:warped_stem", ]