Controls the behavior of multimodal models.
Summary
Functions
Python method MultiModalConfig._validate_limit_per_prompt.
Python method MultiModalConfig._validate_mm_encoder_attn_backend.
Python method MultiModalConfig._validate_multimodal_config.
WARNING: Whenever a new field is added to this config,
Get the configurable dummy data options for a modality.
Get the maximum number of input items allowed per prompt
Python method MultiModalConfig.is_multimodal_pruning_enabled.
Get the keyword arguments to pass to the multi-modal processor
Constructs MultiModalConfig.
Types
Functions
@spec _validate_limit_per_prompt( SnakeBridge.Ref.t(), %{optional(String.t()) => term()}, keyword() ) :: {:ok, %{optional(String.t()) => term()}} | {:error, Snakepit.Error.t()}
Python method MultiModalConfig._validate_limit_per_prompt.
Parameters
value(%{optional(String.t()) => term()})
Returns
%{optional(String.t()) => term()}
@spec _validate_mm_encoder_attn_backend(SnakeBridge.Ref.t(), term(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
Python method MultiModalConfig._validate_mm_encoder_attn_backend.
Parameters
value(term())
Returns
term()
@spec _validate_multimodal_config( SnakeBridge.Ref.t(), keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()}
Python method MultiModalConfig._validate_multimodal_config.
Returns
term()
@spec compute_hash( SnakeBridge.Ref.t(), keyword() ) :: {:ok, String.t()} | {:error, Snakepit.Error.t()}
WARNING: Whenever a new field is added to this config,
ensure that it is included in the factors list if it affects the computation graph.
Provide a hash that uniquely identifies all the configs that affect the structure of the computation graph from input ids/embeddings to the final hidden states, excluding anything before input ids/embeddings and after the final hidden states.
Returns
String.t()
@spec enable_mm_embeds(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec get_dummy_options(SnakeBridge.Ref.t(), String.t(), keyword()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
Get the configurable dummy data options for a modality.
Returns None if no options are configured for this modality.
Parameters
modality(String.t())
Returns
term()
@spec get_limit_per_prompt(SnakeBridge.Ref.t(), String.t(), keyword()) :: {:ok, integer()} | {:error, Snakepit.Error.t()}
Get the maximum number of input items allowed per prompt
for the given modality (backward compatible).
Parameters
modality(String.t())
Returns
integer()
@spec interleave_mm_strings(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec is_multimodal_pruning_enabled( SnakeBridge.Ref.t(), keyword() ) :: {:ok, term()} | {:error, Snakepit.Error.t()}
Python method MultiModalConfig.is_multimodal_pruning_enabled.
Returns
term()
@spec limit_per_prompt(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec media_io_kwargs(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec merge_mm_processor_kwargs(SnakeBridge.Ref.t(), term(), keyword()) :: {:ok, %{optional(String.t()) => term()}} | {:error, Snakepit.Error.t()}
Get the keyword arguments to pass to the multi-modal processor
according to the extra arguments passed during inference.
Parameters
inference_kwargs(term())
Returns
%{optional(String.t()) => term()}
@spec mm_encoder_attn_backend(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec mm_encoder_tp_mode(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec mm_processor_cache_gb(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec mm_processor_cache_type(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec mm_processor_kwargs(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec mm_shm_cache_max_object_size_mb(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec new(term(), term(), term(), keyword()) :: {:ok, SnakeBridge.Ref.t()} | {:error, Snakepit.Error.t()}
Constructs MultiModalConfig.
Parameters
dataclass_self__(term())args(term())kwargs(term())
@spec skip_mm_profiling(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}
@spec video_pruning_rate(SnakeBridge.Ref.t()) :: {:ok, term()} | {:error, Snakepit.Error.t()}