fix: harden task recovery and DR contract handling

This commit is contained in:
2026-09-20 13:36:48 +08:00
parent 492676344a
commit f9d8feb6f0
49 changed files with 2083 additions and 165 deletions
+19 -1
View File
@@ -4,10 +4,28 @@ loader is a deployment-pinned callable returning the already loaded model.
No guessed vendor import, checkpoint download, remote code execution flag or CUDA map.
"""
import importlib
import re
def create(config):
if not isinstance(config,dict) or not isinstance(config.get('loader'),str) or not re.fullmatch(r'[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*:[A-Za-z_]\w*',config['loader']):
raise ValueError('loader must name a deployment-provided module:callable')
mapping=config.get('task_mapping')
if not isinstance(mapping,dict) or not mapping or any(not isinstance(value,str) or not value.strip() for value in mapping.values()):
raise ValueError('task_mapping must contain deployment-validated model tasks')
if 'dense_feedback' in mapping:
raise ValueError('dense feedback requires a deployment-provided multi-frame adapter; this adapter accepts a single image')
if set(mapping)-{'plan','shelf','localize3d'}:
raise ValueError('unsupported capability in task_mapping')
if not isinstance(config.get('model'),dict):
raise ValueError('model must contain deployment-provided loading configuration')
module,name=config['loader'].split(':',1)
model=getattr(importlib.import_module(module),name)(config['model'])
try:loader=getattr(importlib.import_module(module),name)
except (ImportError,AttributeError) as ex:
raise ValueError('deployment model loader unavailable: '+config['loader']) from ex
if not callable(loader):raise ValueError('deployment model loader is not callable')
model=loader(config['model'])
if not callable(getattr(model,'inference',None)):
raise ValueError('deployment model must expose inference(prompt, image, task=...)')
def infer(request):
capability=request['capability']
task=config.get('task_mapping',{}).get(capability)