"""Adapter for the inference(prompt, image, task=...) API shown in module DR. 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) 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) if task is None:raise ValueError('capability has no validated model task mapping') image=request.get('observation',{}).get('image_path') return model.inference(request['prompt'],image,task=task,do_sample=False) return infer