Skip to content

Commit 04220d2

Browse files
Jialin0xrushi
authored andcommitted
[ResponseAPI] Further polish message serialization and unit tests (vllm-project#26728)
Signed-off-by: Jialin Ouyang <[email protected]> Signed-off-by: 0xrushi <[email protected]>
1 parent 981f5ca commit 04220d2

File tree

3 files changed

+37
-32
lines changed

3 files changed

+37
-32
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
Message,
1313
)
1414

15-
from vllm.entrypoints.openai.protocol import serialize_message, serialize_messages
16-
1715
from ...utils import RemoteOpenAIServer
1816

1917
MODEL_NAME = "openai/gpt-oss-20b"
@@ -760,32 +758,3 @@ async def test_output_messages_enabled(client: OpenAI, model_name: str, server):
760758
assert response.status == "completed"
761759
assert len(response.input_messages) > 0
762760
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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2110,7 +2110,7 @@ def serialize_message(msg):
21102110
"""
21112111
if isinstance(msg, dict):
21122112
return msg
2113-
elif hasattr(msg, "__dict__"):
2113+
elif hasattr(msg, "to_dict"):
21142114
return msg.to_dict()
21152115
else:
21162116
# fallback to pyandic dump

0 commit comments

Comments
 (0)