29 lines
875 B
Python
29 lines
875 B
Python
from transformers import Qwen3ForCausalLM, Qwen3Model
|
|
|
|
from .._mixin import OstrisTransformersMixin
|
|
|
|
|
|
class Qwen3TextEncoder(Qwen3ForCausalLM, OstrisTransformersMixin):
|
|
"""Qwen3 causal-LM text encoder (Z-Image family, Zeta-Chroma, ...). Loads
|
|
from a checkpoint's text_encoder/ subfolder, a hub repo, or a single
|
|
.safetensors file; the tokenizer rides in the checkpoint's tokenizer/
|
|
subfolder."""
|
|
|
|
aitk_subfolder = "text_encoder"
|
|
aitk_tokenizer_subfolder = "tokenizer"
|
|
|
|
@classmethod
|
|
def get_transformer_block_names(cls):
|
|
return ["model.layers"]
|
|
|
|
|
|
class Qwen3ModelEncoder(Qwen3Model, OstrisTransformersMixin):
|
|
"""The inner Qwen3 base model (anima's text encoder)."""
|
|
|
|
aitk_subfolder = "text_encoder"
|
|
aitk_tokenizer_subfolder = "tokenizer"
|
|
|
|
@classmethod
|
|
def get_transformer_block_names(cls):
|
|
return ["layers"]
|