Allow readable profile names and configurable KV cache
This commit is contained in:
@@ -39,7 +39,7 @@ class ManagementTests(unittest.TestCase):
|
||||
req.update(id=saved['id'],revision=1)
|
||||
self.profiles.save(req)
|
||||
restarted=Profiles(self.root/'profiles.json',self.catalog)
|
||||
self.assertEqual(restarted.status()['profiles'][0]['parameters'],dict(params,mtp=False,mtp_tokens=2,mtp_min_p=.05,gpu_offload='auto',gpu_reserve_mode='auto',gpu_reserve_mib={},vision_projector=None,vision_device='cpu'))
|
||||
self.assertEqual(restarted.status()['profiles'][0]['parameters'],dict(params,mtp=False,mtp_tokens=2,mtp_min_p=.05,gpu_offload='auto',gpu_reserve_mode='auto',gpu_reserve_mib={},vision_projector=None,vision_device='cpu',cache_type_k='q4_0',cache_type_v='q4_0'))
|
||||
for change in [dict(gpu_offload='unknown'),dict(mtp='yes'),dict(mtp_tokens=0),dict(mtp_tokens=True),dict(mtp_min_p=1.1),dict(gpu_devices=devices*2),dict(tensor_split=[85]),dict(split_mode='none'),dict(top_p=1.1),dict(temperature=float('nan')),dict(top_k=True),dict(tensor_split=[0,100]),dict(gpu_devices=['CUDA0','CUDA1'])]:
|
||||
with self.subTest(change=change),self.assertRaises(ValueError):self.profiles.save(dict(req,revision=2,parameters=dict(params,**change)))
|
||||
|
||||
@@ -49,8 +49,14 @@ class ManagementTests(unittest.TestCase):
|
||||
change=self.request();change.update(id=saved['id'],revision=saved['revision']);change['parameters']['width']=512;other.save(change)
|
||||
with self.assertRaises(ValueError):other.save(change)
|
||||
self.assertEqual(other.status()['profiles'][0]['parameters']['width'],512)
|
||||
def test_readable_api_profile_name(self):
|
||||
row=self.profiles.save(dict(self.request(),name='Qwen3.8 27B MEDIUM'))
|
||||
self.assertEqual(row['name'],'Qwen3.8 27B MEDIUM')
|
||||
self.assertEqual(Profiles(self.root/'profiles.json',self.catalog).status()['profiles'][0]['name'],row['name'])
|
||||
for bad in (' Qwen','Qwen ','Qwen/Medium','Qwen\nMedium'):
|
||||
with self.subTest(bad=bad),self.assertRaises(ValueError):self.profiles.save(dict(self.request(),name=bad))
|
||||
def test_profile_rejects_invalid_model_kind_parameters(self):
|
||||
for change in [dict(model_id='../secrets'),dict(kind='chat'),dict(name='bad name')]:
|
||||
for change in [dict(model_id='../secrets'),dict(kind='chat'),dict(name='bad/name')]:
|
||||
with self.subTest(change=change),self.assertRaises(ValueError):self.profiles.save(dict(self.request(),**change))
|
||||
for key,value in [('width',1000),('steps',True),('guidance',float('nan')),('seed',-2)]:
|
||||
req=self.request();req['parameters'][key]=value
|
||||
|
||||
Reference in New Issue
Block a user