5454 import llama_cpp
5555
5656with try_import () as vllm_imports_successful :
57- import vllm
57+ import vllm # pyright: ignore[reportMissingImports]
5858
5959 # We try to load the vllm model to ensure it is available
6060 try : # pragma: no lax cover
61- vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' )
61+ vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ) # pyright: ignore[reportUnknownMemberType]
6262 except RuntimeError as e : # pragma: lax no cover
6363 if 'Found no NVIDIA driver' in str (e ) or 'Device string must not be empty' in str (e ):
6464 # Treat as import failure
6969 import openai
7070
7171with try_import () as mlxlm_imports_successful :
72- import mlx_lm
72+ import mlx_lm # pyright: ignore[reportMissingImports]
7373
7474
7575pytestmark = [
@@ -104,60 +104,64 @@ class MockOutlinesAsyncModel(OutlinesAsyncBaseModel):
104104 only implemented because they are abstract methods in the OutlinesAsyncModel class.
105105 """
106106
107- async def __call__ (self , model_input : Any , output_type : Any , backend : Any , ** inference_kwargs : Any ) -> str :
107+ async def __call__ (self , model_input : Any , output_type : Any , backend : Any , ** inference_kwargs : Any ) -> str : # pyright: ignore[reportIncompatibleMethodOverride]
108108 return 'test'
109109
110- async def stream (self , model_input : Any , output_type : Any , backend : Any , ** inference_kwargs : Any ):
110+ async def stream (self , model_input : Any , output_type : Any , backend : Any , ** inference_kwargs : Any ): # pyright: ignore[reportIncompatibleMethodOverride]
111111 for _ in range (2 ):
112112 yield 'test'
113113
114- async def generate (self , model_input : Any , output_type : Any , ** inference_kwargs : Any ): ... # pragma: no cover
114+ async def generate ( # pyright: ignore[reportIncompatibleMethodOverride] # pragma: no cover
115+ self , model_input : Any , output_type : Any , ** inference_kwargs : Any
116+ ): ...
115117
116- async def generate_batch (
118+ async def generate_batch ( # pyright: ignore[reportIncompatibleMethodOverride] # pragma: no cover
117119 self , model_input : Any , output_type : Any , ** inference_kwargs : Any
118- ): ... # pragma: no cover
120+ ): ...
119121
120- async def generate_stream (
122+ async def generate_stream ( # pyright: ignore[reportIncompatibleMethodOverride] # pragma: no cover
121123 self , model_input : Any , output_type : Any , ** inference_kwargs : Any
122- ): ... # pragma: no cover
124+ ): ...
123125
124126 return OutlinesModel (MockOutlinesAsyncModel (), provider = OutlinesProvider ())
125127
126128
127129@pytest .fixture
128130def transformers_model () -> OutlinesModel :
129- hf_model = transformers .AutoModelForCausalLM .from_pretrained (
131+ hf_model = transformers .AutoModelForCausalLM .from_pretrained ( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
130132 'erwanf/gpt2-mini' ,
131133 device_map = 'cpu' ,
132134 )
133- hf_tokenizer = transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' )
135+ hf_tokenizer = transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' ) # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
134136 chat_template = '{% for message in messages %}{{ message.role }}: {{ message.content }}{% endfor %}'
135137 hf_tokenizer .chat_template = chat_template
136138 outlines_model = outlines .models .transformers .from_transformers (
137- hf_model ,
138- hf_tokenizer ,
139+ hf_model , # pyright: ignore[reportUnknownArgumentType]
140+ hf_tokenizer , # pyright: ignore[reportUnknownArgumentType]
139141 )
140142 return OutlinesModel (outlines_model , provider = OutlinesProvider ())
141143
142144
143145@pytest .fixture
144146def transformers_multimodal_model () -> OutlinesModel :
145- hf_model = transformers .LlavaForConditionalGeneration .from_pretrained (
147+ hf_model = transformers .LlavaForConditionalGeneration .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
146148 'trl-internal-testing/tiny-LlavaForConditionalGeneration' ,
147149 device_map = 'cpu' ,
148150 )
149- hf_processor = transformers .AutoProcessor .from_pretrained ('trl-internal-testing/tiny-LlavaForConditionalGeneration' )
151+ hf_processor = transformers .AutoProcessor .from_pretrained ( # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType]
152+ 'trl-internal-testing/tiny-LlavaForConditionalGeneration'
153+ )
150154 outlines_model = outlines .models .transformers .from_transformers (
151155 hf_model ,
152- hf_processor ,
156+ hf_processor , # pyright: ignore[reportUnknownArgumentType]
153157 )
154158 return OutlinesModel (outlines_model , provider = OutlinesProvider ())
155159
156160
157161@pytest .fixture
158162def llamacpp_model () -> OutlinesModel :
159163 outlines_model_llamacpp = outlines .models .llamacpp .from_llamacpp (
160- llama_cpp .Llama .from_pretrained (
164+ llama_cpp .Llama .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
161165 repo_id = 'M4-ai/TinyMistral-248M-v2-Instruct-GGUF' ,
162166 filename = 'TinyMistral-248M-v2-Instruct.Q4_K_M.gguf' ,
163167 )
@@ -167,7 +171,7 @@ def llamacpp_model() -> OutlinesModel:
167171
168172@pytest .fixture
169173def mlxlm_model () -> OutlinesModel : # pragma: no cover
170- outlines_model = outlines .models .mlxlm .from_mlxlm (* mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' ))
174+ outlines_model = outlines .models .mlxlm .from_mlxlm (* mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' )) # pyright: ignore[reportUnknownMemberType, reportArgumentType, reportUnknownArgumentType]
171175 return OutlinesModel (outlines_model , provider = OutlinesProvider ())
172176
173177
@@ -181,7 +185,7 @@ def sglang_model() -> OutlinesModel:
181185
182186@pytest .fixture
183187def vllm_model_offline () -> OutlinesModel : # pragma: no cover
184- outlines_model = outlines .models .vllm_offline .from_vllm_offline (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ))
188+ outlines_model = outlines .models .vllm_offline .from_vllm_offline (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' )) # pyright: ignore[reportUnknownMemberType, reportUnknownArgumentType]
185189 return OutlinesModel (outlines_model , provider = OutlinesProvider ())
186190
187191
@@ -195,19 +199,19 @@ def binary_image() -> BinaryImage:
195199outlines_parameters = [
196200 pytest .param (
197201 'from_transformers' ,
198- lambda : (
199- transformers .AutoModelForCausalLM .from_pretrained (
202+ lambda : ( # pyright: ignore[reportUnknownLambdaType]
203+ transformers .AutoModelForCausalLM .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
200204 'erwanf/gpt2-mini' ,
201205 device_map = 'cpu' ,
202206 ),
203- transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' ),
207+ transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' ), # pyright: ignore[reportUnknownMemberType]
204208 ),
205209 marks = skip_if_transformers_imports_unsuccessful ,
206210 ),
207211 pytest .param (
208212 'from_llamacpp' ,
209213 lambda : (
210- llama_cpp .Llama .from_pretrained (
214+ llama_cpp .Llama .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
211215 repo_id = 'M4-ai/TinyMistral-248M-v2-Instruct-GGUF' ,
212216 filename = 'TinyMistral-248M-v2-Instruct.Q4_K_M.gguf' ,
213217 ),
@@ -216,7 +220,7 @@ def binary_image() -> BinaryImage:
216220 ),
217221 pytest .param (
218222 'from_mlxlm' ,
219- lambda : mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' ),
223+ lambda : mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' ), # pyright: ignore[reportUnknownMemberType, reportUnknownLambdaType]
220224 marks = skip_if_mlxlm_imports_unsuccessful ,
221225 ),
222226 pytest .param (
@@ -226,7 +230,7 @@ def binary_image() -> BinaryImage:
226230 ),
227231 pytest .param (
228232 'from_vllm_offline' ,
229- lambda : (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ),),
233+ lambda : (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ),), # pyright: ignore[reportUnknownLambdaType, reportUnknownMemberType]
230234 marks = skip_if_vllm_imports_unsuccessful ,
231235 ),
232236]
@@ -254,19 +258,19 @@ def test_init(model_loading_function_name: str, args: Callable[[], tuple[Any]])
254258pydantic_ai_parameters = [
255259 pytest .param (
256260 'from_transformers' ,
257- lambda : (
258- transformers .AutoModelForCausalLM .from_pretrained (
261+ lambda : ( # pyright: ignore[reportUnknownLambdaType]
262+ transformers .AutoModelForCausalLM .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
259263 'erwanf/gpt2-mini' ,
260264 device_map = 'cpu' ,
261265 ),
262- transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' ),
266+ transformers .AutoTokenizer .from_pretrained ('erwanf/gpt2-mini' ), # pyright: ignore[reportUnknownMemberType]
263267 ),
264268 marks = skip_if_transformers_imports_unsuccessful ,
265269 ),
266270 pytest .param (
267271 'from_llamacpp' ,
268272 lambda : (
269- llama_cpp .Llama .from_pretrained (
273+ llama_cpp .Llama .from_pretrained ( # pyright: ignore[reportUnknownMemberType]
270274 repo_id = 'M4-ai/TinyMistral-248M-v2-Instruct-GGUF' ,
271275 filename = 'TinyMistral-248M-v2-Instruct.Q4_K_M.gguf' ,
272276 ),
@@ -275,7 +279,7 @@ def test_init(model_loading_function_name: str, args: Callable[[], tuple[Any]])
275279 ),
276280 pytest .param (
277281 'from_mlxlm' ,
278- lambda : mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' ),
282+ lambda : mlx_lm .load ('mlx-community/SmolLM-135M-Instruct-4bit' ), # pyright: ignore[reportUnknownMemberType, reportUnknownLambdaType]
279283 marks = skip_if_mlxlm_imports_unsuccessful ,
280284 ),
281285 pytest .param (
@@ -285,7 +289,7 @@ def test_init(model_loading_function_name: str, args: Callable[[], tuple[Any]])
285289 ),
286290 pytest .param (
287291 'from_vllm_offline' ,
288- lambda : (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ),),
292+ lambda : (vllm .LLM ('microsoft/Phi-3-mini-4k-instruct' ),), # pyright: ignore[reportUnknownLambdaType, reportUnknownMemberType]
289293 marks = skip_if_vllm_imports_unsuccessful ,
290294 ),
291295]
0 commit comments