Add profile presets and min-p controls, embeddings and VoxCPM workers
This commit is contained in:
1 parent
74dd2ed8ba
commit
a7b30b62d2
32 files changed
+615
-64
No files matched your search
@@ -103,6 +103,17 @@ class EndpointTests(unittest.TestCase):
|
||||
with self.assertRaises(ValueError):self.enable('audio')
|
||||
self.assertEqual(self.request('/v1/audio/speech',{})[0],501)
|
||||
self.record['api_token_hash']=hashlib.sha256(b'B'*32).hexdigest();self.assertEqual(self.request()[0],401);self.assertEqual(self.request(token='B'*32)[0],200)
|
||||
def test_embeddings_are_separate_and_work_in_video_mode(self):
|
||||
self.rows.append(dict(id='embed',name='embeddinggemma',kind='embeddings',revision=1,runnable=True,blockers=[],parameters={},updated_at=1))
|
||||
self.enable('embed');self.ep.embeddings=Mock()
|
||||
self.ep.embeddings.generate.return_value={'object':'list','data':[{'index':0,'embedding':[.1,.2]}]}
|
||||
self.assertEqual(self.request()[1]['data'],[])
|
||||
self.assertEqual(self.request('/v1/embeddings/models')[1]['data'][0]['id'],'embeddinggemma')
|
||||
self.ep.scheduler.gpu_mode='video';self.ep.video=Mock()
|
||||
self.assertEqual(self.request('/v1/embeddings',{'model':'embeddinggemma','input':'synthetic test'})[0],200)
|
||||
self.assertEqual(self.request('/v1/embeddings',{'model':'embeddinggemma','input':[]})[0],400)
|
||||
self.assertEqual(self.request('/v1/embeddings',{'model':'embeddinggemma','input':'test'},token='bad')[0],401)
|
||||
self.ep.video=None
|
||||
def test_model_lists_separate_modalities(self):
|
||||
self.rows[-1].update(runnable=True,blockers=[])
|
||||
self.rows.append(dict(id='stt',name='stt',kind='stt',runnable=True,blockers=[],parameters={},updated_at=1))
|
||||
@@ -223,6 +234,14 @@ class EndpointTests(unittest.TestCase):
|
||||
self.assertEqual(status,200);self.assertEqual(data['model'],name)
|
||||
self.assertEqual(self.worker.stopped,['alpha']);self.assertEqual(self.worker.requests[-1]['temperature'],.2)
|
||||
self.assertEqual(self.ep.status()['counts']['llm']['enabled'],2)
|
||||
def test_profile_min_p_and_client_override(self):
|
||||
self.enable('alpha');self.rows[0]['parameters']['min_p']=0.0
|
||||
request=dict(model='alpha',messages=[dict(role='user',content='synthetic')])
|
||||
self.assertEqual(self.request('/v1/chat/completions',request)[0],200)
|
||||
self.assertEqual(self.worker.requests[-1]['min_p'],0.0)
|
||||
self.assertEqual(self.request('/v1/chat/completions',dict(request,min_p=.1))[0],200)
|
||||
self.assertEqual(self.worker.requests[-1]['min_p'],.1)
|
||||
self.assertEqual(self.request('/v1/chat/completions',dict(request,min_p=-.1))[0],400)
|
||||
def test_profile_penalties_and_explicit_client_override(self):
|
||||
self.enable('alpha')
|
||||
self.rows[0]['parameters'].update(repeat_penalty=1.15,presence_penalty=.5,frequency_penalty=.2)
|
||||
|
||||
Reference in new issue
Block a user