"""Configuration for the fixed Purrence-3M inference architecture.""" from dataclasses import asdict from transformers import PretrainedConfig from .purrence_core import ModelConfig class PurrenceConfig(PretrainedConfig): model_type = "purrence" def __init__(self, **kwargs): dimensions = asdict(ModelConfig()) for name, default in dimensions.items(): dimensions[name] = kwargs.pop(name, default) ModelConfig(**dimensions).validate() kwargs.setdefault("bos_token_id", 2047) kwargs.setdefault("eos_token_id", 2047) kwargs.setdefault("pad_token_id", 2047) kwargs.setdefault("tie_word_embeddings", True) super().__init__(**kwargs) for name, value in dimensions.items(): setattr(self, name, value) self.max_position_embeddings = self.max_seq_len self.use_cache = False