A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 10, 19:00 UTC
[Frontend] [Doc] Exclude log deltas feature (#30322)
Signed-off-by: Catacomba <kevinsuc16@gmail.com> Signed-off-by: Kevin Šuc <kevinsuc16@gmail.com> Co-authored-by: Cyrus Leung <cyrus.tl.leung@gmail.com>
Kevin Šuc committed
Jan 5, 2026 at 17:34 UTC
79ed460dd52acc38c70e046eef56ed826712a688
3 files changed
+9
-1
vllm/entrypoints/openai/api_server.py
+1
@@ -1091,6 +1091,7 @@ async def init_app_state(
1091
enable_prompt_tokens_details=args.enable_prompt_tokens_details,
1092
enable_force_include_usage=args.enable_force_include_usage,
1093
enable_log_outputs=args.enable_log_outputs,
1094
+ exclude_log_deltas=args.exclude_log_deltas,
1095
log_error_stack=args.log_error_stack,
1096
)
1097
if "generate" in supported_tasks
vllm/entrypoints/openai/cli_args.py
+5
@@ -187,6 +187,9 @@ class FrontendArgs:
187
enable_log_outputs: bool = False
188
"""If True, log model outputs (generations).
189
Requires --enable-log-requests."""
190
+ exclude_log_deltas: bool = False
191
+ """If True, model outputs will be logged once streaming is complete. Deltas
192
+ will not be logged. Requires --enable-log-outputs."""
193
h11_max_incomplete_event_size: int = H11_MAX_INCOMPLETE_EVENT_SIZE_DEFAULT
194
"""Maximum size (bytes) of an incomplete HTTP event (header or body) for
195
h11 parser. Helps mitigate header abuse. Default: 4194304 (4 MB)."""
@@ -305,6 +308,8 @@ def validate_parsed_serve_args(args: argparse.Namespace):
308
# Enable auto tool needs a tool call parser to be valid
309
if args.enable_auto_tool_choice and not args.tool_call_parser:
310
raise TypeError("Error: --enable-auto-tool-choice requires --tool-call-parser")
311
+ if args.exclude_log_deltas and not args.enable_log_outputs:
312
+ raise TypeError("Error: --exclude-log-deltas requires --enable-log-outputs")
313
if args.enable_log_outputs and not args.enable_log_requests:
314
raise TypeError("Error: --enable-log-outputs requires --enable-log-requests")
315
vllm/entrypoints/openai/serving_chat.py
+3
-1
@@ -101,6 +101,7 @@ class OpenAIServingChat(OpenAIServing):
101
enable_prompt_tokens_details: bool = False,
102
enable_force_include_usage: bool = False,
103
enable_log_outputs: bool = False,
104
+ exclude_log_deltas: bool = False,
105
log_error_stack: bool = False,
106
default_chat_template_kwargs: dict[str, Any] | None = None,
107
) -> None:
@@ -118,6 +119,7 @@ class OpenAIServingChat(OpenAIServing):
119
self.trust_request_chat_template = trust_request_chat_template
120
self.default_chat_template_kwargs = default_chat_template_kwargs or {}
121
self.enable_log_outputs = enable_log_outputs
122
+ self.exclude_log_deltas = exclude_log_deltas
123
124
# set up logits processors
125
self.logits_processors = self.model_config.logits_processors
@@ -1135,7 +1137,7 @@ class OpenAIServingChat(OpenAIServing):
1137
if tc.function and tc.function.arguments
1138
)
1139
1138
- if delta_content:
1140
+ if delta_content and not self.exclude_log_deltas:
1141
self.request_logger.log_outputs(
1142
request_id=request_id,
1143
outputs=delta_content,