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.bert

BERT sentence transformer architecture for embeddings generation.

BertInputs​

class max.pipelines.architectures.bert.BertInputs(next_tokens_batch: 'Buffer', attention_mask: 'Buffer', *, kv_cache_inputs: 'KVCacheInputs[Buffer, Buffer] | None' = None, lora: 'LoRAInputs | None' = None, hidden_states: 'Buffer | list[Buffer] | None' = None)

source

Bases: ModelInputs

Parameters:

attention_mask​

attention_mask: Buffer

source

next_tokens_batch​

next_tokens_batch: Buffer

source

BertModelConfig​

class max.pipelines.architectures.bert.BertModelConfig(*, dtype, device, pool_embeddings, huggingface_config, max_seq_len)

source

Bases: ArchConfigWithBoundedMaxSeqLen, ArchConfig

Configuration for Bert models.

Parameters:

  • dtype (DType)
  • device (DeviceRef)
  • pool_embeddings (bool)
  • huggingface_config (AutoConfig)
  • max_seq_len (int)

device​

device: DeviceRef

source

dtype​

dtype: DType

source

huggingface_config​

huggingface_config: AutoConfig

source

initialize()​

classmethod initialize(pipeline_config, model_config=None)

source

Initializes a BertModelConfig instance from pipeline configuration.

Parameters:

Returns:

An initialized BertModelConfig instance.

Return type:

Self

max_seq_len​

max_seq_len: int

source

pool_embeddings​

pool_embeddings: bool

source

BertPipelineModel​

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

source

Bases: PipelineModel[TextContext]

Parameters:

execute()​

execute(model_inputs)

source

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:

ModelOutputs

This is an abstract method that must be implemented by concrete PipelineModels to define their specific execution logic.

load_model()​

load_model(session)

source

Parameters:

session (InferenceSession)

Return type:

Model

model_config_cls​

model_config_cls

source

alias of BertModelConfig

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:

BertInputs