Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
3 changes: 0 additions & 3 deletions e2e_test/chat_completions/test_openai_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import logging

import pytest
from infra import is_sglang

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -392,8 +391,6 @@ def test_chat_completion_stream(self, model, api_client, logprobs, parallel_samp
super().test_chat_completion_stream(model, api_client, logprobs, parallel_sample_num)

def test_stop_sequences_stream(self, model, api_client):
if is_sglang():
self.STOP_SEQUENCE_TRIMMED = True
super().test_stop_sequences_stream(model, api_client)

@pytest.mark.skip(reason="gpt-oss models don't support regex constraints")
Expand Down
2 changes: 1 addition & 1 deletion grpc_servicer/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ classifiers = [

[project.optional-dependencies]
vllm = ["vllm>=0.17.0"]
sglang = ["sglang>=0.5.9"]
sglang = ["sglang>=0.5.10rc0"]

[project.urls]
Homepage = "https://github.com/lightseekorg/smg"
Expand Down
3 changes: 2 additions & 1 deletion grpc_servicer/smg_grpc_servicer/sglang/request_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@
real_time,
)
from sglang.srt.server_args import PortArgs, ServerArgs
from sglang.srt.utils import get_or_create_event_loop, get_zmq_socket, kill_process_tree
from sglang.srt.utils import get_or_create_event_loop, kill_process_tree
from sglang.srt.utils.network import get_zmq_socket
Comment thread
coderabbitai[bot] marked this conversation as resolved.
from sglang.utils import get_exception_traceback

logger = logging.getLogger(__name__)
Expand Down
4 changes: 2 additions & 2 deletions grpc_servicer/smg_grpc_servicer/sglang/servicer.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import os
import time
from collections.abc import AsyncIterator
from datetime import UTC, datetime
from datetime import datetime, timezone

import grpc
import msgspec
Expand Down Expand Up @@ -537,7 +537,7 @@ async def GetLoads(
loads = [_convert_loads_to_protobuf(r) for r in results]

return sglang_scheduler_pb2.GetLoadsResponse(
timestamp=datetime.now(UTC).isoformat(),
timestamp=datetime.now(timezone.utc).isoformat(),
version=sglang.__version__,
dp_rank_count=len(loads),
loads=loads,
Expand Down
2 changes: 2 additions & 0 deletions ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ max-line-length = 120
[lint.per-file-ignores]
"e2e_test/**" = ["F841", "E402"]
"bindings/python/tests/**" = ["F841", "E402"]
# grpc_servicer supports Python 3.10+ — don't upgrade to 3.11+ syntax (e.g. datetime.UTC)
"grpc_servicer/**" = ["UP017"]

[format]
# Black-compatible defaults
7 changes: 6 additions & 1 deletion scripts/ci_install_sglang.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ else
fi

# Install SGLang with all dependencies
# TODO(changsu): Revert to `uv pip install "sglang[all]"` once sglang releases
# a stable version (>= 0.5.10) that includes the smg_grpc_servicer migration
# (sgl-project/sglang#20478). The rc0 is needed because the old built-in
# grpc_server.py references proto types (EmbedError, EmbedComplete) that were
# removed from our proto definitions.
echo "Installing SGLang..."
uv pip install "sglang[all]"
uv pip install --prerelease=allow "sglang[all]==0.5.10rc0"

# Install flashinfer-jit-cache: sglang bundles flashinfer_python but only for attention ops.
# Multi-GPU models need trtllm_comm kernels (fused allreduce + layernorm) which FlashInfer
Expand Down
Loading