diff --git a/components/src/dynamo/sglang/request_handlers/handler_base.py b/components/src/dynamo/sglang/request_handlers/handler_base.py index 524fc282e219..005b023b6f09 100644 --- a/components/src/dynamo/sglang/request_handlers/handler_base.py +++ b/components/src/dynamo/sglang/request_handlers/handler_base.py @@ -413,6 +413,18 @@ async def load_lora(self, request: Optional[Dict[str, Any]] = None): else: lora_worker_type = WorkerType.Aggregated lora_needs = [] + + # Reuse the base-model metadata builder so LoRA + # cards advertise the same token-overflow policy, + # parser configuration, and routing capabilities. + # Lazy import: static test collection lacks parts of SGLang. + from dynamo.sglang.register import _get_runtime_config + + runtime_config = await _get_runtime_config( + self.engine, + self.config.server_args, + self.config.dynamo_args, + ) await register_llm( model_input=ModelInput.Tokens, model_type=lora_model_type, @@ -424,6 +436,7 @@ async def load_lora(self, request: Optional[Dict[str, Any]] = None): base_model_path=self.config.server_args.model_path, worker_type=lora_worker_type, needs=lora_needs, + runtime_config=runtime_config, # Publish the worker's per-worker LoRA slot budget so the frontend # allocator sizes placement against real capacity instead of the # hard-coded default.