[BugFix] Fix ernie4_5_vl_processor.py and qwen_vl_processor.py can not disable thinking (#4762)

* fix ernie4_5_vl_processor.py and qwen_vl_processor.py

* add unit test
This commit is contained in:
kxz2002
2025-11-04 16:00:32 +08:00
committed by GitHub
parent 007ee71208
commit 8a40374bfe
3 changed files with 22 additions and 2 deletions

View File

@@ -233,7 +233,7 @@ class Ernie4_5_VLProcessor(Ernie4_5Processor):
if chat_template_kwargs:
if isinstance(chat_template_kwargs, dict):
for k, v in chat_template_kwargs.items():
if k not in request:
if k not in request or request[k] is None:
request[k] = v
else:
raise ValueError("Invalid input: chat_template_kwargs must be a dict")

View File

@@ -237,7 +237,7 @@ class QwenVLProcessor(TextProcessor):
if chat_template_kwargs:
if isinstance(chat_template_kwargs, dict):
for k, v in chat_template_kwargs.items():
if k not in request:
if k not in request or request[k] is None:
request[k] = v
else:
raise ValueError("Invalid input: chat_template_kwargs must be a dict")

View File

@@ -204,6 +204,26 @@ class TestQwenVLProcessor(unittest.TestCase):
result["multimodal_inputs"]["image_type_ids"].shape[0], result["multimodal_inputs"]["grid_thw"][:, 0].sum()
)
def test_process_request_dict_enable_thinking(self):
num_completion_token_ids = 10
request = {
"request_id": "12345",
"completion_token_ids": [1] * num_completion_token_ids,
"stop": ["stop", "eof"],
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "Hello"},
],
}
],
"chat_template_kwargs": {"enable_thinking": True},
}
result = self.processor.process_request_dict(request, 100)
self.assertEqual(result.get("enable_thinking"), False)
def test_prompt(self):
"""
Test processing of prompt with image and video placeholders