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 class
PipelineModel
PipelineModelβ
class max.pipelines.PipelineModel(pipeline_config, session, devices, kv_cache_config, weights, adapter, return_logits, return_hidden_states=ReturnHiddenStates.NONE)
Bases: ABC, Generic[BaseContextType]
A pipeline model with setup, input preparation and execution methods.
-
Parameters:
-
- pipeline_config (PipelineConfig)
- session (InferenceSession)
- devices (list[Device])
- kv_cache_config (KVCacheConfig)
- weights (Weights)
- adapter (WeightsAdapter | None)
- return_logits (ReturnLogits)
- return_hidden_states (ReturnHiddenStates)
calculate_max_seq_len()β
classmethod calculate_max_seq_len(pipeline_config, huggingface_config)
Calculates the optimal max sequence length for the model.
Default implementation delegates to model_config_cls. Override when
pipeline-model semantics differ from the config (for example, bounding
max_length where the config is permissive).
-
Parameters:
-
- pipeline_config (PipelineConfig) β Configuration for the pipeline.
- huggingface_config (AutoConfig) β Hugging Face model configuration.
-
Returns:
-
The maximum sequence length to use.
-
Return type:
compute_log_probabilities()β
compute_log_probabilities(session, model_inputs, model_outputs, next_tokens, batch_top_n, batch_echo)
Optional method that can be overridden to compute log probabilities.
-
Parameters:
-
- session (InferenceSession) β Inference session to compute log probabilities within.
- model_inputs (ModelInputs) β Inputs to the model returned by prepare_*_token_inputs().
- model_outputs (ModelOutputs) β Outputs returned by execute().
- next_tokens (Buffer) β Sampled tokens. Should have shape=[batch size]
- batch_top_n (list[int]) β Number of top log probabilities to return per input in the batch. For any element where top_n == 0, the LogProbabilities is skipped.
- batch_echo (list[bool]) β Whether to include input tokens in the returned log probabilities.
-
Returns:
-
List of log probabilities.
-
Return type:
-
list[LogProbabilities | None]
dtypeβ
property dtype: DType
Returns the model data type from pipeline config.
execute()β
abstract execute(model_inputs)
Executes the graph with the given inputs.
-
Parameters:
-
model_inputs (ModelInputs) β The model inputs to execute, containing tensors and any other required data for model execution.
-
Returns:
-
ModelOutputs containing the pipelineβs output tensors.
-
Return type:
This is an abstract method that must be implemented by concrete PipelineModels to define their specific execution logic.
huggingface_configβ
property huggingface_config: AutoConfig
Returns the HuggingFace config from pipeline config.
For multimodal models (e.g., Pixtral, Gemma3 multimodal), this returns the top-level config which contains both text_config and vision_config. Models should explicitly access .text_config or .vision_config as needed.
-
Returns:
-
The HuggingFace AutoConfig for this model.
-
Raises:
-
ValueError β If HuggingFace config could not be loaded.
lora_managerβ
property lora_manager: LoRAManager | None
Returns the LoRA manager if LoRA is enabled, otherwise None.
model_config_clsβ
Config class used to delegate calculate_max_seq_len and KV params.
prepare_initial_token_inputs()β
abstract prepare_initial_token_inputs(replica_batches, kv_cache_inputs=None, return_n_logits=1)
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:
signal_buffersβ
Lazily initialize signal buffers for multi-GPU communication collectives.
Signal buffers are only needed during model execution, not during compilation. By deferring their allocation, we avoid memory allocation in compile-only mode.
-
Returns:
-
List of signal buffer tensors, one per device for multi-device setups, or an empty list for single-device setups or compile-only mode.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!