Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
change
sglang
Commits
ce3a3e87
Unverified
Commit
ce3a3e87
authored
Jun 27, 2025
by
Lianmin Zheng
Committed by
GitHub
Jun 27, 2025
Browse files
Move multimodal processors into a separate folder (#7581)
parent
41650b0d
Changes
29
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
31 additions
and
56 deletions
+31
-56
python/sglang/math_utils.py
python/sglang/math_utils.py
+0
-8
python/sglang/srt/configs/janus_pro.py
python/sglang/srt/configs/janus_pro.py
+1
-1
python/sglang/srt/layers/moe/ep_moe/kernels.py
python/sglang/srt/layers/moe/ep_moe/kernels.py
+1
-2
python/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py
python/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py
+1
-2
python/sglang/srt/layers/quantization/fp8_kernel.py
python/sglang/srt/layers/quantization/fp8_kernel.py
+1
-1
python/sglang/srt/layers/quantization/fp8_utils.py
python/sglang/srt/layers/quantization/fp8_utils.py
+1
-2
python/sglang/srt/managers/io_struct.py
python/sglang/srt/managers/io_struct.py
+1
-1
python/sglang/srt/managers/mm_utils.py
python/sglang/srt/managers/mm_utils.py
+0
-2
python/sglang/srt/managers/multimodal_processor.py
python/sglang/srt/managers/multimodal_processor.py
+2
-4
python/sglang/srt/models/llava.py
python/sglang/srt/models/llava.py
+5
-5
python/sglang/srt/multimodal/mm_utils.py
python/sglang/srt/multimodal/mm_utils.py
+0
-0
python/sglang/srt/multimodal/processors/base_processor.py
python/sglang/srt/multimodal/processors/base_processor.py
+0
-0
python/sglang/srt/multimodal/processors/clip.py
python/sglang/srt/multimodal/processors/clip.py
+1
-3
python/sglang/srt/multimodal/processors/deepseek_vl_v2.py
python/sglang/srt/multimodal/processors/deepseek_vl_v2.py
+3
-3
python/sglang/srt/multimodal/processors/gemma3.py
python/sglang/srt/multimodal/processors/gemma3.py
+1
-3
python/sglang/srt/multimodal/processors/gemma3n.py
python/sglang/srt/multimodal/processors/gemma3n.py
+1
-3
python/sglang/srt/multimodal/processors/internvl.py
python/sglang/srt/multimodal/processors/internvl.py
+3
-3
python/sglang/srt/multimodal/processors/janus_pro.py
python/sglang/srt/multimodal/processors/janus_pro.py
+3
-3
python/sglang/srt/multimodal/processors/kimi_vl.py
python/sglang/srt/multimodal/processors/kimi_vl.py
+4
-6
python/sglang/srt/multimodal/processors/llava.py
python/sglang/srt/multimodal/processors/llava.py
+2
-4
No files found.
python/sglang/math_utils.py
deleted
100644 → 0
View file @
41650b0d
# COPIED FROM DeepGEMM
def
align
(
x
:
int
,
y
:
int
)
->
int
:
return
ceil_div
(
x
,
y
)
*
y
# COPIED FROM DeepGEMM
def
ceil_div
(
x
:
int
,
y
:
int
)
->
int
:
return
(
x
+
y
-
1
)
//
y
python/sglang/srt/configs/janus_pro.py
View file @
ce3a3e87
...
...
@@ -19,7 +19,7 @@ from transformers import (
from
transformers.image_utils
import
to_numpy_array
from
sglang.srt.configs.utils
import
register_image_processor
,
register_processor
from
sglang.srt.mm_utils
import
expand2square
from
sglang.srt.
multimodal.
mm_utils
import
expand2square
class
DictToObject
(
dict
):
...
...
python/sglang/srt/layers/moe/ep_moe/kernels.py
View file @
ce3a3e87
...
...
@@ -4,9 +4,8 @@ from typing import List, Optional
import
torch
import
triton
from
sglang.math_utils
import
ceil_div
from
sglang.srt.layers.quantization.fp8_kernel
import
per_token_group_quant_fp8
from
sglang.srt.utils
import
dispose_tensor
,
is_cuda
from
sglang.srt.utils
import
ceil_div
,
dispose_tensor
,
is_cuda
logger
=
logging
.
getLogger
(
__name__
)
...
...
python/sglang/srt/layers/moe/fused_moe_triton/fused_moe.py
View file @
ce3a3e87
...
...
@@ -12,7 +12,6 @@ import torch
import
triton
import
triton.language
as
tl
from
sglang.math_utils
import
ceil_div
from
sglang.srt.layers.moe.topk
import
select_experts
from
sglang.srt.layers.quantization.fp8_kernel
import
(
per_token_group_quant_fp8
,
...
...
@@ -25,6 +24,7 @@ from sglang.srt.layers.quantization.int8_kernel import (
sglang_per_token_group_quant_int8
,
)
from
sglang.srt.utils
import
(
ceil_div
,
cpu_has_amx_support
,
direct_register_custom_op
,
get_bool_env_var
,
...
...
@@ -32,7 +32,6 @@ from sglang.srt.utils import (
is_cpu
,
is_cuda
,
is_hip
,
log_info_on_rank0
,
next_power_of_2
,
)
...
...
python/sglang/srt/layers/quantization/fp8_kernel.py
View file @
ce3a3e87
...
...
@@ -23,9 +23,9 @@ import torch
import
triton
import
triton.language
as
tl
from
sglang.math_utils
import
align
from
sglang.srt.layers.quantization
import
deep_gemm_wrapper
from
sglang.srt.utils
import
(
align
,
direct_register_custom_op
,
get_device_core_count
,
get_device_name
,
...
...
python/sglang/srt/layers/quantization/fp8_utils.py
View file @
ce3a3e87
from
typing
import
Callable
,
List
,
Optional
,
Tuple
import
einops
import
torch
from
sglang.math_utils
import
align
from
sglang.srt.layers.quantization
import
deep_gemm_wrapper
from
sglang.srt.layers.quantization.fp8_kernel
import
sglang_per_token_group_quant_fp8
from
sglang.srt.layers.utils
import
is_sm100_supported
...
...
@@ -27,6 +25,7 @@ from sglang.srt.layers.quantization.fp8_kernel import (
w8a8_block_fp8_matmul_triton
,
)
from
sglang.srt.utils
import
(
align
,
get_bool_env_var
,
get_cuda_version
,
get_device_capability
,
...
...
python/sglang/srt/managers/io_struct.py
View file @
ce3a3e87
...
...
@@ -22,7 +22,7 @@ from dataclasses import dataclass, field
from
enum
import
Enum
from
typing
import
TYPE_CHECKING
,
Any
,
Dict
,
List
,
Optional
,
Union
from
sglang.srt.mm_utils
import
has_valid_data
from
sglang.srt.
multimodal.
mm_utils
import
has_valid_data
# handle serialization of Image for pydantic
if
TYPE_CHECKING
:
...
...
python/sglang/srt/managers/mm_utils.py
View file @
ce3a3e87
...
...
@@ -2,8 +2,6 @@
Multi-modality utils
"""
import
dataclasses
import
logging
from
abc
import
abstractmethod
from
typing
import
Callable
,
List
,
Optional
,
Tuple
...
...
python/sglang/srt/managers/multimodal_processor.py
View file @
ce3a3e87
...
...
@@ -5,9 +5,7 @@ import logging
import
pkgutil
from
functools
import
lru_cache
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
BaseMultimodalProcessor
,
)
from
sglang.srt.multimodal.processors.base_processor
import
BaseMultimodalProcessor
from
sglang.srt.server_args
import
ServerArgs
logger
=
logging
.
getLogger
(
__name__
)
...
...
@@ -29,7 +27,7 @@ def get_dummy_processor():
@
lru_cache
()
def
import_processors
():
package_name
=
"sglang.srt.
managers.
multimodal
_
processors"
package_name
=
"sglang.srt.multimodal
.
processors"
package
=
importlib
.
import_module
(
package_name
)
for
_
,
name
,
ispkg
in
pkgutil
.
iter_modules
(
package
.
__path__
,
package_name
+
"."
):
if
not
ispkg
:
...
...
python/sglang/srt/models/llava.py
View file @
ce3a3e87
...
...
@@ -41,16 +41,16 @@ from sglang.srt.managers.schedule_batch import (
MultimodalDataItem
,
MultimodalInputs
,
)
from
sglang.srt.mm_utils
import
(
get_anyres_image_grid_shape
,
unpad_image
,
unpad_image_shape
,
)
from
sglang.srt.model_executor.forward_batch_info
import
ForwardBatch
from
sglang.srt.model_loader.weight_utils
import
default_weight_loader
from
sglang.srt.models.llama
import
LlamaForCausalLM
from
sglang.srt.models.mistral
import
MistralForCausalLM
from
sglang.srt.models.qwen2
import
Qwen2ForCausalLM
from
sglang.srt.multimodal.mm_utils
import
(
get_anyres_image_grid_shape
,
unpad_image
,
unpad_image_shape
,
)
from
sglang.srt.utils
import
add_prefix
,
flatten_nested_list
,
logger
...
...
python/sglang/srt/mm_utils.py
→
python/sglang/srt/
multimodal/
mm_utils.py
View file @
ce3a3e87
File moved
python/sglang/srt/
managers/
multimodal
_
processors/base_processor.py
→
python/sglang/srt/multimodal
/
processors/base_processor.py
View file @
ce3a3e87
File moved
python/sglang/srt/
managers/
multimodal
_
processors/clip.py
→
python/sglang/srt/multimodal
/
processors/clip.py
View file @
ce3a3e87
from
typing
import
List
,
Union
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
BaseMultimodalProcessor
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.clip
import
CLIPModel
from
sglang.srt.multimodal.processors.base_processor
import
BaseMultimodalProcessor
from
sglang.srt.utils
import
load_image
...
...
python/sglang/srt/
managers/
multimodal
_
processors/deepseek_vl_v2.py
→
python/sglang/srt/multimodal
/
processors/deepseek_vl_v2.py
View file @
ce3a3e87
...
...
@@ -20,12 +20,12 @@ from typing import List, Union
import
torch
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.deepseek_vl2
import
DeepseekVL2ForCausalLM
from
sglang.srt.multimodal.processors.base_processor
import
(
BaseMultimodalProcessor
,
MultimodalSpecialTokens
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.deepseek_vl2
import
DeepseekVL2ForCausalLM
class
DeepseekVL2ImageProcessor
(
BaseMultimodalProcessor
):
...
...
python/sglang/srt/
managers/
multimodal
_
processors/gemma3.py
→
python/sglang/srt/multimodal
/
processors/gemma3.py
View file @
ce3a3e87
...
...
@@ -4,11 +4,9 @@ from typing import Dict, List, Union
from
sglang.srt.managers.multimodal_processor
import
(
BaseMultimodalProcessor
as
SGLangBaseProcessor
,
)
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
MultimodalSpecialTokens
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.gemma3_mm
import
Gemma3ForConditionalGeneration
from
sglang.srt.multimodal.processors.base_processor
import
MultimodalSpecialTokens
# Copied from: https://github.com/huggingface/transformers/blob/main/src/transformers/models/gemma3/image_processing_gemma3_fast.py
# will be removed in the future
...
...
python/sglang/srt/
managers/
multimodal
_
processors/gemma3n.py
→
python/sglang/srt/multimodal
/
processors/gemma3n.py
View file @
ce3a3e87
...
...
@@ -18,10 +18,8 @@ from typing import Dict, List, Optional, Union
from
sglang.srt.managers.multimodal_processor
import
(
BaseMultimodalProcessor
as
SGLangBaseProcessor
,
)
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
MultimodalSpecialTokens
,
)
from
sglang.srt.models.gemma3n_mm
import
Gemma3nForConditionalGeneration
from
sglang.srt.multimodal.processors.base_processor
import
MultimodalSpecialTokens
class
Gemma3nSGLangProcessor
(
SGLangBaseProcessor
):
...
...
python/sglang/srt/
managers/
multimodal
_
processors/internvl.py
→
python/sglang/srt/multimodal
/
processors/internvl.py
View file @
ce3a3e87
...
...
@@ -5,12 +5,12 @@ import torch
from
decord
import
VideoReader
,
cpu
from
PIL
import
Image
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.internvl
import
InternVLChatModel
from
sglang.srt.multimodal.processors.base_processor
import
(
BaseMultimodalProcessor
,
MultimodalSpecialTokens
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.internvl
import
InternVLChatModel
class
InternVLImageProcessor
(
BaseMultimodalProcessor
):
...
...
python/sglang/srt/
managers/
multimodal
_
processors/janus_pro.py
→
python/sglang/srt/multimodal
/
processors/janus_pro.py
View file @
ce3a3e87
from
typing
import
List
,
Union
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.deepseek_janus_pro
import
MultiModalityCausalLM
from
sglang.srt.multimodal.processors.base_processor
import
(
BaseMultimodalProcessor
,
MultimodalSpecialTokens
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.deepseek_janus_pro
import
MultiModalityCausalLM
class
JanusProImageProcessor
(
BaseMultimodalProcessor
):
...
...
python/sglang/srt/
managers/
multimodal
_
processors/kimi_vl.py
→
python/sglang/srt/multimodal
/
processors/kimi_vl.py
View file @
ce3a3e87
...
...
@@ -3,14 +3,12 @@ from typing import Any, Dict, List, Optional, Union
import
torch
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
BaseMultimodalProcessor
as
SGLangBaseProcessor
,
)
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
MultimodalSpecialTokens
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.models.kimi_vl
import
KimiVLForConditionalGeneration
from
sglang.srt.multimodal.processors.base_processor
import
(
BaseMultimodalProcessor
as
SGLangBaseProcessor
,
)
from
sglang.srt.multimodal.processors.base_processor
import
MultimodalSpecialTokens
# Compatible with KimiVLForConditionalGeneration
...
...
python/sglang/srt/
managers/
multimodal
_
processors/llava.py
→
python/sglang/srt/multimodal
/
processors/llava.py
View file @
ce3a3e87
...
...
@@ -7,11 +7,7 @@ from transformers.models.auto.processing_auto import (
)
import
sglang.srt.managers.multimodal_processor
as
sgl_mm_processor_utils
from
sglang.srt.managers.multimodal_processors.base_processor
import
(
BaseMultimodalProcessor
,
)
from
sglang.srt.managers.schedule_batch
import
Modality
,
MultimodalDataItem
from
sglang.srt.mm_utils
import
expand2square
,
process_anyres_image
from
sglang.srt.models.llava
import
(
LlavaForConditionalGeneration
,
LlavaLlamaForCausalLM
,
...
...
@@ -20,6 +16,8 @@ from sglang.srt.models.llava import (
)
from
sglang.srt.models.llavavid
import
LlavaVidForCausalLM
from
sglang.srt.models.mistral
import
Mistral3ForConditionalGeneration
from
sglang.srt.multimodal.mm_utils
import
expand2square
,
process_anyres_image
from
sglang.srt.multimodal.processors.base_processor
import
BaseMultimodalProcessor
from
sglang.srt.utils
import
load_image
,
logger
from
sglang.utils
import
get_exception_traceback
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment