Separate modality model lists and forward chat reasoning effort
This commit is contained in:
+18
-1
@@ -55,6 +55,23 @@ 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_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))
|
||||
for name in ('alpha','image','audio','stt'):self.enable(name)
|
||||
for route,expected in [('/v1/models','alpha'),('/v1/images/models','image'),('/v1/audio/speech/models','audio'),('/v1/audio/transcriptions/models','stt')]:
|
||||
self.assertEqual([p['id'] for p in self.request(route)[1]['data']],[expected])
|
||||
self.assertEqual(self.request(route,token='bad')[0],401)
|
||||
self.rows[-1]['runnable']=False
|
||||
self.assertEqual(self.request('/v1/audio/transcriptions/models')[1]['data'],[])
|
||||
def test_reasoning_effort_forwarded_and_validated(self):
|
||||
self.enable('alpha')
|
||||
for effort in ('none','minimal','low','medium','high','xhigh',None):
|
||||
status,_=self.request('/v1/chat/completions',dict(model='alpha',messages=[dict(role='user',content='synthetic')],reasoning_effort=effort))
|
||||
self.assertEqual(status,200)
|
||||
self.assertEqual(self.worker.requests[-1].get('reasoning_effort'),effort)
|
||||
for effort in ([],True,3,'invalid'):
|
||||
self.assertEqual(self.request('/v1/chat/completions',dict(model='alpha',messages=[dict(role='user',content='synthetic')],reasoning_effort=effort))[0],400)
|
||||
def test_stt_endpoint_multipart_and_publication(self):
|
||||
from test_stt import audio
|
||||
self.rows.append(dict(id='stt',name='stt',kind='stt',runnable=True,blockers=[],parameters={}))
|
||||
@@ -78,7 +95,7 @@ class EndpointTests(unittest.TestCase):
|
||||
self.rows.append(dict(self.rows[2],id='image2',name='image2'))
|
||||
self.enable('alpha');self.enable('beta');self.enable('image');self.enable('image2')
|
||||
self.assertEqual(set(self.ep.config['enabled_profiles']),{'alpha','beta','image2'})
|
||||
self.assertEqual({r['id'] for r in self.request()[1]['data']},{'alpha','beta','image2'})
|
||||
self.assertEqual({r['id'] for r in self.request()[1]['data']},{'alpha','beta'})
|
||||
self.ep.enable(dict(id='image2',enabled=False));self.assertEqual(set(self.ep.config['enabled_profiles']),{'alpha','beta'})
|
||||
def test_invalid_image_selection_keeps_previous(self):
|
||||
self.rows.append(dict(self.rows[2],id='badimage',name='badimage',runnable=False,blockers=['missing']))
|
||||
|
||||
Reference in New Issue
Block a user