From 611e37b0a9652debc5c19c59450536c42b7eb49f Mon Sep 17 00:00:00 2001 From: Alex-Brooks Date: Tue, 13 Aug 2024 11:30:12 -0600 Subject: [PATCH] [CI/Test] Add text-only check for qwen-vl Signed-off-by: Alex-Brooks --- tests/models/test_qwen.py | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/models/test_qwen.py diff --git a/tests/models/test_qwen.py b/tests/models/test_qwen.py new file mode 100644 index 0000000000000..03605e3b34810 --- /dev/null +++ b/tests/models/test_qwen.py @@ -0,0 +1,48 @@ +from typing import Type + +import pytest + +from ..conftest import HfRunner, VllmRunner +from .utils import check_logprobs_close + +models = ["qwen/qwen-vl"] + + +@pytest.mark.parametrize("dtype", ["half"]) +@pytest.mark.parametrize("max_tokens", [32]) +@pytest.mark.parametrize("num_logprobs", [5]) +@pytest.mark.parametrize("model", models) +def test_text_only_qwen_model( + hf_runner: Type[HfRunner], + vllm_runner: Type[VllmRunner], + example_prompts, + model: str, + *, + dtype: str, + max_tokens: int, + num_logprobs: int, +): + # This test checks language inputs only, since the visual component + # for qwen-vl is still unsupported in VLLM. In the near-future, the + # implementation and this test will be extended to consider + # visual inputs as well. + with hf_runner(model, dtype=dtype, is_vision_model=False) as hf_model: + hf_outputs = hf_model.generate_greedy_logprobs_limit( + example_prompts, + max_tokens, + num_logprobs=num_logprobs, + ) + + with vllm_runner(model, dtype=dtype) as vllm_model: + vllm_outputs = vllm_model.generate_greedy_logprobs( + example_prompts, + max_tokens, + num_logprobs=num_logprobs, + ) + + check_logprobs_close( + outputs_0_lst=hf_outputs, + outputs_1_lst=vllm_outputs, + name_0="hf", + name_1="vllm", + )