Skip to content

Commit e214888

Browse files
authored
support do_preprocess=False for chat.completions (#3645)
1 parent 5c912cc commit e214888

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

lmdeploy/serve/openai/api_server.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ async def chat_completions_v1(raw_request: Request = None):
419419
]
420420
else:
421421
tools = [item.function.model_dump() for item in request.tools]
422+
# text completion for string input
423+
do_preprocess = False if isinstance(request.messages, str) else request.do_preprocess
422424
result_generator = VariableInterface.async_engine.generate(
423425
request.messages,
424426
request.session_id,
@@ -427,7 +429,7 @@ async def chat_completions_v1(raw_request: Request = None):
427429
stream_response=True, # always use stream to enable batching
428430
sequence_start=True,
429431
sequence_end=True,
430-
do_preprocess=not isinstance(request.messages, str), # text completion for string input
432+
do_preprocess=do_preprocess,
431433
adapter_name=adapter_name,
432434
enable_thinking=request.enable_thinking,
433435
)

lmdeploy/serve/openai/protocol.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ class ChatCompletionRequest(BaseModel):
127127
user: Optional[str] = None
128128
response_format: Optional[ResponseFormat] = Field(default=None, examples=[None]) # noqa
129129
# additional argument of lmdeploy
130+
do_preprocess: Optional[bool] = True
130131
repetition_penalty: Optional[float] = 1.0
131132
session_id: Optional[int] = -1
132133
ignore_eos: Optional[bool] = False

0 commit comments

Comments
 (0)