Skip to content

Commit 5dc857e

Browse files
authored
Merge pull request #150 from ollama/mxyng/quantization
add quantization to create requests
2 parents 3b69774 + 309007d commit 5dc857e

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

ollama/_client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ def create(
255255
model: str,
256256
path: Optional[Union[str, PathLike]] = None,
257257
modelfile: Optional[str] = None,
258+
quantize: Optional[str] = None,
258259
stream: bool = False,
259260
) -> Union[Mapping[str, Any], Iterator[Mapping[str, Any]]]:
260261
"""
@@ -276,6 +277,7 @@ def create(
276277
'name': model,
277278
'modelfile': modelfile,
278279
'stream': stream,
280+
'quantize': quantize,
279281
},
280282
stream=stream,
281283
)
@@ -537,6 +539,7 @@ async def create(
537539
model: str,
538540
path: Optional[Union[str, PathLike]] = None,
539541
modelfile: Optional[str] = None,
542+
quantize: Optional[str] = None,
540543
stream: bool = False,
541544
) -> Union[Mapping[str, Any], AsyncIterator[Mapping[str, Any]]]:
542545
"""
@@ -558,6 +561,7 @@ async def create(
558561
'name': model,
559562
'modelfile': modelfile,
560563
'stream': stream,
564+
'quantize': quantize,
561565
},
562566
stream=stream,
563567
)

tests/test_client.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ def test_client_create_path(httpserver: HTTPServer):
334334
'name': 'dummy',
335335
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
336336
'stream': False,
337+
'quantize': None,
337338
},
338339
).respond_with_json({})
339340

@@ -357,6 +358,7 @@ def test_client_create_path_relative(httpserver: HTTPServer):
357358
'name': 'dummy',
358359
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
359360
'stream': False,
361+
'quantize': None,
360362
},
361363
).respond_with_json({})
362364

@@ -389,6 +391,7 @@ def test_client_create_path_user_home(httpserver: HTTPServer, userhomedir):
389391
'name': 'dummy',
390392
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
391393
'stream': False,
394+
'quantize': None,
392395
},
393396
).respond_with_json({})
394397

@@ -412,6 +415,7 @@ def test_client_create_modelfile(httpserver: HTTPServer):
412415
'name': 'dummy',
413416
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
414417
'stream': False,
418+
'quantize': None,
415419
},
416420
).respond_with_json({})
417421

@@ -442,6 +446,7 @@ def test_client_create_modelfile_roundtrip(httpserver: HTTPServer):
442446
PARAMETER stop <<SYS>>
443447
PARAMETER stop <</SYS>>''',
444448
'stream': False,
449+
'quantize': None,
445450
},
446451
).respond_with_json({})
447452

@@ -478,6 +483,7 @@ def test_client_create_from_library(httpserver: HTTPServer):
478483
'name': 'dummy',
479484
'modelfile': 'FROM llama2',
480485
'stream': False,
486+
'quantize': None,
481487
},
482488
).respond_with_json({})
483489

@@ -798,6 +804,7 @@ async def test_async_client_create_path(httpserver: HTTPServer):
798804
'name': 'dummy',
799805
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
800806
'stream': False,
807+
'quantize': None,
801808
},
802809
).respond_with_json({})
803810

@@ -822,6 +829,7 @@ async def test_async_client_create_path_relative(httpserver: HTTPServer):
822829
'name': 'dummy',
823830
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
824831
'stream': False,
832+
'quantize': None,
825833
},
826834
).respond_with_json({})
827835

@@ -846,6 +854,7 @@ async def test_async_client_create_path_user_home(httpserver: HTTPServer, userho
846854
'name': 'dummy',
847855
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
848856
'stream': False,
857+
'quantize': None,
849858
},
850859
).respond_with_json({})
851860

@@ -870,6 +879,7 @@ async def test_async_client_create_modelfile(httpserver: HTTPServer):
870879
'name': 'dummy',
871880
'modelfile': 'FROM @sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\n',
872881
'stream': False,
882+
'quantize': None,
873883
},
874884
).respond_with_json({})
875885

@@ -901,6 +911,7 @@ async def test_async_client_create_modelfile_roundtrip(httpserver: HTTPServer):
901911
PARAMETER stop <<SYS>>
902912
PARAMETER stop <</SYS>>''',
903913
'stream': False,
914+
'quantize': None,
904915
},
905916
).respond_with_json({})
906917

@@ -938,6 +949,7 @@ async def test_async_client_create_from_library(httpserver: HTTPServer):
938949
'name': 'dummy',
939950
'modelfile': 'FROM llama2',
940951
'stream': False,
952+
'quantize': None,
941953
},
942954
).respond_with_json({})
943955

0 commit comments

Comments
 (0)