Fix sessions with mm inputs (#21269)

This commit is contained in:
Aurick Qiao
2026-03-26 17:38:23 -07:00
committed by GitHub
parent 8a4cdcd538
commit c2b3e42ad6
3 changed files with 26 additions and 30 deletions
@@ -437,7 +437,7 @@ class SchedulerOutputProcessorMixin:
if req.finished():
# delete feature to save memory
if req.multimodal_inputs is not None:
if req.multimodal_inputs is not None and req.session is None:
for mm_item in req.multimodal_inputs.mm_items:
pixel_values = mm_item.feature
if isinstance(pixel_values, torch.Tensor):
@@ -164,6 +164,12 @@ class Session:
and req.input_ids[0] == tokenizer.bos_token_id
):
req.input_ids = req.input_ids[1:]
# Adjust mm_item offsets since they were computed on
# the pre-strip sequence (with BOS at position 0)
if req.mm_inputs:
for item in req.mm_inputs.get("mm_items", []):
if item.offsets:
item.offsets = [(s - 1, e - 1) for s, e in item.offsets]
input_ids = (
last_req.origin_input_ids