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