add tool_choice=auto nightly test case (#18302)
This commit is contained in:
@@ -16,6 +16,7 @@ from sglang.test.test_utils import (
|
|||||||
@dataclass
|
@dataclass
|
||||||
class ToolCallTestParams:
|
class ToolCallTestParams:
|
||||||
test_basic: bool = True
|
test_basic: bool = True
|
||||||
|
test_auto: bool = True
|
||||||
test_streaming: bool = True
|
test_streaming: bool = True
|
||||||
test_required: bool = True
|
test_required: bool = True
|
||||||
test_none: bool = True
|
test_none: bool = True
|
||||||
@@ -104,6 +105,15 @@ def _test_basic_format(client, model):
|
|||||||
assert response.choices[0].finish_reason == "tool_calls"
|
assert response.choices[0].finish_reason == "tool_calls"
|
||||||
|
|
||||||
|
|
||||||
|
def _test_auto(client, model):
|
||||||
|
"""tool_choice=auto should populate tool_calls, not content (#17942)."""
|
||||||
|
response = _call(client, model, "Compute 3 + 5", tool_choice="auto")
|
||||||
|
msg = response.choices[0].message
|
||||||
|
assert msg.tool_calls and len(msg.tool_calls) > 0
|
||||||
|
assert not msg.content, f"content should be empty, got: {msg.content}"
|
||||||
|
assert response.choices[0].finish_reason == "tool_calls"
|
||||||
|
|
||||||
|
|
||||||
def _test_streaming(client, model):
|
def _test_streaming(client, model):
|
||||||
"""Streaming chunks should concatenate to valid JSON."""
|
"""Streaming chunks should concatenate to valid JSON."""
|
||||||
response = _call(client, model, "Compute 5 + 7", stream=True)
|
response = _call(client, model, "Compute 5 + 7", stream=True)
|
||||||
@@ -294,6 +304,7 @@ def _test_streaming_parallel(client, model):
|
|||||||
|
|
||||||
_TESTS = [
|
_TESTS = [
|
||||||
("basic_format", _test_basic_format, "test_basic"),
|
("basic_format", _test_basic_format, "test_basic"),
|
||||||
|
("auto", _test_auto, "test_auto"),
|
||||||
("streaming", _test_streaming, "test_streaming"),
|
("streaming", _test_streaming, "test_streaming"),
|
||||||
("required", _test_required, "test_required"),
|
("required", _test_required, "test_required"),
|
||||||
("none", _test_none, "test_none"),
|
("none", _test_none, "test_none"),
|
||||||
|
|||||||
Reference in New Issue
Block a user