|
14 | 14 | from collections.abc import Callable, Coroutine, Sequence |
15 | 15 | from typing import Any, overload |
16 | 16 |
|
17 | | -import llguidance |
18 | | -import llguidance.hf |
19 | | -import llguidance.torch |
20 | | -import torch |
21 | | -from transformers import AutoModelForCausalLM, AutoTokenizer |
22 | | -from transformers.cache_utils import DynamicCache |
23 | | -from transformers.generation.logits_process import LogitsProcessorList |
24 | | -from transformers.generation.streamers import AsyncTextIteratorStreamer |
25 | | -from transformers.generation.utils import GenerateDecoderOnlyOutput |
26 | | -from transformers.modeling_utils import PreTrainedModel |
27 | | -from transformers.tokenization_utils import PreTrainedTokenizer |
28 | | -from transformers.trainer_utils import set_seed |
| 17 | +try: |
| 18 | + import llguidance |
| 19 | + import llguidance.hf |
| 20 | + import llguidance.torch |
| 21 | + import torch |
| 22 | + from transformers import AutoModelForCausalLM, AutoTokenizer |
| 23 | + from transformers.cache_utils import DynamicCache |
| 24 | + from transformers.generation.logits_process import LogitsProcessorList |
| 25 | + from transformers.generation.streamers import AsyncTextIteratorStreamer |
| 26 | + from transformers.generation.utils import GenerateDecoderOnlyOutput |
| 27 | + from transformers.modeling_utils import PreTrainedModel |
| 28 | + from transformers.tokenization_utils import PreTrainedTokenizer |
| 29 | + from transformers.trainer_utils import set_seed |
| 30 | +except ImportError as e: |
| 31 | + raise ImportError( |
| 32 | + "The HuggingFace backend requires extra dependencies. " |
| 33 | + 'Please install them with: pip install "mellea[hf]"' |
| 34 | + ) from e |
29 | 35 |
|
30 | 36 | from ..backends import kv_block_helpers |
31 | 37 | from ..core import ( |
|
0 commit comments