transformer_lens.factories.architecture_adapter_factory module

Architecture adapter factory.

This module provides a factory for creating architecture adapters, including support for external registration and entry-point discovery.

class transformer_lens.factories.architecture_adapter_factory.ArchitectureAdapterFactory

Bases: object

Factory for creating architecture adapters.

Supports external registration via register_adapter() and automatic discovery of adapters from installed packages via entry points.

classmethod discover_entry_points() None

Discover and register architecture adapters from installed packages.

Packages can declare adapters in their pyproject.toml: `toml [project.entry-points."transformer_lens.architectures"] "MyModelForCausalLM" = "my_package.adapters:MyArchitectureAdapter" `

classmethod register_adapter(architecture_name: str, adapter_class: type[ArchitectureAdapter]) None

Register a custom architecture adapter at runtime.

This allows users to add their own architecture adapters without modifying TransformerLens source code.

Parameters:
  • architecture_name – The HuggingFace architecture class name (e.g. "Qwen3ForCausalLM").

  • adapter_class – The adapter class to register.

Example

>>> from transformer_lens.config import TransformerBridgeConfig
>>> from transformer_lens.model_bridge.architecture_adapter import ArchitectureAdapter
>>> from transformer_lens.factories.architecture_adapter_factory import ArchitectureAdapterFactory
>>> class MyAdapter(ArchitectureAdapter):
...     def __init__(self, cfg):
...         super().__init__(cfg)
>>> ArchitectureAdapterFactory.register_adapter("MyModelForCausalLM", MyAdapter)
>>> cfg = TransformerBridgeConfig(
...     d_model=512, d_head=64, n_layers=6, n_ctx=1024,
...     architecture="MyModelForCausalLM",
... )
>>> adapter = ArchitectureAdapterFactory.select_architecture_adapter(cfg)
>>> isinstance(adapter, MyAdapter)
True
classmethod select_architecture_adapter(cfg: TransformerBridgeConfig) ArchitectureAdapter

Select the appropriate architecture adapter for the given config.

Parameters:

cfg – The TransformerBridgeConfig to select the adapter for.

Returns:

The selected architecture adapter.

Raises:

ValueError – If no adapter is found for the given config.