mirror of
https://git.datalinker.icu/vllm-project/vllm.git
synced 2026-05-27 11:34:25 +08:00
[ResponseAPI] Further polish message serialization and unit tests (#26728)
Signed-off-by: Jialin Ouyang <Jialin.Ouyang@gmail.com>
This commit is contained in:
parent
fa96fb9c70
commit
35bc22f23c
36
tests/entrypoints/openai/test_protocol.py
Normal file
36
tests/entrypoints/openai/test_protocol.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
||||||
|
from openai_harmony import (
|
||||||
|
Message,
|
||||||
|
)
|
||||||
|
|
||||||
|
from vllm.entrypoints.openai.protocol import serialize_message, serialize_messages
|
||||||
|
|
||||||
|
|
||||||
|
def test_serialize_message() -> None:
|
||||||
|
dict_value = {"a": 1, "b": "2"}
|
||||||
|
assert serialize_message(dict_value) == dict_value
|
||||||
|
|
||||||
|
msg_value = {
|
||||||
|
"role": "assistant",
|
||||||
|
"name": None,
|
||||||
|
"content": [{"type": "text", "text": "Test 1"}],
|
||||||
|
"channel": "analysis",
|
||||||
|
}
|
||||||
|
msg = Message.from_dict(msg_value)
|
||||||
|
assert serialize_message(msg) == msg_value
|
||||||
|
|
||||||
|
|
||||||
|
def test_serialize_messages() -> None:
|
||||||
|
assert serialize_messages(None) is None
|
||||||
|
assert serialize_messages([]) is None
|
||||||
|
|
||||||
|
dict_value = {"a": 3, "b": "4"}
|
||||||
|
msg_value = {
|
||||||
|
"role": "assistant",
|
||||||
|
"name": None,
|
||||||
|
"content": [{"type": "text", "text": "Test 2"}],
|
||||||
|
"channel": "analysis",
|
||||||
|
}
|
||||||
|
msg = Message.from_dict(msg_value)
|
||||||
|
assert serialize_messages([msg, dict_value]) == [msg_value, dict_value]
|
||||||
@ -12,8 +12,6 @@ from openai_harmony import (
|
|||||||
Message,
|
Message,
|
||||||
)
|
)
|
||||||
|
|
||||||
from vllm.entrypoints.openai.protocol import serialize_message, serialize_messages
|
|
||||||
|
|
||||||
from ...utils import RemoteOpenAIServer
|
from ...utils import RemoteOpenAIServer
|
||||||
|
|
||||||
MODEL_NAME = "openai/gpt-oss-20b"
|
MODEL_NAME = "openai/gpt-oss-20b"
|
||||||
@ -760,32 +758,3 @@ async def test_output_messages_enabled(client: OpenAI, model_name: str, server):
|
|||||||
assert response.status == "completed"
|
assert response.status == "completed"
|
||||||
assert len(response.input_messages) > 0
|
assert len(response.input_messages) > 0
|
||||||
assert len(response.output_messages) > 0
|
assert len(response.output_messages) > 0
|
||||||
|
|
||||||
|
|
||||||
def test_serialize_message() -> None:
|
|
||||||
dict_value = {"a": 1, "b": "2"}
|
|
||||||
assert serialize_message(dict_value) == dict_value
|
|
||||||
|
|
||||||
msg_value = {
|
|
||||||
"role": "assistant",
|
|
||||||
"name": None,
|
|
||||||
"content": [{"type": "text", "text": "Test 1"}],
|
|
||||||
"channel": "analysis",
|
|
||||||
}
|
|
||||||
msg = Message.from_dict(msg_value)
|
|
||||||
assert serialize_message(msg) == msg_value
|
|
||||||
|
|
||||||
|
|
||||||
def test_serialize_messages() -> None:
|
|
||||||
assert serialize_messages(None) is None
|
|
||||||
assert serialize_messages([]) is None
|
|
||||||
|
|
||||||
dict_value = {"a": 3, "b": "4"}
|
|
||||||
msg_value = {
|
|
||||||
"role": "assistant",
|
|
||||||
"name": None,
|
|
||||||
"content": [{"type": "text", "text": "Test 2"}],
|
|
||||||
"channel": "analysis",
|
|
||||||
}
|
|
||||||
msg = Message.from_dict(msg_value)
|
|
||||||
assert serialize_messages([msg, dict_value]) == [msg_value, dict_value]
|
|
||||||
|
|||||||
@ -2110,7 +2110,7 @@ def serialize_message(msg):
|
|||||||
"""
|
"""
|
||||||
if isinstance(msg, dict):
|
if isinstance(msg, dict):
|
||||||
return msg
|
return msg
|
||||||
elif hasattr(msg, "__dict__"):
|
elif hasattr(msg, "to_dict"):
|
||||||
return msg.to_dict()
|
return msg.to_dict()
|
||||||
else:
|
else:
|
||||||
# fallback to pyandic dump
|
# fallback to pyandic dump
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user