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 6, 13:15 UTC
[Build] Bump python openai version (#32316)
Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com>
Chauncey committed
Mar 18, 2026 at 18:20 UTC
b322b197f17c8164cff0d1e7346def9ffc41573c
5 files changed
+16
-19
requirements/common.txt
+1
-1
@@ -12,7 +12,7 @@ tokenizers >= 0.21.1 # Required for fast incremental detokenization.
12
protobuf >= 5.29.6, !=6.30.*, !=6.31.*, !=6.32.*, !=6.33.0.*, !=6.33.1.*, !=6.33.2.*, !=6.33.3.*, !=6.33.4.* # Required by LlamaTokenizer, gRPC. CVE-2026-0994
13
fastapi[standard] >= 0.115.0 # Required by FastAPI's form models in the OpenAI API server's audio transcriptions endpoint.
14
aiohttp >= 3.13.3
15
-openai >= 1.99.1, < 2.25.0 # For Responses API with reasoning content
15
+openai >= 2.0.0 # For Responses API with reasoning content
16
pydantic >= 2.12.0
17
prometheus_client >= 0.18.0
18
pillow # Required for image processing
tests/entrypoints/openai/responses/conftest.py
+1
-1
@@ -370,7 +370,7 @@ def log_response_diagnostics(
370
def default_server_args():
371
return [
372
"--max-model-len",
373
- "8192",
373
+ "18192",
374
"--enforce-eager", # For faster startup.
375
"--enable-auto-tool-choice",
376
"--structured-outputs-config.backend",
tests/entrypoints/openai/responses/test_function_call.py
+9
-6
@@ -118,7 +118,6 @@ async def test_function_tool_use(
118
tool_choice=tool_choice,
119
temperature=0.0,
120
)
121
-
121
assert len(response.output) >= 1
122
tool_call = None
123
reasoning = None
@@ -127,11 +126,15 @@ async def test_function_tool_use(
126
tool_call = out
127
if out.type == "reasoning":
128
reasoning = out
130
- assert tool_call is not None
131
- assert tool_call.type == "function_call"
132
- assert json.loads(tool_call.arguments) is not None
133
- assert reasoning is not None
134
- assert reasoning.type == "reasoning"
129
+ if response.incomplete_details is None:
130
+ assert tool_call is not None
131
+ assert tool_call.type == "function_call"
132
+ assert json.loads(tool_call.arguments) is not None
133
+ assert reasoning is not None
134
+ assert reasoning.type == "reasoning"
135
+ else:
136
+ print(response.model_dump_json(indent=2))
137
+ assert response.incomplete_details.reason == "max_output_tokens"
138
139
140
@pytest.mark.asyncio
vllm/entrypoints/openai/responses/protocol.py
+3
-9
@@ -27,6 +27,7 @@ from openai.types.responses import (
27
ResponseReasoningTextDeltaEvent,
28
ResponseReasoningTextDoneEvent,
29
ResponseStatus,
30
+ ResponseTextConfig,
31
ResponseWebSearchCallCompletedEvent,
32
ResponseWebSearchCallInProgressEvent,
33
ResponseWebSearchCallSearchingEvent,
@@ -38,20 +39,13 @@ from openai.types.responses import ResponseCreatedEvent as OpenAIResponseCreated
39
from openai.types.responses import (
40
ResponseInProgressEvent as OpenAIResponseInProgressEvent,
41
)
41
-from openai.types.responses.tool import Tool
42
-from openai_harmony import Message as OpenAIHarmonyMessage
43
-
44
-# Backward compatibility for OpenAI client versions
45
-try: # For older openai versions (< 1.100.0)
46
- from openai.types.responses import ResponseTextConfig
47
-except ImportError: # For newer openai versions (>= 1.100.0)
48
- from openai.types.responses import ResponseFormatTextConfig as ResponseTextConfig
49
-
42
from openai.types.responses.response import IncompleteDetails, ToolChoice
43
from openai.types.responses.response_reasoning_item import (
44
Content as ResponseReasoningTextContent,
45
)
46
+from openai.types.responses.tool import Tool
47
from openai.types.shared import Metadata, Reasoning
48
+from openai_harmony import Message as OpenAIHarmonyMessage
49
from pydantic import (
50
Field,
51
ValidationError,
vllm/tool_parsers/abstract_tool_parser.py
+2
-2
@@ -6,8 +6,9 @@ import os
6
from collections.abc import Callable, Sequence
7
from functools import cached_property
8
9
-from openai.types.responses.response_format_text_json_schema_config import (
9
+from openai.types.responses import (
10
ResponseFormatTextJSONSchemaConfig,
11
+ ResponseTextConfig,
12
)
13
14
from vllm.entrypoints.openai.chat_completion.protocol import ChatCompletionRequest
@@ -17,7 +18,6 @@ from vllm.entrypoints.openai.engine.protocol import (
18
)
19
from vllm.entrypoints.openai.responses.protocol import (
20
ResponsesRequest,
20
- ResponseTextConfig,
21
)
22
from vllm.logger import init_logger
23
from vllm.sampling_params import (