Skip to content

Commit 7d0aa97

Browse files
authored
chore: Optimum - use new import path for SentenceTransformerPoolingLayer (#3137)
* chore: Optimum - use new import path for SentenceTransformerPoolingLayer * try/except
1 parent 61d4c6b commit 7d0aa97

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

  • integrations/optimum/src/haystack_integrations/components/embedders/optimum

integrations/optimum/src/haystack_integrations/components/embedders/optimum/_backend.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
from haystack.utils import Secret, deserialize_secrets_inplace
1414
from haystack.utils.hf import HFModelType, check_valid_model, deserialize_hf_model_kwargs, serialize_hf_model_kwargs
1515
from huggingface_hub import hf_hub_download
16-
from sentence_transformers.models import Pooling as SentenceTransformerPoolingLayer
1716
from tqdm import tqdm
1817
from transformers import AutoTokenizer
1918
from transformers.modeling_outputs import BaseModelOutput
@@ -28,6 +27,15 @@
2827
from .pooling import OptimumEmbedderPooling
2928
from .quantization import OptimumEmbedderQuantizationConfig
3029

30+
# for sentence-transformers Pooling, we use the new module path if available. It also ships correct types
31+
# we also keep compatibility with older versions of sentence-transformers
32+
try:
33+
from sentence_transformers.sentence_transformer.modules import Pooling as SentenceTransformerPoolingLayer
34+
except ImportError:
35+
from sentence_transformers.models import ( # type: ignore[import-not-found, no-redef]
36+
Pooling as SentenceTransformerPoolingLayer,
37+
)
38+
3139

3240
@dataclass
3341
class _EmbedderParams:

0 commit comments

Comments
 (0)