| """HuggingFace `trust_remote_code` glue for the SGJM family. | |
| The two files published into each HF model repo are `configuration_sgjm.py` and | |
| `modeling_sgjm.py`; `convert.py` turns a training checkpoint into a loadable | |
| HF directory. Importing the model classes requires `transformers` (the `hf` | |
| optional extra); the config alone does too, but nothing here pulls in a backend. | |
| """ | |
| from __future__ import annotations | |
| from sgjm.hf.configuration_sgjm import SGJMConfig | |
| __all__ = ["SGJMConfig", "SGJMForCausalLM", "convert_checkpoint"] | |
| def __getattr__(name: str): | |
| # Lazy so `import sgjm.hf` works for config-only use without torch loaded. | |
| if name == "SGJMForCausalLM": | |
| from sgjm.hf.modeling_sgjm import SGJMForCausalLM | |
| return SGJMForCausalLM | |
| if name == "convert_checkpoint": | |
| from sgjm.hf.convert import convert_checkpoint | |
| return convert_checkpoint | |
| raise AttributeError(f"module {__name__!r} has no attribute {name!r}") | |