Skip to content

Commit 8d9338f

Browse files
[Chore] Rename Processor to InputProcessor (#29682)
Signed-off-by: DarkLight1337 <tlleungac@connect.ust.hk>
1 parent d40c854 commit 8d9338f

File tree

14 files changed

+723
-693
lines changed

14 files changed

+723
-693
lines changed

tests/entrypoints/openai/test_lora_resolvers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ async def mock_generate(*args, **kwargs):
114114
mock_engine.add_lora.reset_mock()
115115

116116
mock_engine.model_config = MockModelConfig()
117-
mock_engine.processor = MagicMock()
117+
mock_engine.input_processor = MagicMock()
118118
mock_engine.io_processor = MagicMock()
119119

120120
models = OpenAIServingModels(

tests/entrypoints/openai/test_serving_chat.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ async def test_serving_chat_returns_correct_model_name():
429429
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
430430
mock_engine.errored = False
431431
mock_engine.model_config = MockModelConfig()
432-
mock_engine.processor = MagicMock()
432+
mock_engine.input_processor = MagicMock()
433433
mock_engine.io_processor = MagicMock()
434434

435435
serving_chat = _build_serving_chat(mock_engine)
@@ -459,7 +459,7 @@ async def test_serving_chat_should_set_correct_max_tokens():
459459
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
460460
mock_engine.errored = False
461461
mock_engine.model_config = MockModelConfig()
462-
mock_engine.processor = MagicMock()
462+
mock_engine.input_processor = MagicMock()
463463
mock_engine.io_processor = MagicMock()
464464

465465
serving_chat = _build_serving_chat(mock_engine)
@@ -492,7 +492,7 @@ async def test_serving_chat_should_set_correct_max_tokens():
492492
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
493493
mock_engine.errored = False
494494
mock_engine.model_config = mock_model_config
495-
mock_engine.processor = MagicMock()
495+
mock_engine.input_processor = MagicMock()
496496
mock_engine.io_processor = MagicMock()
497497

498498
# Initialize the serving chat
@@ -537,7 +537,7 @@ async def test_serving_chat_should_set_correct_max_tokens():
537537
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
538538
mock_engine.errored = False
539539
mock_engine.model_config = mock_model_config
540-
mock_engine.processor = MagicMock()
540+
mock_engine.input_processor = MagicMock()
541541
mock_engine.io_processor = MagicMock()
542542

543543
# Initialize the serving chat
@@ -583,7 +583,7 @@ async def test_serving_chat_could_load_correct_generation_config():
583583
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
584584
mock_engine.errored = False
585585
mock_engine.model_config = mock_model_config
586-
mock_engine.processor = MagicMock()
586+
mock_engine.input_processor = MagicMock()
587587
mock_engine.io_processor = MagicMock()
588588

589589
# Initialize the serving chat
@@ -629,7 +629,7 @@ async def test_serving_chat_did_set_correct_cache_salt(model_type):
629629
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
630630
mock_engine.errored = False
631631
mock_engine.model_config = mock_model_config
632-
mock_engine.processor = MagicMock()
632+
mock_engine.input_processor = MagicMock()
633633
mock_engine.io_processor = MagicMock()
634634

635635
serving_chat = _build_serving_chat(mock_engine)
@@ -662,7 +662,7 @@ async def test_serving_chat_data_parallel_rank_extraction():
662662
mock_engine.get_tokenizer.return_value = get_tokenizer(MODEL_NAME)
663663
mock_engine.errored = False
664664
mock_engine.model_config = MockModelConfig()
665-
mock_engine.processor = MagicMock()
665+
mock_engine.input_processor = MagicMock()
666666
mock_engine.io_processor = MagicMock()
667667

668668
# Mock the generate method to return an async generator

tests/entrypoints/openai/test_serving_engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def serving() -> OpenAIServing:
2323
model_config.max_model_len = 32768
2424
models = Mock(spec=OpenAIServingModels)
2525
models.model_config = model_config
26-
models.processor = Mock()
26+
models.input_processor = Mock()
2727
models.io_processor = Mock()
2828

2929
serving = OpenAIServing(

tests/entrypoints/openai/test_serving_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ async def _async_serving_models_init() -> OpenAIServingModels:
3030
mock_model_config = MagicMock(spec=ModelConfig)
3131
mock_model_config.max_model_len = 2048
3232
mock_engine_client.model_config = mock_model_config
33-
mock_engine_client.processor = MagicMock()
33+
mock_engine_client.input_processor = MagicMock()
3434
mock_engine_client.io_processor = MagicMock()
3535

3636
serving_models = OpenAIServingModels(

tests/entrypoints/openai/test_serving_responses.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ async def serving_responses_instance(self):
127127
model_config.get_diff_sampling_param.return_value = {}
128128
engine_client.model_config = model_config
129129

130-
engine_client.processor = MagicMock()
130+
engine_client.input_processor = MagicMock()
131131
engine_client.io_processor = MagicMock()
132132

133133
models = MagicMock()
@@ -213,7 +213,7 @@ async def serving_responses_instance(self):
213213
model_config.get_diff_sampling_param.return_value = {}
214214
engine_client.model_config = model_config
215215

216-
engine_client.processor = MagicMock()
216+
engine_client.input_processor = MagicMock()
217217
engine_client.io_processor = MagicMock()
218218

219219
models = MagicMock()

tests/v1/engine/test_processor_multi_modal_uuids.py renamed to tests/v1/engine/test_process_multi_modal_uuids.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@
77
from vllm.assets.video import VideoAsset
88
from vllm.config import CacheConfig, DeviceConfig, ModelConfig, VllmConfig
99
from vllm.sampling_params import SamplingParams
10-
from vllm.v1.engine import processor as processor_mod
11-
from vllm.v1.engine.processor import Processor
10+
from vllm.v1.engine import input_processor as input_processor_mod
11+
from vllm.v1.engine.input_processor import InputProcessor
1212

1313
cherry_pil_image = ImageAsset("cherry_blossom").pil_image
1414
stop_pil_image = ImageAsset("stop_sign").pil_image
1515
baby_reading_np_ndarrays = VideoAsset("baby_reading").np_ndarrays
1616

1717

18-
# Mock processor for testing
19-
def _mk_processor(
18+
def _mock_input_processor(
2019
monkeypatch, *, mm_cache_gb: float = 4.0, enable_prefix_caching: bool = True
21-
) -> Processor:
20+
) -> InputProcessor:
2221
"""
2322
Create a Processor instance with minimal configuration suitable for unit
2423
tests without accessing external resources.
@@ -36,7 +35,7 @@ def _mk_processor(
3635
raising=True,
3736
)
3837
monkeypatch.setattr(
39-
processor_mod,
38+
input_processor_mod,
4039
"processor_cache_from_config",
4140
lambda vllm_config, mm_registry: None,
4241
raising=True,
@@ -65,11 +64,11 @@ def __init__(self, gb: float):
6564
device_config=DeviceConfig(device="cpu"),
6665
)
6766

68-
return Processor(vllm_config, tokenizer=None)
67+
return InputProcessor(vllm_config, tokenizer=None)
6968

7069

7170
def test_multi_modal_uuids_length_mismatch_raises(monkeypatch):
72-
processor = _mk_processor(monkeypatch)
71+
input_processor = _mock_input_processor(monkeypatch)
7372

7473
prompt = {
7574
"prompt": "USER: <image>\nDescribe\nASSISTANT:",
@@ -79,15 +78,15 @@ def test_multi_modal_uuids_length_mismatch_raises(monkeypatch):
7978
}
8079

8180
with pytest.raises(ValueError, match="must have same length as data"):
82-
processor.process_inputs(
81+
input_processor.process_inputs(
8382
request_id="req-1",
8483
prompt=prompt, # type: ignore[arg-type]
8584
params=SamplingParams(),
8685
)
8786

8887

8988
def test_multi_modal_uuids_missing_modality_raises(monkeypatch):
90-
processor = _mk_processor(monkeypatch)
89+
input_processor = _mock_input_processor(monkeypatch)
9190

9291
prompt = {
9392
"prompt": "USER: <image><video>\nDescribe\nASSISTANT:",
@@ -101,7 +100,7 @@ def test_multi_modal_uuids_missing_modality_raises(monkeypatch):
101100
}
102101

103102
with pytest.raises(ValueError, match="must be provided if multi_modal_data"):
104-
processor.process_inputs(
103+
input_processor.process_inputs(
105104
request_id="req-2",
106105
prompt=prompt, # type: ignore[arg-type]
107106
params=SamplingParams(),
@@ -119,7 +118,7 @@ def test_multi_modal_uuids_missing_modality_raises(monkeypatch):
119118
def test_multi_modal_uuids_accepts_none_and_passes_through(
120119
monkeypatch, mm_cache_gb: float, enable_prefix_caching: bool
121120
):
122-
processor = _mk_processor(
121+
input_processor = _mock_input_processor(
123122
monkeypatch,
124123
mm_cache_gb=mm_cache_gb,
125124
enable_prefix_caching=enable_prefix_caching,
@@ -137,7 +136,7 @@ def fake_preprocess(
137136

138137
# Monkeypatch only the bound preprocess method on this instance
139138
monkeypatch.setattr(
140-
processor.input_preprocessor, "preprocess", fake_preprocess, raising=True
139+
input_processor.input_preprocessor, "preprocess", fake_preprocess, raising=True
141140
)
142141

143142
# Use a consistent two-image scenario across all configurations
@@ -151,7 +150,7 @@ def fake_preprocess(
151150
"multi_modal_uuids": mm_uuids,
152151
}
153152

154-
processor.process_inputs(
153+
input_processor.process_inputs(
155154
request_id="req-3",
156155
prompt=prompt, # type: ignore[arg-type]
157156
params=SamplingParams(),
@@ -163,7 +162,9 @@ def fake_preprocess(
163162
def test_multi_modal_uuids_ignored_when_caching_disabled(monkeypatch):
164163
# When both processor cache is 0 and prefix caching disabled, the
165164
# processor builds overrides from request id instead of using user UUIDs.
166-
processor = _mk_processor(monkeypatch, mm_cache_gb=0.0, enable_prefix_caching=False)
165+
input_processor = _mock_input_processor(
166+
monkeypatch, mm_cache_gb=0.0, enable_prefix_caching=False
167+
)
167168

168169
captured: dict[str, object] = {}
169170

@@ -174,7 +175,7 @@ def fake_preprocess(
174175
return {"type": "token", "prompt_token_ids": [1]}
175176

176177
monkeypatch.setattr(
177-
processor.input_preprocessor, "preprocess", fake_preprocess, raising=True
178+
input_processor.input_preprocessor, "preprocess", fake_preprocess, raising=True
178179
)
179180

180181
request_id = "req-42"
@@ -188,7 +189,7 @@ def fake_preprocess(
188189
"multi_modal_uuids": mm_uuids,
189190
}
190191

191-
processor.process_inputs(
192+
input_processor.process_inputs(
192193
request_id=request_id,
193194
prompt=prompt, # type: ignore[arg-type]
194195
params=SamplingParams(),

vllm/engine/protocol.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
from vllm.tasks import SupportedTask
1616
from vllm.transformers_utils.tokenizer import AnyTokenizer
1717
from vllm.v1.engine import EngineCoreRequest
18-
from vllm.v1.engine.processor import Processor
18+
from vllm.v1.engine.input_processor import InputProcessor
1919

2020

2121
class EngineClient(ABC):
2222
"""Protocol class for Clients to Engine"""
2323

2424
vllm_config: VllmConfig
2525
model_config: ModelConfig
26-
processor: Processor
26+
input_processor: InputProcessor
2727
io_processor: IOProcessor | None
2828

2929
@property

vllm/entrypoints/llm.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ def __init__(
347347
self.supported_tasks = supported_tasks
348348

349349
self.model_config = self.llm_engine.model_config
350-
self.processor = self.llm_engine.processor
350+
self.input_processor = self.llm_engine.input_processor
351351
self.io_processor = self.llm_engine.io_processor
352352

353353
def get_tokenizer(self) -> AnyTokenizer:
@@ -364,7 +364,7 @@ def set_tokenizer(self, tokenizer: AnyTokenizer) -> None:
364364
self.llm_engine.tokenizer = get_cached_tokenizer(tokenizer)
365365

366366
def reset_mm_cache(self) -> None:
367-
self.processor.clear_mm_cache()
367+
self.input_processor.clear_mm_cache()
368368
self.llm_engine.reset_mm_cache()
369369

370370
def get_default_sampling_params(self) -> SamplingParams:
@@ -1674,7 +1674,7 @@ def _process_inputs(
16741674
tokenization_kwargs,
16751675
)
16761676

1677-
engine_request = self.processor.process_inputs(
1677+
engine_request = self.input_processor.process_inputs(
16781678
request_id,
16791679
engine_prompt,
16801680
params,

vllm/entrypoints/openai/serving_engine.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ def __init__(
284284
self._async_tokenizer_pool: dict[AnyTokenizer, AsyncMicrobatchTokenizer] = {}
285285
self.log_error_stack = log_error_stack
286286

287-
self.processor = self.models.processor
287+
self.input_processor = self.models.input_processor
288288
self.io_processor = self.models.io_processor
289289
self.model_config = self.models.model_config
290290
self.max_model_len = self.model_config.max_model_len
@@ -330,7 +330,7 @@ def _get_reasoning_parser(
330330
return parser
331331

332332
async def reset_mm_cache(self) -> None:
333-
self.processor.clear_mm_cache()
333+
self.input_processor.clear_mm_cache()
334334
await self.engine_client.reset_mm_cache()
335335

336336
async def beam_search(
@@ -348,8 +348,8 @@ async def beam_search(
348348
length_penalty = params.length_penalty
349349
include_stop_str_in_output = params.include_stop_str_in_output
350350

351-
processor = self.processor
352-
tokenizer = processor.tokenizer
351+
input_processor = self.input_processor
352+
tokenizer = input_processor.tokenizer
353353
if tokenizer is None:
354354
raise ValueError(
355355
"You cannot use beam search when `skip_tokenizer_init` is True"
@@ -1214,7 +1214,7 @@ async def _process_inputs(
12141214
self.max_model_len, params.truncate_prompt_tokens, tokenization_kwargs
12151215
)
12161216

1217-
engine_request = self.processor.process_inputs(
1217+
engine_request = self.input_processor.process_inputs(
12181218
request_id,
12191219
engine_prompt,
12201220
params,

vllm/entrypoints/openai/serving_models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def __init__(
6969
)
7070
self.lora_resolver_lock: dict[str, Lock] = defaultdict(Lock)
7171

72-
self.processor = self.engine_client.processor
72+
self.input_processor = self.engine_client.input_processor
7373
self.io_processor = self.engine_client.io_processor
7474
self.model_config = self.engine_client.model_config
7575
self.max_model_len = self.model_config.max_model_len

0 commit comments

Comments
 (0)