import undefined transformers_version for falcon model (#2822)

* import undefined transformers_version for falcon model

fixed falcon transformers version check and added error handling for FalconH1Attention bad import

* Also, conditionally load module from falcon_h1 depending on if the transformers version supports is
This commit is contained in:
DoubleMathew 2025-06-28 19:41:19 -05:00 committed by GitHub
commit be38f500d0
2 changed files with 11 additions and 5 deletions

View file

@ -30,12 +30,13 @@ try:
FalconHybridMambaAttentionDynamicCache,
)
except:
from transformers import __version__ as transformers_version
transformers_version = Version(transformers_version)
if not transformers_version >= Version("4.50.3"): #TODO: Update when transformers is updated
if not transformers_version >= Version("4.53.0"): #TODO: Update when transformers is updated
raise ImportError(
f"Unsloth: Your transformers version of {transformers_version} does not support FalconH1.\n"\
f"The minimum required version is 4.50.3.\n"\
f'Try `pip install --upgrade "transformers>=4.50.3"`\n'\
f"The minimum required version is 4.53.0.\n"\
f'Try `pip install --upgrade "transformers>=4.53.0"`\n'\
f"to obtain the latest transformers build, then restart this session."\
)
pass
@ -48,7 +49,10 @@ try:
FalconH1Attention,
)
except:
FalconH1Attention = FalconH1Attention
# if we are on a old version of transformers technically it should fail in the try except above
# but if somehow we make it here, we need to raise an error since FalconH1Attention is not available
# or renamed
raise ImportError("Unsloth: Could not import FalconH1Attention from transformers.models.falcon_h1.modeling_falcon_h1.")
pass

View file

@ -26,7 +26,6 @@ from .mistral import FastMistralModel
from .qwen2 import FastQwen2Model
from .qwen3 import FastQwen3Model
from .qwen3_moe import FastQwen3MoeModel
from .falcon_h1 import FastFalconH1Model
from .cohere import FastCohereModel
from transformers import AutoConfig
from transformers import __version__ as transformers_version
@ -65,6 +64,9 @@ if SUPPORTS_GEMMA:
if SUPPORTS_GEMMA2:
from .gemma2 import FastGemma2Model
pass
if SUPPORTS_FALCON_H1:
from .falcon_h1 import FastFalconH1Model
pass
import torch
from ._utils import (
patch_compiling_bitsandbytes,