From d4aa65c9980fb9287bfc2567a3b0c3efaae68255 Mon Sep 17 00:00:00 2001 From: Vico Chu <30412827+vicoooo26@users.noreply.github.com> Date: Fri, 7 Nov 2025 03:09:19 +0800 Subject: [PATCH] [Chore] eliminate duplicated and unconditional object serialization in anthropic messages api (#27792) Signed-off-by: Vico Chu --- vllm/entrypoints/anthropic/serving_messages.py | 6 ++++-- vllm/entrypoints/openai/api_server.py | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/vllm/entrypoints/anthropic/serving_messages.py b/vllm/entrypoints/anthropic/serving_messages.py index 11c96adf332f..340dabf0e711 100644 --- a/vllm/entrypoints/anthropic/serving_messages.py +++ b/vllm/entrypoints/anthropic/serving_messages.py @@ -231,9 +231,11 @@ class AnthropicServingMessages(OpenAIServingChat): See https://docs.anthropic.com/en/api/messages for the API specification. This API mimics the Anthropic messages API. """ - logger.debug("Received messages request %s", request.model_dump_json()) + if logger.isEnabledFor(logging.DEBUG): + logger.debug("Received messages request %s", request.model_dump_json()) chat_req = self._convert_anthropic_to_openai_request(request) - logger.debug("Convert to OpenAI request %s", request.model_dump_json()) + if logger.isEnabledFor(logging.DEBUG): + logger.debug("Convert to OpenAI request %s", chat_req.model_dump_json()) generator = await self.create_chat_completion(chat_req, raw_request) if isinstance(generator, ErrorResponse): diff --git a/vllm/entrypoints/openai/api_server.py b/vllm/entrypoints/openai/api_server.py index aba961ac6919..cd55993ae4ba 100644 --- a/vllm/entrypoints/openai/api_server.py +++ b/vllm/entrypoints/openai/api_server.py @@ -648,10 +648,9 @@ async def create_messages(request: AnthropicMessagesRequest, raw_request: Reques return translate_error_response(generator) elif isinstance(generator, AnthropicMessagesResponse): - logger.debug( - "Anthropic Messages Response: %s", generator.model_dump(exclude_none=True) - ) - return JSONResponse(content=generator.model_dump(exclude_none=True)) + resp = generator.model_dump(exclude_none=True) + logger.debug("Anthropic Messages Response: %s", resp) + return JSONResponse(content=resp) return StreamingResponse(content=generator, media_type="text/event-stream")