Expose model capability hints and configurable vision projector placement
This commit is contained in:
@@ -26,7 +26,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'))
|
||||
self.assertEqual(restarted.status()['profiles'][0]['parameters'],dict(params,mtp=False,mtp_tokens=2,mtp_min_p=.05,gpu_offload='auto',vision_projector=None,vision_device='cpu'))
|
||||
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)))
|
||||
|
||||
@@ -97,7 +97,7 @@ class ManagementTests(unittest.TestCase):
|
||||
with self.assertRaises(ValueError):restarted.save(request)
|
||||
def test_auxiliary_files_cannot_be_profile_models(self):
|
||||
from catalog import file_role
|
||||
for name,role in [('text_encoders/qwen3vl_8b_int8_convrot.safetensors','text_encoder'),('vae/qwen_image_2.1_vae_bf16.safetensors','vae'),('qwen_image_vae.safetensors','vae'),('mmproj-model.gguf','auxiliary')]:
|
||||
for name,role in [('text_encoders/qwen3vl_8b_int8_convrot.safetensors','text_encoder'),('vae/qwen_image_2.1_vae_bf16.safetensors','vae'),('qwen_image_vae.safetensors','vae'),('mmproj-model.gguf','vision_projector')]:
|
||||
with self.subTest(name=name):
|
||||
self.assertEqual(file_role(name)['role'],role)
|
||||
path=self.root/'models'/self.model_id/'entry.json';data=json.loads(path.read_text());data['file']=name;path.write_text(json.dumps(data))
|
||||
|
||||
Reference in New Issue
Block a user