@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 35bc22f23c
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

[ResponseAPI] Further polish message serialization and unit tests (#26728)

Signed-off-by: Jialin Ouyang <Jialin.Ouyang@gmail.com>

Jialin Ouyang committed Oct 13, 2025 at 16:31 UTC 35bc22f23ce3fcd9c57f318836ec102f7c85647a
3 files changed +37 -32
tests/entrypoints/openai/test_protocol.py new
+36
@@ -0,0 +1,36 @@
1 +# SPDX-License-Identifier: Apache-2.0
2 +# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3 +from openai_harmony import (
4 + Message,
5 +)
6 +
7 +from vllm.entrypoints.openai.protocol import serialize_message, serialize_messages
8 +
9 +
10 +def test_serialize_message() -> None:
11 + dict_value = {"a": 1, "b": "2"}
12 + assert serialize_message(dict_value) == dict_value
13 +
14 + msg_value = {
15 + "role": "assistant",
16 + "name": None,
17 + "content": [{"type": "text", "text": "Test 1"}],
18 + "channel": "analysis",
19 + }
20 + msg = Message.from_dict(msg_value)
21 + assert serialize_message(msg) == msg_value
22 +
23 +
24 +def test_serialize_messages() -> None:
25 + assert serialize_messages(None) is None
26 + assert serialize_messages([]) is None
27 +
28 + dict_value = {"a": 3, "b": "4"}
29 + msg_value = {
30 + "role": "assistant",
31 + "name": None,
32 + "content": [{"type": "text", "text": "Test 2"}],
33 + "channel": "analysis",
34 + }
35 + msg = Message.from_dict(msg_value)
36 + assert serialize_messages([msg, dict_value]) == [msg_value, dict_value]
tests/entrypoints/openai/test_response_api_with_harmony.py
-31
@@ -12,8 +12,6 @@ from openai_harmony import (
12 Message,
13 )
14
15 -from vllm.entrypoints.openai.protocol import serialize_message, serialize_messages
16 -
15 from ...utils import RemoteOpenAIServer
16
17 MODEL_NAME = "openai/gpt-oss-20b"
@@ -760,32 +758,3 @@ async def test_output_messages_enabled(client: OpenAI, model_name: str, server):
758 assert response.status == "completed"
759 assert len(response.input_messages) > 0
760 assert len(response.output_messages) > 0
763 -
764 -
765 -def test_serialize_message() -> None:
766 - dict_value = {"a": 1, "b": "2"}
767 - assert serialize_message(dict_value) == dict_value
768 -
769 - msg_value = {
770 - "role": "assistant",
771 - "name": None,
772 - "content": [{"type": "text", "text": "Test 1"}],
773 - "channel": "analysis",
774 - }
775 - msg = Message.from_dict(msg_value)
776 - assert serialize_message(msg) == msg_value
777 -
778 -
779 -def test_serialize_messages() -> None:
780 - assert serialize_messages(None) is None
781 - assert serialize_messages([]) is None
782 -
783 - dict_value = {"a": 3, "b": "4"}
784 - msg_value = {
785 - "role": "assistant",
786 - "name": None,
787 - "content": [{"type": "text", "text": "Test 2"}],
788 - "channel": "analysis",
789 - }
790 - msg = Message.from_dict(msg_value)
791 - assert serialize_messages([msg, dict_value]) == [msg_value, dict_value]
vllm/entrypoints/openai/protocol.py
+1 -1
@@ -2110,7 +2110,7 @@ def serialize_message(msg):
2110 """
2111 if isinstance(msg, dict):
2112 return msg
2113 - elif hasattr(msg, "__dict__"):
2113 + elif hasattr(msg, "to_dict"):
2114 return msg.to_dict()
2115 else:
2116 # fallback to pyandic dump