From 0ee9d3c8e99dfbd9ba108cc15e48ab2e12f26393 Mon Sep 17 00:00:00 2001 From: Chang Su Date: Wed, 4 Mar 2026 13:21:21 -0800 Subject: [PATCH] fix(grpc): send last chunk before completion during streaming (#19895) --- python/sglang/srt/entrypoints/grpc_server.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/python/sglang/srt/entrypoints/grpc_server.py b/python/sglang/srt/entrypoints/grpc_server.py index 6e257d52d..7f6b2b696 100644 --- a/python/sglang/srt/entrypoints/grpc_server.py +++ b/python/sglang/srt/entrypoints/grpc_server.py @@ -227,12 +227,17 @@ class SGLangSchedulerServicer(sglang_scheduler_pb2_grpc.SglangSchedulerServicer) ), ), ) - elif output.get("finished", False): + elif request.stream: + yield self._create_chunk_response(request.request_id, output) + if output.get("finished", False): + yield self._create_completion_response( + request.request_id, output + ) + else: + # Non-streaming n=1: single completion response yield self._create_completion_response( request.request_id, output ) - else: - yield self._create_chunk_response(request.request_id, output) except Exception as e: logger.error(