Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
2cc57119
Unverified
Commit
2cc57119
authored
Jul 28, 2025
by
rongfu.leng
Committed by
GitHub
Jul 28, 2025
Browse files
[feature] add log non default args in LLM (#21680)
Signed-off-by:
rongfu.leng
<
rongfu.leng@daocloud.io
>
parent
a4ed7315
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
35 additions
and
13 deletions
+35
-13
vllm/entrypoints/llm.py
vllm/entrypoints/llm.py
+4
-1
vllm/entrypoints/openai/api_server.py
vllm/entrypoints/openai/api_server.py
+2
-3
vllm/entrypoints/openai/cli_args.py
vllm/entrypoints/openai/cli_args.py
+0
-9
vllm/entrypoints/utils.py
vllm/entrypoints/utils.py
+29
-0
No files found.
vllm/entrypoints/llm.py
View file @
2cc57119
...
...
@@ -34,7 +34,8 @@ from vllm.entrypoints.score_utils import (ScoreContentPartParam,
_cosine_similarity
,
_validate_score_input_lens
,
get_score_prompt
)
from
vllm.entrypoints.utils
import
_validate_truncation_size
from
vllm.entrypoints.utils
import
(
_validate_truncation_size
,
log_non_default_args
)
from
vllm.inputs
import
PromptType
,
SingletonPrompt
,
TextPrompt
,
TokensPrompt
from
vllm.inputs.parse
import
parse_and_batch_prompt
from
vllm.logger
import
init_logger
...
...
@@ -273,6 +274,8 @@ class LLM:
**
kwargs
,
)
log_non_default_args
(
engine_args
)
# Create the Engine (autoselects V0 vs V1)
self
.
llm_engine
=
LLMEngine
.
from_engine_args
(
engine_args
=
engine_args
,
usage_context
=
UsageContext
.
LLM_CLASS
)
...
...
vllm/entrypoints/openai/api_server.py
View file @
2cc57119
...
...
@@ -48,8 +48,7 @@ from vllm.entrypoints.chat_utils import (load_chat_template,
resolve_mistral_chat_template
)
from
vllm.entrypoints.launcher
import
serve_http
from
vllm.entrypoints.logger
import
RequestLogger
from
vllm.entrypoints.openai.cli_args
import
(
log_non_default_args
,
make_arg_parser
,
from
vllm.entrypoints.openai.cli_args
import
(
make_arg_parser
,
validate_parsed_serve_args
)
# yapf conflicts with isort for this block
# yapf: disable
...
...
@@ -94,7 +93,7 @@ from vllm.entrypoints.openai.serving_transcription import (
OpenAIServingTranscription
,
OpenAIServingTranslation
)
from
vllm.entrypoints.openai.tool_parsers
import
ToolParserManager
from
vllm.entrypoints.utils
import
(
cli_env_setup
,
load_aware_call
,
with_cancellation
)
log_non_default_args
,
with_cancellation
)
from
vllm.logger
import
init_logger
from
vllm.reasoning
import
ReasoningParserManager
from
vllm.transformers_utils.config
import
(
...
...
vllm/entrypoints/openai/cli_args.py
View file @
2cc57119
...
...
@@ -255,15 +255,6 @@ def validate_parsed_serve_args(args: argparse.Namespace):
"--tool-call-parser"
)
def
log_non_default_args
(
args
:
argparse
.
Namespace
):
non_default_args
=
{}
parser
=
make_arg_parser
(
FlexibleArgumentParser
())
for
arg
,
default
in
vars
(
parser
.
parse_args
([])).
items
():
if
default
!=
getattr
(
args
,
arg
):
non_default_args
[
arg
]
=
getattr
(
args
,
arg
)
logger
.
info
(
"non-default args: %s"
,
non_default_args
)
def
create_parser_for_docs
()
->
FlexibleArgumentParser
:
parser_for_docs
=
FlexibleArgumentParser
(
prog
=
"-m vllm.entrypoints.openai.api_server"
)
...
...
vllm/entrypoints/utils.py
View file @
2cc57119
...
...
@@ -3,6 +3,7 @@
import
argparse
import
asyncio
import
dataclasses
import
functools
import
os
import
subprocess
...
...
@@ -13,10 +14,13 @@ from fastapi import Request
from
fastapi.responses
import
JSONResponse
,
StreamingResponse
from
starlette.background
import
BackgroundTask
,
BackgroundTasks
from
vllm.engine.arg_utils
import
EngineArgs
from
vllm.entrypoints.openai.cli_args
import
make_arg_parser
from
vllm.entrypoints.openai.protocol
import
(
ChatCompletionRequest
,
CompletionRequest
)
from
vllm.logger
import
init_logger
from
vllm.platforms
import
current_platform
from
vllm.utils
import
FlexibleArgumentParser
logger
=
init_logger
(
__name__
)
...
...
@@ -295,3 +299,28 @@ def get_max_tokens(max_model_len: int, request: Union[ChatCompletionRequest,
for
val
in
(
default_max_tokens
,
max_tokens
,
max_output_tokens
,
default_sampling_params
.
get
(
"max_tokens"
))
if
val
is
not
None
)
def
log_non_default_args
(
args
:
Union
[
argparse
.
Namespace
,
EngineArgs
]):
non_default_args
=
{}
# Handle argparse.Namespace
if
isinstance
(
args
,
argparse
.
Namespace
):
parser
=
make_arg_parser
(
FlexibleArgumentParser
())
for
arg
,
default
in
vars
(
parser
.
parse_args
([])).
items
():
if
default
!=
getattr
(
args
,
arg
):
non_default_args
[
arg
]
=
getattr
(
args
,
arg
)
# Handle EngineArgs instance
elif
isinstance
(
args
,
EngineArgs
):
default_args
=
EngineArgs
()
# Create default instance
for
field
in
dataclasses
.
fields
(
args
):
current_val
=
getattr
(
args
,
field
.
name
)
default_val
=
getattr
(
default_args
,
field
.
name
)
if
current_val
!=
default_val
:
non_default_args
[
field
.
name
]
=
current_val
else
:
raise
TypeError
(
"Unsupported argument type. "
\
"Must be argparse.Namespace or EngineArgs instance."
)
logger
.
info
(
"non-default args: %s"
,
non_default_args
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment