Lazily import lora backends (#4225)

This commit is contained in:
Lianmin Zheng
2025-03-08 23:39:26 -08:00
committed by GitHub
parent 5c7dd14ba1
commit 1361ab9e03

View File

@@ -1,23 +1,20 @@
from .base_backend import BaseLoRABackend
from .flashinfer_backend import FlashInferLoRABackend
from .triton_backend import TritonLoRABackend
from sglang.srt.lora.backend.base_backend import BaseLoRABackend
def get_backend_from_name(name: str) -> BaseLoRABackend:
"""
Get corresponding backend class from backend's name
"""
backend_mapping = {
"triton": TritonLoRABackend,
"flashinfer": FlashInferLoRABackend,
}
if name == "triton":
from sglang.srt.lora.backend.triton_backend import TritonLoRABackend
if name in backend_mapping:
return backend_mapping[name]
return TritonLoRABackend
elif name == "flashinfer":
from sglang.srt.lora.backend.flashinfer_backend import FlashInferLoRABackend
raise Exception(
f"No supported lora backend called {name}. It should be one of {list(backend_mapping.keys())}"
)
return FlashInferLoRABackend
else:
raise ValueError(f"Invalid backend: {name}")
__all__ = [