From 63ecdcbb1854c96c2bc930491c3270529e6fd8fc Mon Sep 17 00:00:00 2001 From: Antonin Vidon Date: Fri, 13 Mar 2026 02:09:47 -0400 Subject: [PATCH] Expose async LoRA interface to Offline Engine (#18636) --- python/sglang/srt/entrypoints/engine.py | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/python/sglang/srt/entrypoints/engine.py b/python/sglang/srt/entrypoints/engine.py index 87c8c0a19..dc1efbfc6 100644 --- a/python/sglang/srt/entrypoints/engine.py +++ b/python/sglang/srt/entrypoints/engine.py @@ -945,6 +945,34 @@ class Engine(EngineBase): self.tokenizer_manager.unload_lora_adapter(obj, None) ) + async def async_load_lora_adapter( + self, lora_name: str, lora_path: str, pinned: bool = False + ): + """ + Asynchronous version of load_lora_adapter. + + See load_lora_adapter() for detailed documentation. + """ + + obj = LoadLoRAAdapterReqInput( + lora_name=lora_name, + lora_path=lora_path, + pinned=pinned, + ) + + return await self.tokenizer_manager.load_lora_adapter(obj, None) + + async def async_unload_lora_adapter(self, lora_name: str): + """ + Asynchronous version of unload_lora_adapter. + + See unload_lora_adapter() for detailed documentation. + """ + + obj = UnloadLoRAAdapterReqInput(lora_name=lora_name) + + return await self.tokenizer_manager.unload_lora_adapter(obj, None) + def release_memory_occupation(self, tags: Optional[List[str]] = None): obj = ReleaseMemoryOccupationReqInput(tags=tags) return self.loop.run_until_complete(