|
8 | 8 |
|
9 | 9 | from vllm.config import (CacheConfig, KVTransferConfig, ModelConfig, |
10 | 10 | SchedulerConfig, SpeculativeConfig, VllmConfig) |
11 | | -from vllm.multimodal.inputs import MultiModalKwargsItem, PlaceholderRange |
| 11 | +from vllm.multimodal.inputs import (MultiModalFeatureSpec, |
| 12 | + MultiModalKwargsItem, PlaceholderRange) |
12 | 13 | from vllm.sampling_params import GuidedDecodingParams, SamplingParams |
13 | 14 | from vllm.v1.core.sched.output import CachedRequestData, SchedulerOutput |
14 | 15 | from vllm.v1.core.sched.scheduler import Scheduler |
@@ -1308,21 +1309,24 @@ def create_requests_with_priority( |
1308 | 1309 | prompt_logprobs=prompt_logprobs) |
1309 | 1310 | requests = [] |
1310 | 1311 | for i in range(num_requests): |
| 1312 | + mm_features = [] |
1311 | 1313 | if mm_positions is not None: |
1312 | 1314 | mm_position = mm_positions[i] |
1313 | | - mm_item = MultiModalKwargsItem.dummy("dummy_m") |
1314 | | - mm_kwargs = [mm_item] * len(mm_position) |
1315 | | - else: |
1316 | | - mm_position = None |
1317 | | - mm_kwargs = None |
| 1315 | + for j, position in enumerate(mm_position): |
| 1316 | + identifier = f"hash{i}_{j}" |
| 1317 | + mm_feature = MultiModalFeatureSpec( |
| 1318 | + data=MultiModalKwargsItem.dummy("dummy_m"), |
| 1319 | + mm_position=position, |
| 1320 | + identifier=identifier, |
| 1321 | + modality="image") |
| 1322 | + mm_features.append(mm_feature) |
| 1323 | + |
1318 | 1324 | request = Request( |
1319 | 1325 | request_id=f"{i + starting_idx}", |
1320 | 1326 | prompt_token_ids=[i + starting_idx] * num_tokens, |
1321 | 1327 | sampling_params=sampling_params, |
1322 | 1328 | pooling_params=None, |
1323 | | - multi_modal_kwargs=mm_kwargs, |
1324 | | - multi_modal_placeholders=mm_position, |
1325 | | - multi_modal_hashes=None, |
| 1329 | + mm_features=mm_features if mm_features else None, |
1326 | 1330 | eos_token_id=EOS_TOKEN_ID, |
1327 | 1331 | arrival_time=arrival_times[i], |
1328 | 1332 | priority=priorities[i], |
@@ -1801,9 +1805,7 @@ def test_schedule_skip_tokenizer_init_structured_output_request(): |
1801 | 1805 | request = Request( |
1802 | 1806 | request_id="0", |
1803 | 1807 | prompt_token_ids=[0, 1], |
1804 | | - multi_modal_kwargs=None, |
1805 | | - multi_modal_hashes=None, |
1806 | | - multi_modal_placeholders=None, |
| 1808 | + mm_features=None, |
1807 | 1809 | sampling_params=sampling_params, |
1808 | 1810 | pooling_params=None, |
1809 | 1811 | eos_token_id=EOS_TOKEN_ID, |
|
0 commit comments