mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-05-26 17:21:22 +08:00
[feature] add log non default args in LLM (#21680)
Signed-off-by: rongfu.leng <rongfu.leng@daocloud.io>
This commit is contained in:
parent
a4ed731546
commit
2cc571199b
@ -34,7 +34,8 @@ from vllm.entrypoints.score_utils import (ScoreContentPartParam,
|
|||||||
_cosine_similarity,
|
_cosine_similarity,
|
||||||
_validate_score_input_lens,
|
_validate_score_input_lens,
|
||||||
get_score_prompt)
|
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 import PromptType, SingletonPrompt, TextPrompt, TokensPrompt
|
||||||
from vllm.inputs.parse import parse_and_batch_prompt
|
from vllm.inputs.parse import parse_and_batch_prompt
|
||||||
from vllm.logger import init_logger
|
from vllm.logger import init_logger
|
||||||
@ -273,6 +274,8 @@ class LLM:
|
|||||||
**kwargs,
|
**kwargs,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
log_non_default_args(engine_args)
|
||||||
|
|
||||||
# Create the Engine (autoselects V0 vs V1)
|
# Create the Engine (autoselects V0 vs V1)
|
||||||
self.llm_engine = LLMEngine.from_engine_args(
|
self.llm_engine = LLMEngine.from_engine_args(
|
||||||
engine_args=engine_args, usage_context=UsageContext.LLM_CLASS)
|
engine_args=engine_args, usage_context=UsageContext.LLM_CLASS)
|
||||||
|
|||||||
@ -48,8 +48,7 @@ from vllm.entrypoints.chat_utils import (load_chat_template,
|
|||||||
resolve_mistral_chat_template)
|
resolve_mistral_chat_template)
|
||||||
from vllm.entrypoints.launcher import serve_http
|
from vllm.entrypoints.launcher import serve_http
|
||||||
from vllm.entrypoints.logger import RequestLogger
|
from vllm.entrypoints.logger import RequestLogger
|
||||||
from vllm.entrypoints.openai.cli_args import (log_non_default_args,
|
from vllm.entrypoints.openai.cli_args import (make_arg_parser,
|
||||||
make_arg_parser,
|
|
||||||
validate_parsed_serve_args)
|
validate_parsed_serve_args)
|
||||||
# yapf conflicts with isort for this block
|
# yapf conflicts with isort for this block
|
||||||
# yapf: disable
|
# yapf: disable
|
||||||
@ -94,7 +93,7 @@ from vllm.entrypoints.openai.serving_transcription import (
|
|||||||
OpenAIServingTranscription, OpenAIServingTranslation)
|
OpenAIServingTranscription, OpenAIServingTranslation)
|
||||||
from vllm.entrypoints.openai.tool_parsers import ToolParserManager
|
from vllm.entrypoints.openai.tool_parsers import ToolParserManager
|
||||||
from vllm.entrypoints.utils import (cli_env_setup, load_aware_call,
|
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.logger import init_logger
|
||||||
from vllm.reasoning import ReasoningParserManager
|
from vllm.reasoning import ReasoningParserManager
|
||||||
from vllm.transformers_utils.config import (
|
from vllm.transformers_utils.config import (
|
||||||
|
|||||||
@ -255,15 +255,6 @@ def validate_parsed_serve_args(args: argparse.Namespace):
|
|||||||
"--tool-call-parser")
|
"--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:
|
def create_parser_for_docs() -> FlexibleArgumentParser:
|
||||||
parser_for_docs = FlexibleArgumentParser(
|
parser_for_docs = FlexibleArgumentParser(
|
||||||
prog="-m vllm.entrypoints.openai.api_server")
|
prog="-m vllm.entrypoints.openai.api_server")
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import dataclasses
|
||||||
import functools
|
import functools
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
@ -13,10 +14,13 @@ from fastapi import Request
|
|||||||
from fastapi.responses import JSONResponse, StreamingResponse
|
from fastapi.responses import JSONResponse, StreamingResponse
|
||||||
from starlette.background import BackgroundTask, BackgroundTasks
|
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,
|
from vllm.entrypoints.openai.protocol import (ChatCompletionRequest,
|
||||||
CompletionRequest)
|
CompletionRequest)
|
||||||
from vllm.logger import init_logger
|
from vllm.logger import init_logger
|
||||||
from vllm.platforms import current_platform
|
from vllm.platforms import current_platform
|
||||||
|
from vllm.utils import FlexibleArgumentParser
|
||||||
|
|
||||||
logger = init_logger(__name__)
|
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,
|
for val in (default_max_tokens, max_tokens, max_output_tokens,
|
||||||
default_sampling_params.get("max_tokens"))
|
default_sampling_params.get("max_tokens"))
|
||||||
if val is not None)
|
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)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user