Expose profile context metadata for llama.cpp model discovery
This commit is contained in:
1 parent
a7b30b62d2
commit
1f8ffe2e72
3 files changed
+61
-2
No files matched your search
+20
-1
@@ -61,6 +61,25 @@ class EndpointTests(unittest.TestCase):
|
||||
def request(self,path='/v1/models',data=None,token='A'*32):
|
||||
conn=http.client.HTTPConnection('127.0.0.1',self.port,timeout=5);headers={'Content-Type':'application/json','Authorization':'Bearer '+token}
|
||||
conn.request('POST' if data is not None else 'GET',path,body=json.dumps(data) if data is not None else None,headers=headers);r=conn.getresponse();body=r.read();conn.close();return r.status,(body if data and data.get('stream') else json.loads(body))
|
||||
def test_discovery_reports_profile_context_without_loading(self):
|
||||
self.rows[0]['parameters'].update(context=160000,slots=2)
|
||||
self.rows[0]['model']={'repo':'Qwen/Qwen3.8-27B'}
|
||||
self.enable('alpha')
|
||||
self.ep.scheduler.gpu_mode='separator'
|
||||
status,listing=self.request('/models')
|
||||
self.assertEqual(status,200)
|
||||
self.assertEqual(listing['data'][0]['context_window'],160000)
|
||||
status,props=self.request('/props?model=alpha&autoload=false')
|
||||
self.assertEqual(status,200)
|
||||
self.assertEqual(props['default_generation_settings']['n_ctx'],160000)
|
||||
self.assertEqual(props['total_slots'],2)
|
||||
self.assertTrue(props['chat_template_caps']['supports_tool_calls'])
|
||||
self.rows[0]['parameters']['context']=32768
|
||||
self.assertEqual(self.request('/props?model=alpha&autoload=false')[1]['n_ctx'],32768)
|
||||
self.assertEqual(self.request('/props?model=beta&autoload=false')[0],404)
|
||||
self.assertEqual(self.request('/props?model=alpha',token='bad')[0],401)
|
||||
self.assertFalse(self.worker.started)
|
||||
|
||||
def test_status_allows_video_callback_to_read_endpoint_from_other_thread(self):
|
||||
finished=threading.Event();readers=[]
|
||||
def video_status():
|
||||
@@ -95,7 +114,7 @@ class EndpointTests(unittest.TestCase):
|
||||
status,error=self.request('/v1/chat/completions',dict(model='alpha',messages=[dict(role='user',content='Synthetic')]))
|
||||
self.assertEqual(status,503);self.assertEqual(error['error']['code'],'separator_mode_active')
|
||||
self.assertEqual(self.worker.started,[]);self.ep.video.relay.assert_not_called()
|
||||
self.assertEqual(self.request('/v1/models')[0],503)
|
||||
self.assertEqual(self.request('/v1/models')[0],200)
|
||||
def enable(self,name):self.ep.enable(dict(id=name,enabled=True))
|
||||
def test_explicit_publication_auth_rotation_and_missing_audio(self):
|
||||
self.assertEqual(self.request()[1]['data'],[]);self.assertEqual(self.request(token='bad')[0],401)
|
||||
|
||||
Reference in new issue
Block a user