from __future__ import annotations from typing import Any FLORENCE2_FOLDER = "Florence2" LLAMA32_FOLDER = "Llama3_2" LLAMAJOY_FOLDER = "llama-joycaption-beta-one-hf-llava" PROMPT_ENHANCER_REPO = "DeepBeepMeep/LTX_Video" FLORENCE2_FILES = ["config.json", "configuration_florence2.py", "model.safetensors", "preprocessor_config.json", "tokenizer.json", "tokenizer_config.json"] LLAMA32_FILES = ["config.json", "generation_config.json", "Llama3_2_quanto_bf16_int8.safetensors", "special_tokens_map.json", "tokenizer.json", "tokenizer_config.json"] LLAMAJOY_FILES = ["config.json", "llama_config.json", "llama_joycaption_quanto_bf16_int8.safetensors", "special_tokens_map.json", "tokenizer.json", "tokenizer_config.json"] QWEN35_TEXT_GGUF_FILENAME = "Qwen3.5-9B-Abliterated-text-Q4_K_M_bis.gguf" QWEN35_TEXT_INT8_FILENAME = "Qwen3.5-9B-Abliterated_quanto_bf16_int8.safetensors" QWEN35_VISION_FILENAME = "Qwen3.5-9B-vision_bf16.safetensors" QWEN35_ABLITERATED_REPO = "DeepBeepMeep/Wan2.1" QWEN35_ABLITERATED_TEXT_REQUIRED_FILES = ( "chat_template.jinja", "config.json", ) QWEN35_4B_TEXT_GGUF_FILENAME = "Qwen3.5-4B-Abliterated-text-Q4_K_M.gguf" QWEN35_4B_VISION_FILENAME = "Qwen3.5-4B-vision_bf16.safetensors" QWEN35_4B_TEXT_INT8_FILENAME = "Qwen3.5-4B-Abliterated_quanto_bf16_int8.safetensors" QWEN35_VARIANT_9B = "9b" QWEN35_VARIANT_4B = "4b" QWEN35_VARIANT_SPECS = { QWEN35_VARIANT_9B: { "display_name": "Qwen3.5-9B Abliterated", "assets_dir_name": "Qwen3_5_9B_Abliterated", "root_repo": QWEN35_ABLITERATED_REPO, "repo_subfolder": "Qwen3_5_9B_Abliterated", "root_files": [ "chat_template.jinja", "config.json", "tokenizer.json", "tokenizer_config.json", "video_preprocessor_config.json", "vocab.json", ], "text_repo": QWEN35_ABLITERATED_REPO, "text_required_files": list(QWEN35_ABLITERATED_TEXT_REQUIRED_FILES), "text_int8_filename": QWEN35_TEXT_INT8_FILENAME, "gguf_repo": QWEN35_ABLITERATED_REPO, "text_gguf_filename": QWEN35_TEXT_GGUF_FILENAME, "vision_filename": QWEN35_VISION_FILENAME, "tie_word_embeddings": False, }, QWEN35_VARIANT_4B: { "display_name": "Qwen3.5-4B Abliterated", "assets_dir_name": "Qwen3_5_4B_Abliterated", "root_repo": QWEN35_ABLITERATED_REPO, "repo_subfolder": "Qwen3_5_4B_Abliterated", "root_files": [ "chat_template.jinja", "config.json", "generation_config.json", "merges.txt", "tokenizer.json", "tokenizer_config.json", "video_preprocessor_config.json", "vocab.json", ], "text_repo": None, "text_required_files": [], "text_int8_filename": QWEN35_4B_TEXT_INT8_FILENAME, "gguf_repo": QWEN35_ABLITERATED_REPO, "text_gguf_filename": QWEN35_4B_TEXT_GGUF_FILENAME, "vision_filename": QWEN35_4B_VISION_FILENAME, "tie_word_embeddings": True, }, } def _qwen35_variant_files(variant: str) -> list[str]: spec = QWEN35_VARIANT_SPECS[variant] return list(spec["root_files"]) + [spec["vision_filename"], spec["text_int8_filename"], spec["text_gguf_filename"]] def query_prompt_enhancer_download_defs() -> list[dict[str, Any]]: return [ { "repoId": PROMPT_ENHANCER_REPO, "sourceFolderList": [FLORENCE2_FOLDER, LLAMA32_FOLDER], "fileList": [FLORENCE2_FILES, LLAMA32_FILES], }, { "repoId": PROMPT_ENHANCER_REPO, "sourceFolderList": [FLORENCE2_FOLDER, LLAMAJOY_FOLDER], "fileList": [FLORENCE2_FILES, LLAMAJOY_FILES], }, { "repoId": QWEN35_ABLITERATED_REPO, "sourceFolderList": [ QWEN35_VARIANT_SPECS[QWEN35_VARIANT_4B]["repo_subfolder"], QWEN35_VARIANT_SPECS[QWEN35_VARIANT_9B]["repo_subfolder"], ], "fileList": [_qwen35_variant_files(QWEN35_VARIANT_4B), _qwen35_variant_files(QWEN35_VARIANT_9B)], }, ]