MiniMax-H3-e / core /settings.py
Samuelsrmendozs's picture
copia del Space que funciona
bbf161a verified
Raw History Blame Contribute Delete
5.29 kB
import yaml
import os
from collections import OrderedDict
CHECKPOINT_DIR = "models/checkpoints"
LORA_DIR = "models/loras"
EMBEDDING_DIR = "models/embeddings"
CONTROLNET_DIR = "models/controlnet"
MODEL_PATCHES_DIR = "models/model_patches"
DIFFUSION_MODELS_DIR = "models/diffusion_models"
VAE_DIR = "models/vae"
TEXT_ENCODERS_DIR = "models/text_encoders"
STYLE_MODELS_DIR = "models/style_models"
CLIP_VISION_DIR = "models/clip_vision"
IPADAPTER_DIR = "models/ipadapter"
IPADAPTER_FLUX_DIR = "models/ipadapter-flux"
INPUT_DIR = "input"
OUTPUT_DIR = "output"
CATEGORY_TO_DIR_MAP = {
"diffusion_models": DIFFUSION_MODELS_DIR,
"text_encoders": TEXT_ENCODERS_DIR,
"vae": VAE_DIR,
"checkpoints": CHECKPOINT_DIR,
"loras": LORA_DIR,
"controlnet": CONTROLNET_DIR,
"model_patches": MODEL_PATCHES_DIR,
"embeddings": EMBEDDING_DIR,
"style_models": STYLE_MODELS_DIR,
"clip_vision": CLIP_VISION_DIR,
"ipadapter": IPADAPTER_DIR,
"ipadapter-flux": IPADAPTER_FLUX_DIR
}
_PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
_FILE_LIST_PATH = os.path.join(_PROJECT_ROOT, 'yaml', 'file_list.yaml')
_CONSTANTS_PATH = os.path.join(_PROJECT_ROOT, 'yaml', 'constants.yaml')
def load_constants_from_yaml(filepath=_CONSTANTS_PATH):
if not os.path.exists(filepath):
print(f"Warning: Constants file not found at {filepath}. Using fallback values.")
return {}
with open(filepath, 'r', encoding='utf-8') as f:
return yaml.safe_load(f)
def load_file_download_map(filepath=_FILE_LIST_PATH):
if not os.path.exists(filepath):
raise FileNotFoundError(f"The file list (for downloads) was not found at: {filepath}")
with open(filepath, 'r', encoding='utf-8') as f:
file_list_data = yaml.safe_load(f)
download_info_map = {}
for category, files in file_list_data.get('file', {}).items():
if isinstance(files, list):
for file_info in files:
if 'filename' in file_info:
file_info['category'] = category
download_info_map[file_info['filename']] = file_info
return download_info_map
try:
ALL_FILE_DOWNLOAD_MAP = load_file_download_map()
category_to_model_type = {
"diffusion_models": "UNET",
"text_encoders": "TEXT_ENCODER",
"vae": "VAE",
"checkpoints": "SDXL",
"loras": "LORA",
"controlnet": "CONTROLNET",
"model_patches": "MODEL_PATCH",
"style_models": "STYLE",
"clip_vision": "CLIP_VISION",
"ipadapter": "IPADAPTER",
"ipadapter-flux": "IPADAPTER_FLUX"
}
MODEL_MAP_CHECKPOINT = OrderedDict()
ALL_MODEL_MAP = OrderedDict()
for filename, file_info in ALL_FILE_DOWNLOAD_MAP.items():
category = file_info.get('category')
repo_id = file_info.get('repo_id', '')
model_type = category_to_model_type.get(category, 'UNKNOWN')
model_tuple = (repo_id, filename, model_type, "latent", category)
ALL_MODEL_MAP[filename] = model_tuple
if category == 'checkpoints':
MODEL_MAP_CHECKPOINT[filename] = model_tuple
MODEL_TYPE_MAP = {k: v[2] for k, v in ALL_MODEL_MAP.items()}
ARCH_CATEGORIES_MAP = {}
for display_name, info in MODEL_MAP_CHECKPOINT.items():
arch = info[2]
cat = info[4] if len(info) > 4 else None
if arch not in ARCH_CATEGORIES_MAP:
ARCH_CATEGORIES_MAP[arch] = []
if cat and cat not in ARCH_CATEGORIES_MAP[arch]:
ARCH_CATEGORIES_MAP[arch].append(cat)
except Exception as e:
print(f"FATAL: Could not load file download map from YAML. Error: {e}")
ALL_FILE_DOWNLOAD_MAP = {}
MODEL_MAP_CHECKPOINT, ALL_MODEL_MAP = OrderedDict(), OrderedDict()
MODEL_TYPE_MAP = {}
ARCH_CATEGORIES_MAP = {}
try:
_constants = load_constants_from_yaml()
MAX_LORAS = _constants.get('MAX_LORAS', 10)
MAX_EMBEDDINGS = _constants.get('MAX_EMBEDDINGS', 5)
MAX_CONDITIONINGS = _constants.get('MAX_CONDITIONINGS', 10)
MAX_CONTROLNETS = _constants.get('MAX_CONTROLNETS', 5)
MAX_H3_GUIDES = _constants.get('MAX_H3_GUIDES', 5)
MAX_IPADAPTERS = _constants.get('MAX_IPADAPTERS', 5)
LORA_SOURCE_CHOICES = _constants.get('LORA_SOURCE_CHOICES', ["Hugging Face", "Civitai", "File"])
RESOLUTION_MAP = _constants.get('RESOLUTION_MAP', {})
MULTIPLIERS_MAP = _constants.get('MULTIPLIERS_MAP', {})
ARCHITECTURES_CONFIG = {"architectures": {}, "architecture_order": []}
FEATURES_CONFIG = {"default": {"enabled_chains": ["lora"]}}
MODEL_DEFAULTS_CONFIG = {"Default": {}}
except Exception as e:
print(f"FATAL: Could not load constants from YAML. Error: {e}")
MAX_LORAS, MAX_EMBEDDINGS, MAX_CONDITIONINGS, MAX_CONTROLNETS, MAX_IPADAPTERS = 10, 5, 10, 5, 5
MAX_H3_GUIDES = 5
LORA_SOURCE_CHOICES = ["Hugging Face", "Civitai", "File"]
RESOLUTION_MAP = {}
MULTIPLIERS_MAP = {}
ARCHITECTURES_CONFIG = {"architectures": {}, "architecture_order": []}
FEATURES_CONFIG = {"default": {"enabled_chains": ["lora"]}}
MODEL_DEFAULTS_CONFIG = {"Default": {}}