IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).

Python module

max.pipelines.architectures.qwen3_embedding_modulev3

Qwen3 architecture for embeddings generation.

Qwen3EmbeddingConfig​

class max.pipelines.architectures.qwen3_embedding_modulev3.Qwen3EmbeddingConfig(*, pipeline_config)

source

Bases: ArchConfig

Qwen3 embedding model configuration.

Parameters:

pipeline_config (PipelineConfig)

calculate_max_seq_len()​

static calculate_max_seq_len(pipeline_config, huggingface_config)

source

Parameters:

Return type:

int

get_max_seq_len()​

get_max_seq_len()

source

Returns the default maximum sequence length for the model.

Subclasses should determine whether this value can be overridden by setting the --max-length (pipeline_config.model.max_length) flag.

Return type:

int

initialize()​

classmethod initialize(pipeline_config, model_config=None)

source

Initialize the config from a PipelineConfig.

Parameters:

  • pipeline_config (PipelineConfig) – The pipeline configuration.
  • model_config (MAXModelConfig | None) – The model configuration to read from. When None (the default), pipeline_config.model is used. Pass an explicit config (e.g. pipeline_config.draft_model) to initialize the arch config for a different model.

Return type:

Self

pipeline_config​

pipeline_config: PipelineConfig

source

Qwen3EmbeddingInputs​

class max.pipelines.architectures.qwen3_embedding_modulev3.Qwen3EmbeddingInputs(tokens, input_row_offsets, return_n_logits, *, kv_cache_inputs=None, lora_ids=None, lora_ranks=None, hidden_states=None)

source

Bases: ModelInputs

Input structure for Qwen3 embedding models.

Parameters:

input_row_offsets​

input_row_offsets: Buffer

source

Row offsets for ragged tensors [batch_size + 1]

return_n_logits​

return_n_logits: Buffer

source

Number of logits to return (kept for interface compatibility)

tokens​

tokens: Buffer

source

Input token IDs [total_seq_len]

Qwen3EmbeddingModel​

class max.pipelines.architectures.qwen3_embedding_modulev3.Qwen3EmbeddingModel(pipeline_config, session, devices, kv_cache_config, weights, adapter=None, return_logits=ReturnLogits.ALL)

source

Bases: PipelineModel[TextContext]

Qwen3 embedding pipeline model without KV caching (V3 eager API).

Optimized for embedding generation with:

  • No KV cache overhead
  • Single-pass forward computation
  • Flash attention without cache operations
  • Last token pooling with L2 normalization

Parameters:

execute()​

execute(model_inputs)

source

Execute the model.

Parameters:

model_inputs (ModelInputs)

Return type:

ModelOutputs

load_model()​

load_model()

source

Build and compile the embedding model using V3 eager API.

Return type:

Callable[[…], Any]

model​

model: Callable[..., Any]

source

Compiled model callable.

model_config_cls​

model_config_cls

source

alias of Qwen3EmbeddingConfig

prepare_initial_token_inputs()​

prepare_initial_token_inputs(replica_batches, kv_cache_inputs=None, return_n_logits=1)

source

Prepares the initial inputs to be passed to execute().

The inputs and functionality can vary per model. For example, model inputs could include encoded tensors, unique IDs per tensor when using a KV cache manager, and kv_cache_inputs (or None if the model does not use KV cache). This method typically batches encoded tensors, claims a KV cache slot if needed, and returns the inputs and caches.

Parameters:

Return type:

Qwen3EmbeddingInputs