[Feature][MM] split the images of one request into multiparts (#11828)

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>
Signed-off-by: Kun(llfl) <i@imux.top>
Signed-off-by: Xuchun Shang <xuchun.shang@gmail.com>
Co-authored-by: Teng Ma <sima.mt@alibaba-inc.com>
Co-authored-by: Kun(llfl) <llfl@linux.alibaba.com>
Co-authored-by: Kun(llfl) <i@imux.top>
Co-authored-by: liusy58 <liusy58@linux.alibaba.com>
This commit is contained in:
Xuchun Shang
2025-12-24 11:22:04 +08:00
committed by GitHub
parent e7b09efc0a
commit 3bf07c684f
3 changed files with 255 additions and 15 deletions

View File

@@ -334,8 +334,18 @@ class MultimodalInputs:
@staticmethod
def from_dict(obj: dict):
# Check if MM splitting is enabled
if not envs.SGLANG_ENABLE_MM_SPLITTING.get():
mm_items = obj["mm_items"]
else:
from sglang.srt.managers.mm_utils import get_new_expanded_mm_items
original_mm_items = obj["mm_items"]
# Now, `mm_items` contains one item per image.
mm_items = get_new_expanded_mm_items(original_mm_items)
ret = MultimodalInputs(
mm_items=obj["mm_items"],
mm_items=mm_items,
)
assert isinstance(ret.mm_items, list)