Skip to content

Commit 2c6e4bf

Browse files
committed
fix: warn when engine_args in OpenAIServerConfig are ignored
Add a runtime warning when users pass engine-initialization-only arguments (max_logprobs, gpu_memory_utilization, tensor_parallel_size, max_model_len) via OpenAIServerConfig.engine_args. These arguments are silently ignored because the vLLM engine is initialized by Unsloth before OpenAIServerConfig is applied. The warning guides users to use TrainableModel._internal_config instead.
1 parent a0ae38a commit 2c6e4bf

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/art/dev/openai_server.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
1+
import warnings
12
from typing import Literal
23

34
from typing_extensions import TypedDict
45

56
from .engine import EngineArgs
67

8+
ENGINE_INIT_ONLY_ARGS = {
9+
"max_logprobs",
10+
"gpu_memory_utilization",
11+
"tensor_parallel_size",
12+
"max_model_len",
13+
}
14+
715

816
def get_openai_server_config(
917
model_name: str,
@@ -35,6 +43,16 @@ def get_openai_server_config(
3543
generation_config="vllm",
3644
)
3745
engine_args.update(config.get("engine_args", {}))
46+
user_engine_args = config.get("engine_args", {})
47+
ignored_args = set(user_engine_args.keys()) & ENGINE_INIT_ONLY_ARGS
48+
if ignored_args:
49+
warnings.warn(
50+
f"OpenAIServerConfig.engine_args contains {ignored_args} which will be "
51+
f"ignored. The vLLM engine is initialized by Unsloth before this config "
52+
f"is applied. Use TrainableModel._internal_config.engine_args instead.",
53+
UserWarning,
54+
stacklevel=2,
55+
)
3856
return OpenAIServerConfig(
3957
log_file=log_file, server_args=server_args, engine_args=engine_args
4058
)

0 commit comments

Comments
 (0)