Skip to content

Commit fea636d

Browse files
joerundeIsotr0py
authored andcommitted
[Bugfix] use right truncation for non-generative tasks (vllm-project#12050)
Signed-off-by: Joe Runde <[email protected]> Signed-off-by: Isotr0py <[email protected]>
1 parent efb6279 commit fea636d

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

tests/entrypoints/llm/test_encode.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,10 @@ def test_multiple_pooling_params(llm: LLM):
105105
# pooling_params is None, default params should be applied
106106
outputs = llm.encode(PROMPTS, pooling_params=None)
107107
assert len(PROMPTS) == len(outputs)
108+
109+
110+
@pytest.mark.skip_global_cleanup
111+
def test_right_side_truncation(llm: LLM):
112+
# Embeddings models should truncate the end of the prompt
113+
tokenizer = llm.get_tokenizer()
114+
assert tokenizer.truncation_side == "right"

vllm/config.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,10 @@ def __init__(self,
357357
supported_tasks, task = self._resolve_task(task, self.hf_config)
358358
self.supported_tasks = supported_tasks
359359
self.task: Final = task
360+
if self.task in ("draft", "generate"):
361+
self.truncation_side = "left"
362+
else:
363+
self.truncation_side = "right"
360364

361365
self.pooler_config = self._init_pooler_config(override_pooler_config)
362366
self.logits_processor_pattern = logits_processor_pattern

vllm/transformers_utils/tokenizer_group/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ def init_tokenizer_from_configs(model_config: ModelConfig,
2424
max_input_length=None,
2525
tokenizer_mode=model_config.tokenizer_mode,
2626
trust_remote_code=model_config.trust_remote_code,
27-
revision=model_config.tokenizer_revision)
27+
revision=model_config.tokenizer_revision,
28+
truncation_side=model_config.truncation_side)
2829

2930
return get_tokenizer_group(parallel_config.tokenizer_pool_config,
3031
**init_kwargs)

0 commit comments

Comments
 (0)