Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ jobs:
# Lower bound support
- vllm_version:
name: "vLLM:lowest"
repo: "git+https://github.com/vllm-project/vllm --tag v0.18.0"
repo: "git+https://github.com/vllm-project/vllm --tag v0.19.0"
test_suite:
name: "backward compat"
markers: "compat or (cpu and basic and not quantized)"
Expand Down
9 changes: 5 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ dependencies = [
"ibm-fms>=1.9.0,<2",
# NB: use strict < with the next patch version to not exclude versions with
# build metadata suffixes
"vllm>=0.18.0,<0.18.2",
"vllm>=0.19.0,<0.19.1",

# Specific torch version overrides handled by uv
"torch",
"torchvision",
Expand Down Expand Up @@ -75,8 +76,8 @@ override-dependencies = [
# requests is used by many dependencies, make sure it's patched for CVEs
"requests>=2.32.4",

# temporarily bypass vllm 0.18.0 compressed-tensors==0.13.0 requirement
# TODO: remove once vllm pins correct version bounds
# vllm 0.18.0 pins compressed-tensors==0.13.0; override to 0.14.0.1
# TODO: remove once minimum vllm is bumped past 0.18.0
"compressed-tensors==0.14.0.1",
]
# This adds constraints to all dependent build environments, which will ensure everything is built
Expand All @@ -86,7 +87,7 @@ build-constraint-dependencies = ["torch==2.10.0"]
extra-build-variables = { vllm = { VLLM_TARGET_DEVICE = "empty" } }

[tool.uv.sources]
vllm = { git = "https://github.com/vllm-project/vllm", rev = "v0.18.1" }
vllm = { git = "https://github.com/vllm-project/vllm", rev = "v0.19.0" }
torch = [
{ index = "pytorch-cpu" },
]
Expand Down
13 changes: 7 additions & 6 deletions tests/utils/test_platform_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@


from vllm import SamplingParams
from vllm.inputs.data import token_inputs

Comment thread
rafvasq marked this conversation as resolved.
Outdated
from vllm.inputs import tokens_input
from vllm.pooling_params import PoolingParams
from vllm.sampling_params import StructuredOutputsParams
from vllm_spyre.platform import SpyrePlatform
Expand Down Expand Up @@ -43,7 +44,7 @@ def test_strips_structured_outputs(self):

assert params.structured_outputs is not None

SpyrePlatform.validate_request(token_inputs(prompt_token_ids=[0]), params)
SpyrePlatform.validate_request(tokens_input(prompt_token_ids=[0]), params)

assert params.structured_outputs is None

Expand All @@ -53,7 +54,7 @@ def test_logs_warning_when_stripping(self, caplog_vllm_spyre):
max_tokens=20, structured_outputs=StructuredOutputsParams(json_object=True)
)

SpyrePlatform.validate_request(token_inputs(prompt_token_ids=[0]), params)
SpyrePlatform.validate_request(tokens_input(prompt_token_ids=[0]), params)

assert len(caplog_vllm_spyre.records) > 0
warning_record = caplog_vllm_spyre.records[0]
Expand All @@ -74,7 +75,7 @@ def test_strips_different_structured_output_types(self, structured_output):

assert params.structured_outputs is not None

SpyrePlatform.validate_request(token_inputs(prompt_token_ids=[0]), params)
SpyrePlatform.validate_request(tokens_input(prompt_token_ids=[0]), params)

assert params.structured_outputs is None

Expand All @@ -96,7 +97,7 @@ def test_preserves_other_sampling_params(self):
"top_k": params.top_k,
}

SpyrePlatform.validate_request(token_inputs(prompt_token_ids=[0]), params)
SpyrePlatform.validate_request(tokens_input(prompt_token_ids=[0]), params)

# Verify other params are unchanged
assert params.max_tokens == original_values["max_tokens"]
Expand All @@ -111,7 +112,7 @@ def test_does_not_affect_pooling_params(self):
pooling_params = PoolingParams()

# Should not raise any errors and should return early
SpyrePlatform.validate_request(token_inputs(prompt_token_ids=[0]), pooling_params)
SpyrePlatform.validate_request(tokens_input(prompt_token_ids=[0]), pooling_params)

# PoolingParams don't have structured_outputs, so just verify no exception
assert True # If we got here, the early return worked
Expand Down
8 changes: 5 additions & 3 deletions tests/v1/core/test_scheduler_structured_outputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
from unittest.mock import Mock, patch
from vllm import SamplingParams
from vllm.sampling_params import StructuredOutputsParams
from vllm.v1.request import Request, RequestStatus
from vllm.v1.core.sched.request_queue import FCFSRequestQueue
from vllm.v1.request import Request, RequestStatus
from vllm_spyre.v1.core.scheduler import ChunkedPrefillSpyreScheduler

_WAITING_FOR_GRAMMAR = RequestStatus.WAITING_FOR_STRUCTURED_OUTPUT_GRAMMAR
Comment thread
rafvasq marked this conversation as resolved.
Outdated


pytestmark = pytest.mark.skip_global_cleanup

Expand Down Expand Up @@ -80,7 +82,7 @@ def test_scheduler_strips_structured_output_request(self, mocked_scheduler, capl

# Verify structured_output_request is set
assert request.structured_output_request is not None
assert request.status == RequestStatus.WAITING_FOR_FSM
assert request.status == _WAITING_FOR_GRAMMAR

# Add request to waiting queue
mocked_scheduler.waiting.append(request)
Expand Down Expand Up @@ -154,7 +156,7 @@ def test_scheduler_handles_multiple_requests_with_structured_outputs(
# Verify all have structured_output_request set
for request in requests:
assert request.structured_output_request is not None
assert request.status == RequestStatus.WAITING_FOR_FSM
assert request.status == _WAITING_FOR_GRAMMAR

# Call the actual schedule method
mocked_scheduler.schedule()
Expand Down
Loading
Loading