2025-07-22 20:57:28 +05:30
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
from vllm.assets.image import ImageAsset
|
2025-12-07 16:00:22 +08:00
|
|
|
from vllm.config import ModelConfig
|
2025-07-22 20:57:28 +05:30
|
|
|
from vllm.multimodal import MULTIMODAL_REGISTRY
|
|
|
|
|
|
|
|
|
|
|
2025-10-05 17:18:11 +01:00
|
|
|
@pytest.mark.parametrize("model_id", ["llava-hf/llava-onevision-qwen2-0.5b-ov-hf"])
|
2025-07-22 20:57:28 +05:30
|
|
|
def test_multimodal_processor(model_id):
|
|
|
|
|
model_config = ModelConfig(
|
|
|
|
|
model=model_id,
|
|
|
|
|
model_impl="transformers",
|
|
|
|
|
)
|
|
|
|
|
|
2025-12-07 16:00:22 +08:00
|
|
|
mm_processor = MULTIMODAL_REGISTRY.create_processor(model_config)
|
2025-07-22 20:57:28 +05:30
|
|
|
|
2025-10-05 17:18:11 +01:00
|
|
|
image_pil = ImageAsset("cherry_blossom").pil_image
|
2025-07-22 20:57:28 +05:30
|
|
|
mm_data = {"image": image_pil}
|
2025-10-05 17:18:11 +01:00
|
|
|
str_prompt = "<|im_start|>user <image>\nWhat is the content of this image?<|im_end|><|im_start|>assistant\n" # noqa: E501
|
2026-02-23 22:15:50 +08:00
|
|
|
str_processed_inputs = mm_processor(
|
2025-07-22 20:57:28 +05:30
|
|
|
prompt=str_prompt,
|
2026-02-01 00:46:14 +08:00
|
|
|
mm_items=mm_processor.info.parse_mm_data(mm_data),
|
2025-07-22 20:57:28 +05:30
|
|
|
hf_processor_mm_kwargs={},
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
ids_prompt = [
|
2025-10-05 17:18:11 +01:00
|
|
|
151644,
|
|
|
|
|
872,
|
|
|
|
|
220,
|
|
|
|
|
151646,
|
|
|
|
|
198,
|
|
|
|
|
3838,
|
|
|
|
|
374,
|
|
|
|
|
279,
|
|
|
|
|
2213,
|
|
|
|
|
315,
|
|
|
|
|
419,
|
|
|
|
|
2168,
|
|
|
|
|
30,
|
|
|
|
|
151645,
|
|
|
|
|
151644,
|
|
|
|
|
77091,
|
|
|
|
|
198,
|
2025-07-22 20:57:28 +05:30
|
|
|
]
|
2026-02-23 22:15:50 +08:00
|
|
|
ids_processed_inputs = mm_processor(
|
2025-07-22 20:57:28 +05:30
|
|
|
prompt=ids_prompt,
|
2026-02-01 00:46:14 +08:00
|
|
|
mm_items=mm_processor.info.parse_mm_data(mm_data),
|
2025-07-22 20:57:28 +05:30
|
|
|
hf_processor_mm_kwargs={},
|
|
|
|
|
)
|
|
|
|
|
|
2025-10-05 17:18:11 +01:00
|
|
|
assert (
|
|
|
|
|
str_processed_inputs["prompt_token_ids"]
|
|
|
|
|
== ids_processed_inputs["prompt_token_ids"]
|
|
|
|
|
)
|